US20100138883A1 - Method and apparatus for correcting corrupted digital video transport streams - Google Patents

Method and apparatus for correcting corrupted digital video transport streams Download PDF

Info

Publication number
US20100138883A1
US20100138883A1 US12/698,951 US69895110A US2010138883A1 US 20100138883 A1 US20100138883 A1 US 20100138883A1 US 69895110 A US69895110 A US 69895110A US 2010138883 A1 US2010138883 A1 US 2010138883A1
Authority
US
United States
Prior art keywords
vod
transport stream
video
sessions
over
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/698,951
Inventor
Leo Mark Pedlow, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Electronics Inc
Original Assignee
Sony Corp
Sony Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Electronics Inc filed Critical Sony Corp
Priority to US12/698,951 priority Critical patent/US20100138883A1/en
Publication of US20100138883A1 publication Critical patent/US20100138883A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure

Definitions

  • the present invention relates generally to television systems, and specifically, to a method and apparatus for correcting corrupted digital video transport streams using a constant minimum bandwidth allocation, randomized null packet payloads, and/or framing validity technique.
  • VOD video on demand
  • VOD is a service that is offered by, for example, cable companies which allows customers, for a fee, to order and view movies or other programming at any time, typically by using the consumer's set top box.
  • VOD thus offers flexibility by allowing the user to decide when to watch VOD programs.
  • VOD offers a further advantage of allowing the user to pause the VOD program when the user is interrupted by a telephone call, doorbell, etc.
  • VOD service may occasionally cause reception problems.
  • VOD program When a VOD program is selected for download to a client receiver, the video services received and decoded may be obscured by artifacts. The degree of obscuration may be total yielding the program content unwatchable.
  • the problem is most prevalent when only a single session is being supported by the system on an RF channel and virtually guaranteed to occur when that single session has been paused and the customer temporarily tunes away. The problem occurs immediately after channel change to the VOD transport stream.
  • a digital video system includes a headend that is coupled to a plurality of receivers over a transmission channel.
  • a client at each receiver is capable of subscribing to one or more video sessions.
  • the headend includes a video server and a control server that is coupled to the video server.
  • the video server can transmit one or more video sessions to one or more receivers over a transport stream.
  • the control server can dynamically allocate and terminate video sessions over the transport stream as video clients are added and terminated.
  • the control server can also cause the video server to transmit one or more dummy sessions over the transport stream to maintain a minimum bandwidth of content over the transport stream.
  • a digital video method in another embodiment, includes receiving requests from one or more clients for one or more VOD sessions, transmitting one or more video sessions to the one or more clients over a transport stream having a constant bit rate, and transmitting one or more null packets, as necessary, to maintain the constant bit rate over the transport stream.
  • the one or more null packets include a randomized payload.
  • FIG. 1 illustrates a block diagram of a digital video system, according to one embodiment.
  • FIG. 2 illustrates an exemplary block diagram of a receiver.
  • FIG. 3 shows ambiguous packet start locations.
  • FIG. 4 illustrates an exemplary block diagram of a video-on-demand (VOD) system suitable for implementing one or more embodiments.
  • VOD video-on-demand
  • FIG. 5 illustrates another exemplary block diagram of a VOD system suitable for implementation with one or more embodiments.
  • a “transmission channel” is broadly defined as any communication path between a source and a destination.
  • the communication path may include one or more information-carrying lines (electrical wire, fiber optics, cable, HFC, etc.) or wireless communications through established techniques such as infrared (IR), radio frequency (RF), satellite, etc.
  • IR infrared
  • RF radio frequency
  • FIG. 1 illustrates a block diagram of a digital video system 100 , according to one embodiment.
  • the transmission format of television signals in the system 100 is specified, in one embodiment, by the Digital Multi-Programme Systems for Television, Sound and Data Services for Cable Distribution, ITU-T Recommendation J.83, annex “B”, April 1997 (hereinafter referred to as “ITU-J.83, annex B”).
  • ITU-J.83, annex B The entire contents of ITU-T Recommendation J.83 including Annexes A, B, C, and D are incorporated herein by reference.
  • VOD video-on-demand
  • the present invention is not limited to VOD systems. That is, embodiments of the present invention may be implemented in digital cable systems, digital broadcast satellite (DBS) systems, high definition television (HDTV) systems, and any other digital video system based on an MPEG transport format.
  • DBS digital broadcast satellite
  • HDTV high definition television
  • the system 100 includes a headend 110 coupled to a receiver 140 over a transmission channel 130 .
  • the headend 110 may be operated and/or controlled by a broadcaster.
  • the headend includes a video-on-demand (VOD) control server (not shown), one or more VOD servers 112 1 - 112 N (where “N” is a positive whole number), a multiplexer (mux) 116 , and transmitter 120 .
  • VOD video-on-demand
  • Each VOD server 112 may generate one or more VOD programs (or VOD streams).
  • the output(s) of the VOD servers 112 1 - 112 N are coupled to the mux 116 , which multiplexes the VOD streams at its input(s) onto an MPEG-2 transport stream (or other MPEG version transport stream) on signal line 118 .
  • the mux 118 is controlled by the VOD control server via signal line(s) 128 .
  • the MPEG-2 transport stream on signal line 118 includes packets of data having 188 bytes.
  • the MPEG-2 transport stream on signal line 118 is fed to an MPEG framing block 122 , which organizes data into groups of fixed symbols, to provide packet synchronization for the receiver.
  • the MPEG framing block 122 provides the frames to a Forward Error Correction (FEC) encoder 124 .
  • the FEC encoder 124 uses error correction algorithms and techniques for transporting data reliably over the transmission channel 130 .
  • the FEC encoder 124 includes a Reed-Solomon encoder 152 , interleaver 154 , randomizer 156 , and trellis encoder 158 , whereas the FEC decoder 144 includes a trellis decoder 160 , de-randomizer 162 , de-interleaver 164 , and Reed-Solomon decoder 156 .
  • the Reed-Solomon encoder 152 provides block encoding for correcting symbols within Reed-Solomon blocks.
  • the interleaver 154 evenly disperses symbols to prevent a burst of symbol errors from being transmitted to a Reed-Solomon decoder.
  • the randomizer 156 randomizes the data to allow effective quadrature amplitude modulation (QAM) demodulator synchronization.
  • the trellis encoder 158 allows the introduction of redundancy to improve the threshold signal to noise ratio.
  • the transmitter 120 further includes a QAM modulator 126 which modulates the television signals.
  • the receiver 140 includes a QAM demodulator 142 , FEC decoder 144 , and MPEG framing 146 .
  • the output of the MPEG framing block 146 is an MPEG-2 transport stream on signal line 148 .
  • FIG. 2 illustrates an exemplary block diagram of a receiver 200 .
  • the receiver 200 receives broadcast signals and performs operations on the broadcast signal to produce digital and/or analog information.
  • the receiver 200 is responsible for decoding the bit stream, for storing programming data in memory accessible by software executed by the receiver 200 , and for processing the decoded bit stream to produce one or more output signals having appropriate formats.
  • the receiver 200 may be incorporated into many systems such as a cable box for a Cable Broadcasting System, an Internet terminal, a digital satellite system (DSS) computer, and the like.
  • DSS digital satellite system
  • the receiver 200 includes a diplexer 210 which receives the broadcast signals transmitted from the transmitter 110 over the transmission channel 120 .
  • the diplexer 210 forwards the broadcast signals to both an in-band (IB) tuner 212 and an out of band (OOB) tuner 214 .
  • the IB tuner 212 tunes the in-band broadcast signals (e.g., audio and/or video) to a desired broadcast channel.
  • the OOB tuner 214 tunes to a private data channel which includes information for billing, encryption, and, in general, remote management of the receiver 200 .
  • Both the audio/video signals and the private data signals are transmitted to a modulator/demodulator (MOD/DEMOD) 220 , which performs, among other things, the functions of the QAM demodulator 142 , FEC decoder 144 , and MPEG framing 146 ( FIG. 1 ).
  • the MOD/DEMOD 220 converts the analog media signals to digital data and reformats the digital data to an appropriate format to provide a digital media stream (e.g., MPEG-2 transport stream).
  • the bit stream is formatted in accordance with any video compression function and may be encrypted under either a symmetric key cryptographic function or a public-key cryptographic function.
  • the bit stream includes sensory data (e.g., video and/or audio, or communication data) and control information for a number of shows.
  • the control information for each show includes programming data including, but not limited or restricted to, date of broadcast, broadcast channel number, show start-time, show end-time, show title, show type (e.g., sports, news, etc.), etc.
  • the MOD/DEMOD 220 also converts the private signals to private digital data.
  • the MOD/DEMOD 220 then forwards the digital media stream and the digital private data to a transport demultiplexer (demux) and graphics block 228 on signal lines 222 and 224 , respectively.
  • the transport demux 228 extracts the desired audio/video (media) stream intended for the receiver 200 , if any, and forwards the media stream to an MPEG decoder 232 via signal line 230 .
  • the transport demux 228 may also perform decryption of the filtered and/or demultiplexed stream.
  • the MPEG decoder 232 decodes the filtered and decrypted stream into its native decompressed audio and video format (e.g., 4:4:4 or 4:2:2 digital video and pulse code modulation “PCM” audio).
  • the MPEG decoder 232 transmits the digital audio to an audio digital to analog converter (DAC) 240 via signal line 236 .
  • the audio DAC 240 converts the digital audio stream to analog signals, and transmits the same to an analog switch 244 .
  • the MPEG decoder 232 also transmits the digital video stream (e.g., in accordance with the CCIR 656 format) back to the graphics section of the transport demux 228 on signal line 234 .
  • the graphics section of the transport demux 228 performs rendering, compositing, superposition of graphics (e.g., menus, icons, etc.) on the video, and other graphics processing. It is to be noted that although the graphics processing hardware is combined with the transport demux hardware in one device (i.e., device 228 ), the graphics processing hardware may be implemented in a separate stand alone device.
  • the IB tuner 212 also provides the traditional television signals to a demodulator 250 .
  • the format of the television signals may be in accordance with a video format established by National Television Systems Committee (NTSC). In other embodiments, the format may be in accordance with Phase Alternating Line (PAL), Sequential Couleur Avec Memoire (SECAM), etc.
  • the demodulator 250 demodulates the analog signal and provides audio signals to a digital attenuator 254 and the video signals to a NTSC decoder and ADC 252 .
  • the digital attenuator 254 attenuates the audio signal and provides the same to the analog switch 244 .
  • the NTSC decoder and ADC 252 decodes the NTSC signals, converts the decoded signals to a digital video stream in a specified format (e.g., CCIR 656 format), and transmits the same to the graphics portion of the transport demux 228 on signal line 256 .
  • a specified format e.g., CCIR 656 format
  • the receiver 200 also includes a central processing unit (CPU) 260 which may include a microprocessor, microcontroller, ASIC, etc.
  • the CPU 260 is coupled to a volatile memory 264 and non-volatile memory 266 , via a bus bridge 262 .
  • the volatile memory 264 may include a random access memory (RAM) and the non-volatile memory 266 may include read-only memory (ROM), flash memory, etc.
  • the non-volatile memory 266 includes interrupt service routines, menus, event data, programming data, software modules and routines, etc. for execution by the CPU 260 to control the operation of the receiver 200 .
  • the CPU 260 is coupled to an interface circuit 268 which interfaces with the devices (e.g., MOD/DEMOD 220 , transport demux 228 , MPEG decoder 232 , etc) over a system bus 272 , allowing the CPU 260 to control the devices, check status, etc.
  • the devices e.g., MOD/DEMOD 220 , transport demux 228 , MPEG decoder 232 , etc.
  • the receiver 200 further comprises a front panel 270 which includes a display, and keys or switches for receiving user inputs or commands.
  • the display may include a seven-segment, LCD, or other display for displaying the channel number, time, and/or other information such as an event scheduled or programmed in a menu.
  • the front panel 270 also receives commands from a remote controller (not shown), and decodes the commands to produce interrupt request signals (IRQs) corresponding to the commands. Each IRQ may be transferred to the CPU 260 .
  • IRQs interrupt request signals
  • the interface 268 may be connected to other external peripheral devices.
  • the interface may include circuitry which complies with the IEEE standards document 1394 entitled “Standard for High Performance Serial Bus” (hereinafter referred to as “IEEE 1394”). This enables the receiver 200 to connect to digital-input peripheral devices such as digital VCRs, digital video disk players, digital laser disk players and the like.
  • the graphics portion of the transport demux 228 transmits the traditional digital video signals (from the NTSC decoder and ADC 252 ) or the digital video signals (from the MPEG decoder 232 ) to a video encoder 242 over signal line 238 , based on user input and CPU 260 .
  • the graphics portion of the transport demux 228 may receive data representative of menus from the CPU 260 , and overlay or otherwise blend the menus with the digital signal.
  • the video encoder 242 converts the digital video signal to analog form on the Video Out signal line.
  • the Video Out and Audio Out signal lines of the receiver 200 are coupled to at least one analog-input peripheral device such as a display monitor (e.g., a television receiver having a display screen) and/or a recording device (e.g., a video cassette recorder “VCR”).
  • a display monitor e.g., a television receiver having a display screen
  • a recording device e.g., a video cassette recorder “VCR”.
  • the ITU-J.38 annex B specifies two distinct and concurrent types of data synchronization in the system 100 . These include FEC synchronization and MPEG frame synchronization. FEC synchronization is independent of the packet size and is performed by the transport demux 228 on the incoming stream of symbols from the QAM demodulator of the MOD/DEMOD 220 .
  • the frame size for the FEC frame in 256 QAM modulation format is 11,264 symbols (7 bits per symbol) followed by a 40 bit sync word (“trailer”). This structure is used for establishing the correct starting point of a data sequence for the FEC decoder (derandomizer, deinterleaver, and Reed-Solomon decoder).
  • the second type of synchronization is MPEG synchronization, performed by the MPEG decoder 232 , which provides 188 byte packet framing compliant with the MPEG2 transport standard, as defined by Generic Coding of Moving Pictures and Associated Audio Information: Systems (ISO/IEC 13818-1:1996).
  • the FEC synchronization process is relatively robust with a 2E-10 probability of finding a data sequence that mimics the sync trailer exactly.
  • the probability is reduced further because the FEC frame is further subdivided into blocks of data (122 symbols) with 6 additional parity symbols added per block.
  • a FEC frame of 11,264 symbols includes 88 blocks (128 symbols per block).
  • a count of 88 blocks and a 40 bit frame sync trailer with its characteristic signature would have to be received to truly qualify as a valid frame. Consequently, the chances of false FEC synchronization are remote.
  • the fact that FEC synchronization also transcends packet boundaries further adds to the robustness of the FEC frame protocol.
  • MPEG frame synchronization may, in certain situations, cause unrecoverable synchronization errors.
  • MPEG frame synchronization uses a sliding checksum on a bit-by-bit basis to find the start of an MPEG 188 byte packet. The synchronization process involves evaluating the sum of the previous 1496 received bits (187 bytes) and comparing it to the current received byte (byte 188 ). If the sum of the 187 bytes matches the checksum of the 188 th byte, the MPEG decoder 232 records the match and confirms that the sum calculated over the next 1496 bits (187 bytes) matches the value of the 188 th byte.
  • the system keeps statistics regarding how many consecutive matches were obtained over the total number of packets (bytes) evaluated and a threshold can be set to establish a framing “lock” condition.
  • This process has a 1/256 (or 0.4%) chance of yielding a false match on any single 188 byte sample of data.
  • the probabilities of multiple false matches are reduced by the fact that the preceding FEC process is assumed to yield data free of errors due to channel noise and that MPEG data itself has a vary random distribution.
  • the chance of seeing a false checksum match on consecutive packets becomes more improbable as the threshold for matches is increased. If one considers the probability of a random match on the checksum of four consecutive packets, the probability becomes about 2E-10.
  • the correct operation of the MPEG synchronization process is based upon the paradigm that compressed audio and/or video data has a random appearing distribution and that the data payloads of consecutive packets are never repeated.
  • This paradigm is quite valid in high bandwidth video or when statistical multiplexing algorithms are employed on a transport stream to maximize bandwidth utilization of the channel.
  • VOD constant bit rate
  • the RF channels are dynamically allocated to clients and as new clients are added, new RF channels are instantiated, and packet identifiers (PIDs) assigned and allocated on a first-come, first-serve basis.
  • PIDs packet identifiers
  • the headend 110 inserts stuffing packets (null packets) implemented as an optional null packet generator 114 (shown by dashed lines) that is input to the mux 116 , embedded inside the mux 116 , or embedded inside the transmitter 120 (e.g., at the QAM modulator 118 ).
  • the MPEG transport specification Generic Coding of Moving Pictures and Associated Audio Information: Systems (ISO/IEC 13818-1:1996)) defines a unique PID for the purpose of null packets and assigns the ID “0x1FFF” for a null packet.
  • the MPEG standard specifically indicates that the data payload for a null packet may be any value. Typically, the payload bytes are set to 0xFF and it has been said that this is an implementation side effect of an MPEG requirement that the padding bytes used in section data be 0xFF.
  • the MPEG framing checksum is actually a linear block code and is designed such that when data is correctly recovered the resultant syndrome byte (from the CRC checksum) is equal to 0x47, the traditional MPEG2 synchronization byte value. Because the checksum is based upon a linear feedback shift register, the actual algorithm employed will result in six discrete points (phases) when a consecutive sequence of null packets with a payload of 0xFF are processed as points of MPEG frame synchronization, as illustrated in FIG. 3 . However, only one point provides the correct MPEG frame synchronization. The other five points are ambiguous and while satisfying the mathematical criteria for the checksum, do not align with the correct MPEG2 transport packet boundary.
  • An additional parameter that may come into play to further compound the MPEG frame synchronization is the type of multiplexer used. Evaluations of certain multiplexers show that there may be a direct correlation between the onset of the synchronization problem and the brand of multiplexer. Further investigation has indicated that the reason for this is due to the algorithm used in the multiplexer itself when creating the MPEG transport stream. The MPEG specification is not clear on how data is multiplexed regarding packet distribution. In at least one type of multiplexer algorithm, data is placed in the transport stream in bursts as opposed to placing date in the transport stream in a uniform and homogeneous distribution. When data is not evenly distributed, the concentration of null packets is locally increased due to the burst nature of the multiplexer algorithm. Consequently, the type of multiplexer algorithm used may exasperate the synchronization problem, making the number of repeated null packets appear to be greater than is actual and therefore reduce the threshold to the onset of the problem.
  • the problem is further compounded because there is no direct notification to the host of the frame synchronization problem. It is quite easy for the demodulator to detect the condition because it has internal status regarding the condition of FEC synchronization, and can also determine whether the Reed-Solomon module has been able to correct all data errors detected. In the case of false MPEG frame synchronization due to high null packet densities, the FEC system will indicate normal operation, yet any non-null packets passing out of the demodulator will fail the checksum due to the framing error.
  • the headend maintains a constant minimum bandwidth allocation to reduce the number of null packets in the transport stream.
  • the headend system controlling assignment of VOD clients to RF carriers and PIDs insures that each RF channel and its associated transport stream has a minimum non-null content at all times.
  • FIG. 4 illustrates an exemplary block diagram of a video-on-demand (VOD) system 400 suitable for implementing one or more embodiments.
  • the VOD system 400 includes a headend 410 that is coupled to a plurality receivers 435 1 to 435 A (where “A” is a positive whole number) over a hybrid fiber coax (HFC) network 430 .
  • Each of the receivers 435 1 to 435 N is capable of subscribing to VOD programming for display on an attached television (or monitor) 440 .
  • the receivers 435 1 to 435 N may be identical to the receiver 200 ( FIG. 2 ).
  • the headend 410 generates and/or transmits VOD sessions having VOD programming over one or more transport streams to subscribing clients.
  • the headend 410 may dynamically allocate and de-allocate VOD sessions over one or more transport streams assigned to one or more RF channels as subscribers at receivers 435 are added and deleted.
  • the headend 410 includes a VOD control server 415 , one or more VOD video servers 420 1 to 420 N , a multiplexer (mux) 414 , and transmitter 425 . Although one transmitter is shown, the headend 410 may include a plurality of transmitters.
  • the VOD control server 415 includes one or more processors, memory, and software programs running thereon for processing requests by subscribing clients for VOD programming (via the client's receiver 435 or set top box), assigning and allocating VOD sessions on one or more transport streams corresponding to one or more RF channels and PIDs to clients on the fly, and controlling the one or more VOD video servers 420 1 to 420 N for transmitting VOD programming to subscribers.
  • the one or more VOD video servers 420 1 to 420 N each includes one or more processors, memory, mass storage, etc. for storing and transmitting VOD programming to subscribing clients in the system 400 , in response to control signals received from the VOD control server 415 .
  • the VOD video server 415 may include other components and perform other functions.
  • the VOD video server 415 may include a billing database for processing billing for VOD subscribers.
  • the transmitter 425 is substantially identical to the transmitter 120 ( FIG. 1 ).
  • the VOD control server 415 insures that each RF channel and its associated transport stream has a minimum non-null content at all times.
  • the actual minimum content varies from one system to another and depends upon factors such as video bit rate, modulation constellation, multiplexer homogeneity, downstream bit error rate (BER), etc.
  • the VOD control server 415 creates dummy copies of purchased content and/or activates “padding streams” (hereinafter referred to as “dummy sessions”).
  • the dummy sessions cause the video server(s) 420 to spool out content to PIDs. However, no client is assigned or authorized to access the content.
  • a software module running on the VOD control sever 415 performs the function of causing the one or more video servers 420 1 to 420 N to create one or more padding streams or dummy sessions, if necessary, to maintain a minimum bandwidth. This may also be accomplished through hardware.
  • the second technique involves filling null packets with a random or pseudo-random payload.
  • a random number generator is utilized for this purpose.
  • the null packets may be replaced with a plurality of predetermined static packets (e.g., a plurality of different and predefined packets).
  • This alternative technique dispenses with the requirement of generating random numbers for the packet payloads on the fly.
  • the use of a random or pseudo random number generator or the use of static packets is generally shown as block 510 .
  • the random number generator may also be implemented as a software routine running on one or more video server 420 .
  • the modified null packet generator 510 may be internal to the mux 414 or internal to the transmitter 425 .
  • the random number generator has a period greater than (188*n) bytes.
  • the robustness of such a system would be directly proportional to the number (n) of packets before the algorithm would repeat the “random” sequence.
  • the greater the period the more tolerant the system may be to channel noise, while minimizing sensitivity to the null padding issue.
  • This technique may have no impact on the stream session VOD control server 415 , but may significantly affect the implementation of the multiplexer and/or modulator hardware and software. This technique guarantees compliance with the spirit of annex “B” regardless of utilization of the transport stream bandwidth.
  • the third technique is a countermeasure that does not prevent the conditions leading to MPEG framing synchronization errors, but provides a mechanism for detecting MPEG framing errors and responding to it.
  • the MOD/DEMOD 220 adds a circuit to its internal logic that implements the following condition:
  • FEC_SYNC is a variable used to indicate an error condition in one or more of the QAM demodulator, Trellis Decoder, De-Randomizer, and De-Interleaver, which error may be due to data corruption, a synchronization problem, noise, etc.,
  • UNCORRECTABLE_RS_ERROR_FLAG is a variable used to indicate an error condition in the Reed-Solomon Decoder due to an unsuccessful attempt to correct errors in the stream
  • MPEG_CS_ERROR is a variable used to indicate a bad checksum or checksum error in the MPEG framing block.
  • the MOD/DEMOD 220 If the condition in equation (1) is met (i.e., only the MPEG_CS_ERROR is asserted to indicate a false lock), the MOD/DEMOD 220 generates an interrupt (e.g., hardware maskable interrupt) to the CPU 260 upon an uncorellated error between the FEC and the MPEG framer, which would occur whenever the system incorrectly synchronized and attempted to process non-null transport data.
  • the CPU 260 may attempt to reinitialize/resynchronize the MOD/DEMOD 220 , perhaps with a different combination of register settings to change the MPEG framing criteria(rion). This would allow the receiver 200 to be optimized for minimum channel change time through reduced demodulator acquisition time, and provide a mechanism to detect framing errors and to have applied more robust synchronization thresholds to attempt to reduce the probability of a false lock.
  • the first and second techniques may be implemented either individually or together for additional robustness.
  • the third technique which involves the demodulator, may be implemented with one or both of the first and second techniques.
  • FIG. 5 illustrates another exemplary block diagram of a VOD system 500 suitable for implementing one or more embodiments.
  • the system 500 includes a headend 510 that includes a VOD control server 515 .
  • the VOD control server 515 is coupled to one or more remote servers 525 1 - 525 C (where “C” is a positive whole number) over a packet switched network 520 .
  • Each remote server 525 may include one or more VOD video servers, one or more muxs, and one or more transmitters similar to the arrangement shown in FIG. 4 .
  • the VOD control server 515 may process requests by clients for VOD programming, assign and allocate transport streams on RF channels and PIDs to clients on the fly, transmit media streams to the remote servers 525 1 - 525 C , and control the remote servers 525 1 - 525 C over a control channel for transmitting VOD programming to subscribers.
  • the VOD control server 515 may cause the remote servers 525 1 - 525 C to create dummy sessions or padding streams and spool out content to PIDs, without assigning clients to the PIDs.
  • each remote server 525 may separately and locally execute a process for creating dummy sessions and/or padding streams on the fly, according to the first embodiment. This frees up the VOD control server 515 to perform more system-wide tasks.
  • Each remote server 525 may further include a random number generator device or process for filling null packets with a random or pseudo-random payload, according to the second embodiment.
  • the packet switched network 520 supports many different protocols such as TCP/IP for transmitting packets and asynchronous transfer mode (ATM) cells between the VOD control server 515 and remote servers 525 1 - 525 C .
  • TCP/IP for transmitting packets
  • ATM asynchronous transfer mode
  • the packet-switched network 520 is the Internet and/or an Intranet.
  • the remote servers 525 1 - 525 C may be located at any physical point within the system.
  • the remote servers 525 1 - 525 C may be located at hubs, and each provides VOD programming to a multitude of clients at receivers 535 1 - 535 B over the HFC network 530 .
  • the headend 510 may be substantially identical to the headend 410 to also spool out VOD programming to subscribing clients.
  • Embodiments of the present invention may be implemented as a method, apparatus, system, computer program product, signal, etc.
  • the elements of the present invention are essentially the code segments to perform the necessary tasks.
  • the program or code segments can be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission channel or medium.
  • the “processor readable medium” may include any medium that can store or transfer information. Examples of the processor readable medium include an electronic circuit, a semiconductor memory device, a ROM, a flash memory, an erasable ROM (EROM), a floppy diskette, a CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc.
  • the computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc.

Abstract

A digital video system, method, and computer program product for correcting corrupted digital video transport streams is described. The digital video system may include a digital cable, digital broadcast satellite (DBS), high definition television (HDTV), or video-on demand (VOD) system. In a VOD system, a VOD client at each receiver is capable of subscribing to one or more VOD sessions. The headend includes a video server and a control server that is coupled to the video server. The video server transmits one or more VOD sessions to one or more receivers over a transport stream. The control server can also cause the video server to transmit one or more dummy sessions to maintain a predetermined minimum bandwidth of content over the transport stream. Alternatively, the headend can transmit one or more null packets having a randomized payload, as necessary, to maintain a constant bit rate over the transport stream.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 09/881,609 filed Jun. 14, 2001, which claims priority under 35 USC 119(e) to U.S. Patent Application No. 60/211,881 filed Jun. 14, 2000; both of which are incorporated herein in their entirety by this reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to television systems, and specifically, to a method and apparatus for correcting corrupted digital video transport streams using a constant minimum bandwidth allocation, randomized null packet payloads, and/or framing validity technique.
  • 2. Background Information
  • The advancement of technology has facilitated the development and transmission of digital programming to consumers. One such programming is video on demand (VOD). VOD is a service that is offered by, for example, cable companies which allows customers, for a fee, to order and view movies or other programming at any time, typically by using the consumer's set top box. VOD thus offers flexibility by allowing the user to decide when to watch VOD programs. VOD offers a further advantage of allowing the user to pause the VOD program when the user is interrupted by a telephone call, doorbell, etc.
  • However, VOD service may occasionally cause reception problems. When a VOD program is selected for download to a client receiver, the video services received and decoded may be obscured by artifacts. The degree of obscuration may be total yielding the program content unwatchable. The problem is most prevalent when only a single session is being supported by the system on an RF channel and virtually guaranteed to occur when that single session has been paused and the customer temporarily tunes away. The problem occurs immediately after channel change to the VOD transport stream.
  • SUMMARY OF THE INVENTION
  • In one embodiment, a digital video system includes a headend that is coupled to a plurality of receivers over a transmission channel. A client at each receiver is capable of subscribing to one or more video sessions. The headend includes a video server and a control server that is coupled to the video server. The video server can transmit one or more video sessions to one or more receivers over a transport stream. The control server can dynamically allocate and terminate video sessions over the transport stream as video clients are added and terminated. The control server can also cause the video server to transmit one or more dummy sessions over the transport stream to maintain a minimum bandwidth of content over the transport stream.
  • In another embodiment, a digital video method includes receiving requests from one or more clients for one or more VOD sessions, transmitting one or more video sessions to the one or more clients over a transport stream having a constant bit rate, and transmitting one or more null packets, as necessary, to maintain the constant bit rate over the transport stream. The one or more null packets include a randomized payload.
  • Other embodiments are described and claimed herein.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a block diagram of a digital video system, according to one embodiment.
  • FIG. 2 illustrates an exemplary block diagram of a receiver.
  • FIG. 3 shows ambiguous packet start locations.
  • FIG. 4 illustrates an exemplary block diagram of a video-on-demand (VOD) system suitable for implementing one or more embodiments.
  • FIG. 5 illustrates another exemplary block diagram of a VOD system suitable for implementation with one or more embodiments.
  • DETAILED DESCRIPTION
  • As discussed herein, various terms are used to describe certain elements or characteristics of the present invention. For example, a “transmission channel” is broadly defined as any communication path between a source and a destination. The communication path may include one or more information-carrying lines (electrical wire, fiber optics, cable, HFC, etc.) or wireless communications through established techniques such as infrared (IR), radio frequency (RF), satellite, etc.
  • FIG. 1 illustrates a block diagram of a digital video system 100, according to one embodiment. The transmission format of television signals in the system 100 is specified, in one embodiment, by the Digital Multi-Programme Systems for Television, Sound and Data Services for Cable Distribution, ITU-T Recommendation J.83, annex “B”, April 1997 (hereinafter referred to as “ITU-J.83, annex B”). The entire contents of ITU-T Recommendation J.83 including Annexes A, B, C, and D are incorporated herein by reference. For sake of clarity, the present invention will be described with respect to a video-on-demand (VOD) system. However, it is to be understood that the present invention is not limited to VOD systems. That is, embodiments of the present invention may be implemented in digital cable systems, digital broadcast satellite (DBS) systems, high definition television (HDTV) systems, and any other digital video system based on an MPEG transport format.
  • Referring to FIG. 1, the system 100 includes a headend 110 coupled to a receiver 140 over a transmission channel 130. The headend 110 may be operated and/or controlled by a broadcaster. The headend includes a video-on-demand (VOD) control server (not shown), one or more VOD servers 112 1-112 N (where “N” is a positive whole number), a multiplexer (mux) 116, and transmitter 120. Each VOD server 112 may generate one or more VOD programs (or VOD streams). The output(s) of the VOD servers 112 1-112 N are coupled to the mux 116, which multiplexes the VOD streams at its input(s) onto an MPEG-2 transport stream (or other MPEG version transport stream) on signal line 118. The mux 118 is controlled by the VOD control server via signal line(s) 128.
  • The MPEG-2 transport stream on signal line 118 includes packets of data having 188 bytes. The MPEG-2 transport stream on signal line 118 is fed to an MPEG framing block 122, which organizes data into groups of fixed symbols, to provide packet synchronization for the receiver. The MPEG framing block 122 provides the frames to a Forward Error Correction (FEC) encoder 124. The FEC encoder 124 uses error correction algorithms and techniques for transporting data reliably over the transmission channel 130.
  • Also shown in FIG. 1 are an embodiment of the FEC encoder 124 in transmitter 120 and FEC decoder 144 in receiver 140. The FEC encoder 124 includes a Reed-Solomon encoder 152, interleaver 154, randomizer 156, and trellis encoder 158, whereas the FEC decoder 144 includes a trellis decoder 160, de-randomizer 162, de-interleaver 164, and Reed-Solomon decoder 156. The Reed-Solomon encoder 152 provides block encoding for correcting symbols within Reed-Solomon blocks. The interleaver 154 evenly disperses symbols to prevent a burst of symbol errors from being transmitted to a Reed-Solomon decoder. The randomizer 156 randomizes the data to allow effective quadrature amplitude modulation (QAM) demodulator synchronization. The trellis encoder 158 allows the introduction of redundancy to improve the threshold signal to noise ratio. The transmitter 120 further includes a QAM modulator 126 which modulates the television signals.
  • The receiver 140 includes a QAM demodulator 142, FEC decoder 144, and MPEG framing 146. The output of the MPEG framing block 146 is an MPEG-2 transport stream on signal line 148.
  • FIG. 2 illustrates an exemplary block diagram of a receiver 200. The receiver 200, in general, receives broadcast signals and performs operations on the broadcast signal to produce digital and/or analog information. For example, the receiver 200 is responsible for decoding the bit stream, for storing programming data in memory accessible by software executed by the receiver 200, and for processing the decoded bit stream to produce one or more output signals having appropriate formats. The receiver 200 may be incorporated into many systems such as a cable box for a Cable Broadcasting System, an Internet terminal, a digital satellite system (DSS) computer, and the like.
  • Referring to FIG. 2, the receiver 200 includes a diplexer 210 which receives the broadcast signals transmitted from the transmitter 110 over the transmission channel 120. The diplexer 210 forwards the broadcast signals to both an in-band (IB) tuner 212 and an out of band (OOB) tuner 214. The IB tuner 212 tunes the in-band broadcast signals (e.g., audio and/or video) to a desired broadcast channel. The OOB tuner 214 tunes to a private data channel which includes information for billing, encryption, and, in general, remote management of the receiver 200.
  • Both the audio/video signals and the private data signals are transmitted to a modulator/demodulator (MOD/DEMOD) 220, which performs, among other things, the functions of the QAM demodulator 142, FEC decoder 144, and MPEG framing 146 (FIG. 1). The MOD/DEMOD 220 converts the analog media signals to digital data and reformats the digital data to an appropriate format to provide a digital media stream (e.g., MPEG-2 transport stream). The bit stream is formatted in accordance with any video compression function and may be encrypted under either a symmetric key cryptographic function or a public-key cryptographic function. Typically, the bit stream includes sensory data (e.g., video and/or audio, or communication data) and control information for a number of shows. The control information for each show includes programming data including, but not limited or restricted to, date of broadcast, broadcast channel number, show start-time, show end-time, show title, show type (e.g., sports, news, etc.), etc.
  • The MOD/DEMOD 220 also converts the private signals to private digital data. The MOD/DEMOD 220 then forwards the digital media stream and the digital private data to a transport demultiplexer (demux) and graphics block 228 on signal lines 222 and 224, respectively. The transport demux 228 extracts the desired audio/video (media) stream intended for the receiver 200, if any, and forwards the media stream to an MPEG decoder 232 via signal line 230. The transport demux 228 may also perform decryption of the filtered and/or demultiplexed stream.
  • The MPEG decoder 232 decodes the filtered and decrypted stream into its native decompressed audio and video format (e.g., 4:4:4 or 4:2:2 digital video and pulse code modulation “PCM” audio). The MPEG decoder 232 transmits the digital audio to an audio digital to analog converter (DAC) 240 via signal line 236. The audio DAC 240 converts the digital audio stream to analog signals, and transmits the same to an analog switch 244. The MPEG decoder 232 also transmits the digital video stream (e.g., in accordance with the CCIR 656 format) back to the graphics section of the transport demux 228 on signal line 234. The graphics section of the transport demux 228 performs rendering, compositing, superposition of graphics (e.g., menus, icons, etc.) on the video, and other graphics processing. It is to be noted that although the graphics processing hardware is combined with the transport demux hardware in one device (i.e., device 228), the graphics processing hardware may be implemented in a separate stand alone device.
  • The IB tuner 212 also provides the traditional television signals to a demodulator 250. In one embodiment, the format of the television signals may be in accordance with a video format established by National Television Systems Committee (NTSC). In other embodiments, the format may be in accordance with Phase Alternating Line (PAL), Sequential Couleur Avec Memoire (SECAM), etc. The demodulator 250 demodulates the analog signal and provides audio signals to a digital attenuator 254 and the video signals to a NTSC decoder and ADC 252. The digital attenuator 254 attenuates the audio signal and provides the same to the analog switch 244. The NTSC decoder and ADC 252 decodes the NTSC signals, converts the decoded signals to a digital video stream in a specified format (e.g., CCIR 656 format), and transmits the same to the graphics portion of the transport demux 228 on signal line 256.
  • The receiver 200 also includes a central processing unit (CPU) 260 which may include a microprocessor, microcontroller, ASIC, etc. The CPU 260 is coupled to a volatile memory 264 and non-volatile memory 266, via a bus bridge 262. The volatile memory 264 may include a random access memory (RAM) and the non-volatile memory 266 may include read-only memory (ROM), flash memory, etc. The non-volatile memory 266 includes interrupt service routines, menus, event data, programming data, software modules and routines, etc. for execution by the CPU 260 to control the operation of the receiver 200. The CPU 260 is coupled to an interface circuit 268 which interfaces with the devices (e.g., MOD/DEMOD 220, transport demux 228, MPEG decoder 232, etc) over a system bus 272, allowing the CPU 260 to control the devices, check status, etc.
  • The receiver 200 further comprises a front panel 270 which includes a display, and keys or switches for receiving user inputs or commands. The display may include a seven-segment, LCD, or other display for displaying the channel number, time, and/or other information such as an event scheduled or programmed in a menu. The front panel 270 also receives commands from a remote controller (not shown), and decodes the commands to produce interrupt request signals (IRQs) corresponding to the commands. Each IRQ may be transferred to the CPU 260.
  • The interface 268 may be connected to other external peripheral devices. For example, the interface may include circuitry which complies with the IEEE standards document 1394 entitled “Standard for High Performance Serial Bus” (hereinafter referred to as “IEEE 1394”). This enables the receiver 200 to connect to digital-input peripheral devices such as digital VCRs, digital video disk players, digital laser disk players and the like.
  • The graphics portion of the transport demux 228 transmits the traditional digital video signals (from the NTSC decoder and ADC 252) or the digital video signals (from the MPEG decoder 232) to a video encoder 242 over signal line 238, based on user input and CPU 260. The graphics portion of the transport demux 228 may receive data representative of menus from the CPU 260, and overlay or otherwise blend the menus with the digital signal. The video encoder 242 converts the digital video signal to analog form on the Video Out signal line. The Video Out and Audio Out signal lines of the receiver 200 are coupled to at least one analog-input peripheral device such as a display monitor (e.g., a television receiver having a display screen) and/or a recording device (e.g., a video cassette recorder “VCR”).
  • The ITU-J.38 annex B specifies two distinct and concurrent types of data synchronization in the system 100. These include FEC synchronization and MPEG frame synchronization. FEC synchronization is independent of the packet size and is performed by the transport demux 228 on the incoming stream of symbols from the QAM demodulator of the MOD/DEMOD 220. The frame size for the FEC frame in 256 QAM modulation format is 11,264 symbols (7 bits per symbol) followed by a 40 bit sync word (“trailer”). This structure is used for establishing the correct starting point of a data sequence for the FEC decoder (derandomizer, deinterleaver, and Reed-Solomon decoder). The second type of synchronization is MPEG synchronization, performed by the MPEG decoder 232, which provides 188 byte packet framing compliant with the MPEG2 transport standard, as defined by Generic Coding of Moving Pictures and Associated Audio Information: Systems (ISO/IEC 13818-1:1996).
  • From the perspective of receiver 200, the FEC synchronization process is relatively robust with a 2E-10 probability of finding a data sequence that mimics the sync trailer exactly. The probability is reduced further because the FEC frame is further subdivided into blocks of data (122 symbols) with 6 additional parity symbols added per block. In all, a FEC frame of 11,264 symbols includes 88 blocks (128 symbols per block). A count of 88 blocks and a 40 bit frame sync trailer with its characteristic signature would have to be received to truly qualify as a valid frame. Consequently, the chances of false FEC synchronization are remote. The fact that FEC synchronization also transcends packet boundaries further adds to the robustness of the FEC frame protocol.
  • MPEG frame synchronization, on the other hand, may, in certain situations, cause unrecoverable synchronization errors. MPEG frame synchronization uses a sliding checksum on a bit-by-bit basis to find the start of an MPEG 188 byte packet. The synchronization process involves evaluating the sum of the previous 1496 received bits (187 bytes) and comparing it to the current received byte (byte 188). If the sum of the 187 bytes matches the checksum of the 188th byte, the MPEG decoder 232 records the match and confirms that the sum calculated over the next 1496 bits (187 bytes) matches the value of the 188th byte. The system keeps statistics regarding how many consecutive matches were obtained over the total number of packets (bytes) evaluated and a threshold can be set to establish a framing “lock” condition. This process has a 1/256 (or 0.4%) chance of yielding a false match on any single 188 byte sample of data. The probabilities of multiple false matches are reduced by the fact that the preceding FEC process is assumed to yield data free of errors due to channel noise and that MPEG data itself has a vary random distribution. The chance of seeing a false checksum match on consecutive packets becomes more improbable as the threshold for matches is increased. If one considers the probability of a random match on the checksum of four consecutive packets, the probability becomes about 2E-10.
  • Indeed, the correct operation of the MPEG synchronization process is based upon the paradigm that compressed audio and/or video data has a random appearing distribution and that the data payloads of consecutive packets are never repeated. This paradigm is quite valid in high bandwidth video or when statistical multiplexing algorithms are employed on a transport stream to maximize bandwidth utilization of the channel.
  • This, however, is not the case for ITU-J.83 annex B based constant bit rate (CBR) systems, especially for VOD applications. In VOD applications, the RF channels are dynamically allocated to clients and as new clients are added, new RF channels are instantiated, and packet identifiers (PIDs) assigned and allocated on a first-come, first-serve basis. In this type of applications, it is quite likely to have as few as a single client on a transport stream at any one time. In all cases, the VOD system 100 by nature has a constant symbol rate. To maintain the constant symbol rate, the headend 110 inserts stuffing packets (null packets) implemented as an optional null packet generator 114 (shown by dashed lines) that is input to the mux 116, embedded inside the mux 116, or embedded inside the transmitter 120 (e.g., at the QAM modulator 118). The MPEG transport specification (Generic Coding of Moving Pictures and Associated Audio Information: Systems (ISO/IEC 13818-1:1996)) defines a unique PID for the purpose of null packets and assigns the ID “0x1FFF” for a null packet. The MPEG standard specifically indicates that the data payload for a null packet may be any value. Typically, the payload bytes are set to 0xFF and it has been said that this is an implementation side effect of an MPEG requirement that the padding bytes used in section data be 0xFF.
  • The MPEG framing checksum is actually a linear block code and is designed such that when data is correctly recovered the resultant syndrome byte (from the CRC checksum) is equal to 0x47, the traditional MPEG2 synchronization byte value. Because the checksum is based upon a linear feedback shift register, the actual algorithm employed will result in six discrete points (phases) when a consecutive sequence of null packets with a payload of 0xFF are processed as points of MPEG frame synchronization, as illustrated in FIG. 3. However, only one point provides the correct MPEG frame synchronization. The other five points are ambiguous and while satisfying the mathematical criteria for the checksum, do not align with the correct MPEG2 transport packet boundary.
  • As the density of null packets increases, the probability of synchronizing to an ambiguous and incorrect MPEG frame approaches the limit of ⅚ (or 83%). This will result in long periods to tune to a high null packet stream and the potential for never actually synchronizing correctly. Analysis of a cable network implementing a VOD system indicates that as few as 180K bits/second of non-null data might be sent on a 256 QAM transport running at 38M bits/second, a null packet density of 99.53%.
  • An additional parameter that may come into play to further compound the MPEG frame synchronization is the type of multiplexer used. Evaluations of certain multiplexers show that there may be a direct correlation between the onset of the synchronization problem and the brand of multiplexer. Further investigation has indicated that the reason for this is due to the algorithm used in the multiplexer itself when creating the MPEG transport stream. The MPEG specification is not clear on how data is multiplexed regarding packet distribution. In at least one type of multiplexer algorithm, data is placed in the transport stream in bursts as opposed to placing date in the transport stream in a uniform and homogeneous distribution. When data is not evenly distributed, the concentration of null packets is locally increased due to the burst nature of the multiplexer algorithm. Consequently, the type of multiplexer algorithm used may exasperate the synchronization problem, making the number of repeated null packets appear to be greater than is actual and therefore reduce the threshold to the onset of the problem.
  • In the implementation of a transport decoder based upon a certain brand of demodulator integrated circuit, the problem is further compounded because there is no direct notification to the host of the frame synchronization problem. It is quite easy for the demodulator to detect the condition because it has internal status regarding the condition of FEC synchronization, and can also determine whether the Reed-Solomon module has been able to correct all data errors detected. In the case of false MPEG frame synchronization due to high null packet densities, the FEC system will indicate normal operation, yet any non-null packets passing out of the demodulator will fail the checksum due to the framing error. In this demodulator, the transport error bit in the stream output (TE=1) is set and it is up to the MPEG decoder to determine what action to take. In many cases, this will result in no special action. In addition, upon query of the demodulator, all internal subsystems will report normal conditions, creating yet another ambiguity.
  • Based upon the evaluation of the issue and an analysis of the cause, it becomes apparent that the VOD system is operating in a mode that is outside the intent or capability of the ITU-J.83, annex “B” standard. Even demodulators that have no reporting ambiguity, as described above, are prone to the framing error problem and will exhibit high error rates, long tuning times and high probability of onset even with multiple re-acquisitions. The problem in general has been shown both by analysis and through empirical data to be systemic in nature and not unique to any one combination of multiplexer, modulator, or demodulator components. The problem can also be recreated under the correct conditions using live encoders instead of a VOD system, although the conditions that cause the problem in a live encoder environment are highly unlikely to occur in real deployment. The opposite is true however for a VOD implementation using dynamic allocation of PIDs in a CBR environment. The problem is not only likely, but rather, should be expected.
  • Disclosed herein are three separate and independent techniques for correcting the MPEG frame synchronization problem. In a first technique, the headend maintains a constant minimum bandwidth allocation to reduce the number of null packets in the transport stream. In constant minimum bandwidth allocation, the headend system controlling assignment of VOD clients to RF carriers and PIDs insures that each RF channel and its associated transport stream has a minimum non-null content at all times.
  • FIG. 4 illustrates an exemplary block diagram of a video-on-demand (VOD) system 400 suitable for implementing one or more embodiments. Referring to FIG. 4, the VOD system 400 includes a headend 410 that is coupled to a plurality receivers 435 1 to 435 A (where “A” is a positive whole number) over a hybrid fiber coax (HFC) network 430. Each of the receivers 435 1 to 435 N is capable of subscribing to VOD programming for display on an attached television (or monitor) 440. In one embodiment, the receivers 435 1 to 435 N may be identical to the receiver 200 (FIG. 2). The headend 410 generates and/or transmits VOD sessions having VOD programming over one or more transport streams to subscribing clients. The headend 410 may dynamically allocate and de-allocate VOD sessions over one or more transport streams assigned to one or more RF channels as subscribers at receivers 435 are added and deleted.
  • The headend 410 includes a VOD control server 415, one or more VOD video servers 420 1 to 420 N, a multiplexer (mux) 414, and transmitter 425. Although one transmitter is shown, the headend 410 may include a plurality of transmitters. The VOD control server 415 includes one or more processors, memory, and software programs running thereon for processing requests by subscribing clients for VOD programming (via the client's receiver 435 or set top box), assigning and allocating VOD sessions on one or more transport streams corresponding to one or more RF channels and PIDs to clients on the fly, and controlling the one or more VOD video servers 420 1 to 420 N for transmitting VOD programming to subscribers. The one or more VOD video servers 420 1 to 420 N each includes one or more processors, memory, mass storage, etc. for storing and transmitting VOD programming to subscribing clients in the system 400, in response to control signals received from the VOD control server 415. The VOD video server 415 may include other components and perform other functions. For example, the VOD video server 415 may include a billing database for processing billing for VOD subscribers. In one embodiment, the transmitter 425 is substantially identical to the transmitter 120 (FIG. 1).
  • In accordance with the first technique, the VOD control server 415 insures that each RF channel and its associated transport stream has a minimum non-null content at all times. The actual minimum content varies from one system to another and depends upon factors such as video bit rate, modulation constellation, multiplexer homogeneity, downstream bit error rate (BER), etc. To maintain a minimum non-null content for each RF channel at all times, the VOD control server 415 creates dummy copies of purchased content and/or activates “padding streams” (hereinafter referred to as “dummy sessions”). The dummy sessions cause the video server(s) 420 to spool out content to PIDs. However, no client is assigned or authorized to access the content. This would create non-null content on the transport stream that is above the threshold for minimum content. When client demand for channel bandwidth exceeds the minimum bandwidth (e.g., a threshold), the session streams can be terminated and the bandwidth assigned to revenue producing session streams. A software module running on the VOD control sever 415 performs the function of causing the one or more video servers 420 1 to 420 N to create one or more padding streams or dummy sessions, if necessary, to maintain a minimum bandwidth. This may also be accomplished through hardware.
  • The second technique involves filling null packets with a random or pseudo-random payload. In this embodiment, a random number generator is utilized for this purpose. Alternatively, the null packets may be replaced with a plurality of predetermined static packets (e.g., a plurality of different and predefined packets). This alternative technique dispenses with the requirement of generating random numbers for the packet payloads on the fly. The use of a random or pseudo random number generator or the use of static packets is generally shown as block 510. The random number generator may also be implemented as a software routine running on one or more video server 420. Alternatively, the modified null packet generator 510 may be internal to the mux 414 or internal to the transmitter 425.
  • In one embodiment, the random number generator has a period greater than (188*n) bytes. The robustness of such a system would be directly proportional to the number (n) of packets before the algorithm would repeat the “random” sequence. The greater the period, the more tolerant the system may be to channel noise, while minimizing sensitivity to the null padding issue. This technique may have no impact on the stream session VOD control server 415, but may significantly affect the implementation of the multiplexer and/or modulator hardware and software. This technique guarantees compliance with the spirit of annex “B” regardless of utilization of the transport stream bandwidth.
  • The third technique is a countermeasure that does not prevent the conditions leading to MPEG framing synchronization errors, but provides a mechanism for detecting MPEG framing errors and responding to it.
  • Referring to FIG. 2, the MOD/DEMOD 220 adds a circuit to its internal logic that implements the following condition:

  • IRQ=!FEC_SYNC*!UNCORRECTABLE_RS_ERROR_FLAG*MPEG_CS_ERROR,  (1)
  • Where,
  • FEC_SYNC is a variable used to indicate an error condition in one or more of the QAM demodulator, Trellis Decoder, De-Randomizer, and De-Interleaver, which error may be due to data corruption, a synchronization problem, noise, etc.,
  • UNCORRECTABLE_RS_ERROR_FLAG is a variable used to indicate an error condition in the Reed-Solomon Decoder due to an unsuccessful attempt to correct errors in the stream, and
  • MPEG_CS_ERROR is a variable used to indicate a bad checksum or checksum error in the MPEG framing block.
  • If the condition in equation (1) is met (i.e., only the MPEG_CS_ERROR is asserted to indicate a false lock), the MOD/DEMOD 220 generates an interrupt (e.g., hardware maskable interrupt) to the CPU 260 upon an uncorellated error between the FEC and the MPEG framer, which would occur whenever the system incorrectly synchronized and attempted to process non-null transport data. In response, the CPU 260 may attempt to reinitialize/resynchronize the MOD/DEMOD 220, perhaps with a different combination of register settings to change the MPEG framing criteria(rion). This would allow the receiver 200 to be optimized for minimum channel change time through reduced demodulator acquisition time, and provide a mechanism to detect framing errors and to have applied more robust synchronization thresholds to attempt to reduce the probability of a false lock.
  • The first and second techniques may be implemented either individually or together for additional robustness. The third technique, which involves the demodulator, may be implemented with one or both of the first and second techniques.
  • It is to be appreciated that embodiments of the present invention may be implemented in various VOD systems. FIG. 5 illustrates another exemplary block diagram of a VOD system 500 suitable for implementing one or more embodiments. The system 500 includes a headend 510 that includes a VOD control server 515. The VOD control server 515 is coupled to one or more remote servers 525 1-525 C (where “C” is a positive whole number) over a packet switched network 520. Each remote server 525 may include one or more VOD video servers, one or more muxs, and one or more transmitters similar to the arrangement shown in FIG. 4. The VOD control server 515 may process requests by clients for VOD programming, assign and allocate transport streams on RF channels and PIDs to clients on the fly, transmit media streams to the remote servers 525 1-525 C, and control the remote servers 525 1-525 C over a control channel for transmitting VOD programming to subscribers. The VOD control server 515 may cause the remote servers 525 1-525 C to create dummy sessions or padding streams and spool out content to PIDs, without assigning clients to the PIDs. In another embodiment, each remote server 525 may separately and locally execute a process for creating dummy sessions and/or padding streams on the fly, according to the first embodiment. This frees up the VOD control server 515 to perform more system-wide tasks. Each remote server 525 may further include a random number generator device or process for filling null packets with a random or pseudo-random payload, according to the second embodiment.
  • The packet switched network 520 supports many different protocols such as TCP/IP for transmitting packets and asynchronous transfer mode (ATM) cells between the VOD control server 515 and remote servers 525 1-525 C. In one embodiment, the packet-switched network 520 is the Internet and/or an Intranet.
  • The remote servers 525 1-525 C may be located at any physical point within the system. For example, the remote servers 525 1-525 C may be located at hubs, and each provides VOD programming to a multitude of clients at receivers 535 1-535 B over the HFC network 530. In another embodiment, the headend 510 may be substantially identical to the headend 410 to also spool out VOD programming to subscribing clients.
  • Embodiments of the present invention may be implemented as a method, apparatus, system, computer program product, signal, etc. When implemented in software, the elements of the present invention are essentially the code segments to perform the necessary tasks. The program or code segments can be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission channel or medium. The “processor readable medium” may include any medium that can store or transfer information. Examples of the processor readable medium include an electronic circuit, a semiconductor memory device, a ROM, a flash memory, an erasable ROM (EROM), a floppy diskette, a CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc. The computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc.
  • While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.

Claims (23)

1. A video-on-demand (VOD) system, comprising:
a headend coupled to a transmission channel, said headend comprising:
a video server that transmits, over the transmission channel, one or more VOD sessions to one or more receivers, where each receiver comprises a VOD client capable of subscribing to one or more VOD sessions over a transport stream; and
a control server coupled to the video server, the control server is adapted to dynamically allocate and terminate VOD sessions over the transport stream as VOD clients are added and terminated, and to cause the video server to transmit one or more dummy sessions over the transport stream such that a bandwidth over the transport stream is substantially constantly maintained above a predefined minimum bandwidth of content.
2. The VOD system of claim 1, wherein the control server is further adapted to transmit one or more dummy sessions over the transport stream to maintain the minimum bandwidth of content over the transport stream to ensure that each receiver can synchronize to a subscribed VOD session.
3. The VOD system of claim 1, wherein the control server is adapted to determine whether the bandwidth of content over the transport stream is below a predetermined threshold, and to cause the video server to transmit the one or more dummy sessions to maintain the bandwidth of content over the transport stream at or above the predetermined threshold.
4. The VOD system of claim 1 wherein each receiver includes a demodulator, decoder, and an MPEG frame synchronizer.
5. The VOD system of claim 1 wherein said headend further comprises a transmitter having an MPEG frame synchronizer, encoder, and modulator.
6. The VOD system of claim 1 wherein the transport stream is transmitted over a radio frequency channel.
7. The VOD system of claim 1 wherein the video server is further configured to transmit the one or more VOD sessions over one or more radio frequency (RF) channels each associated with a different transport stream, and wherein said control server is configured to cause the video server to transmit one or more dummy sessions over each transport stream to substantially constantly maintain the predetermined minimum bandwidth of content over each of the one or more transport streams.
8. A video-on-demand (VOD) server, comprising:
a server that receives requests from one or more VOD clients for one or more VOD sessions, causes transmission of one or more VOD sessions over a transport stream to the one or more VOD clients, determines whether the number of VOD sessions transmitted over the transport stream is below a minimum threshold, and causes transmission of one or more padding sessions over the transport stream if the number of VOD sessions transmitted over the transport stream is below the minimum threshold to maintain the number of VOD sessions at or above the minimum threshold.
9. The VOD server of claim 8 wherein the server causes transmission of VOD sessions over a plurality of radio frequency channels each associated with a transport stream, the server determines, for each transport stream, whether the number of VOD sessions is below the minimum threshold, and, for each transport stream, causes transmission of one or more padding sessions if the number of VOD sessions transmitted over the respective transport stream is below the minimum threshold to substantially constantly maintain the number of VOD sessions at or above the minimum threshold.
10. The VOD server of claim 8 wherein when the server receives a request for a new VOD session from a VOD client, the control server terminates one or more of the one or more padding sessions, and causes transmission of the new VOD session.
11. A video-on-demand (VOD) system, comprising:
a transmission channel;
a plurality of receivers coupled to the transmission channel, a VOD client at each receiver capable of subscribing to one or more VOD sessions over a transport stream; and
a headend coupled to the transmission channel, said headend including a video server than can transmit one or more VOD sessions to one or more receivers, and a control server coupled to the video server, the control server to dynamically allocate and terminate VOD sessions over the transport stream as VOD clients are added and terminated, said headend to transmit one or more stuffing packets to maintain a substantially constant bit rate over the transport stream, said one or more stuffing packets including a randomized payload.
12. The VOD system of claim 11 wherein the headend generates the one or more randomized payloads using one of a random number generator, pseudo-random number generator, and predetermined static payload.
13. The VOD system of claim 11 wherein the video server can transmit one or more VOD sessions over one or more radio frequency (RF) channels each associated with a transport stream, and wherein said headend to transmit one or more stuffing packets for each transport stream to maintain the substantially constant bit rate over the one or more transport streams, said one or more stuffing packets including a randomized payload.
14. The VOD system of claim 13 wherein the headend includes a random number generator that generates a plurality of random numbers, said plurality of random numbers being used to fill the payloads of the one or more stuffing packets.
15. A video on demand (VOD) method, comprising:
receiving requests from one or more VOD clients for one or more VOD sessions;
transmitting one or more VOD sessions to the one or more VOD clients over a transport stream having a substantially constant bit rate; and
transmitting one or more null packets to maintain the substantially constant bit rate over the transport stream, said null packets including a randomized payload.
16. The VOD method of claim 15, wherein transmitting one or more null packets comprises transmitting one or more null packets to maintain the substantially constant bit rate over the transport stream, said null packets each including a randomized payload populated using one of a pseudo-random number generator, random number generator, and one of a plurality of predetermined static payloads.
17. The VOD method of claim 15, further comprising dynamically allocating and terminating VOD sessions over the transport stream as VOD clients are added and terminated, respectively.
18. A digital video system, comprising:
a headend coupled to one or more transmission channels, said headend comprising:
a video server that transmits one or more video sessions over a transport streams on a transmission channel to one or more receivers, where the one or more receivers are capable of subscribing to one or more video sessions, and
a control server coupled to the video server, the control server adapted to cause the video server to transmit one or more dummy sessions over the transport stream to substantially constantly maintain a predetermined minimum bandwidth of content over the transport stream.
19. The digital video system of claim 18, wherein the control server further determines whether the bandwidth of content over the transport stream is below a predetermined threshold, and causes the video server to transmit the one or more dummy sessions to ensure that the bandwidth of content is substantially continuously maintain at or above the predetermined threshold, wherein the dummy sessions comprise non-null data and cannot be accessed by the one or more receivers.
20. The digital video system of claim 18, further comprising:
the transmission channel; and
the one or more receivers coupled to the transmission channel, where a client at each receiver is configured to subscribe to the one or more video sessions over the transport stream;
wherein the headend transmits digital video programming in accordance to one of a digital broadcast satellite (DBS) system, digital cable system, high definition television (HDTV) system, and video-on-demand (VOD) system.
21. A computer program product, comprising:
a computer usable medium having computer readable program code embodied therein to minimize a possibility of an erroneous MPEG frame synchronization in a digital video receiver, the computer readable program code in said computer program product comprising:
first computer readable program code to transmit one or more video sessions to the one or more clients over a transport stream having a substantially constant bit rate; and
second computer readable program code to transmit one or more null packets to maintain the substantially constant bit rate over the transport stream, said null packets including a randomized payload.
22. The computer program product of claim 21, wherein the first computer readable program code comprises first computer readable program code to transmit one or more video sessions in accordance to one of a digital broadcast satellite (DBS) system, digital cable system, high definition television (HDTV) system, and video-on-demand (VOD) system.
23. A digital video receiver, comprising:
a demodulator to demodulate analog signals received over a transmission channel;
decoder to decode signals from the demodulator;
an MPEG framer to synchronize to a video session in a transport stream;
a memory including one or more instructions;
a processor, coupled to the memory, demodulator, decoder, and framer, the processor, in response to the one or more instructions, to,
detect a checksum error from the MPEG framer indicative of a false synchronization to the video session, and
responsive to detecting a checksum error, resynchronize the MPEG framer to the transport stream.
US12/698,951 2000-06-14 2010-02-02 Method and apparatus for correcting corrupted digital video transport streams Abandoned US20100138883A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/698,951 US20100138883A1 (en) 2000-06-14 2010-02-02 Method and apparatus for correcting corrupted digital video transport streams

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US21188100P 2000-06-14 2000-06-14
US09/881,609 US7657913B2 (en) 2000-06-14 2001-06-14 Method and apparatus for correcting corrupted digital video transport streams
US12/698,951 US20100138883A1 (en) 2000-06-14 2010-02-02 Method and apparatus for correcting corrupted digital video transport streams

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/881,609 Continuation US7657913B2 (en) 2000-06-14 2001-06-14 Method and apparatus for correcting corrupted digital video transport streams

Publications (1)

Publication Number Publication Date
US20100138883A1 true US20100138883A1 (en) 2010-06-03

Family

ID=26906552

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/881,609 Expired - Fee Related US7657913B2 (en) 2000-06-14 2001-06-14 Method and apparatus for correcting corrupted digital video transport streams
US12/698,951 Abandoned US20100138883A1 (en) 2000-06-14 2010-02-02 Method and apparatus for correcting corrupted digital video transport streams

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/881,609 Expired - Fee Related US7657913B2 (en) 2000-06-14 2001-06-14 Method and apparatus for correcting corrupted digital video transport streams

Country Status (1)

Country Link
US (2) US7657913B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150102A1 (en) * 2005-01-06 2006-07-06 Thomson Licensing Method of reproducing documents comprising impaired sequences and, associated reproduction device

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657913B2 (en) * 2000-06-14 2010-02-02 Sony Corporation Method and apparatus for correcting corrupted digital video transport streams
US20020129159A1 (en) * 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
US8713623B2 (en) 2001-09-20 2014-04-29 Time Warner Cable Enterprises, LLC Technique for effectively providing program material in a cable television system
US8302144B2 (en) * 2002-03-13 2012-10-30 Cox Communications, Inc. Distribution of content in an information distribution system
FR2850826B1 (en) * 2003-02-04 2005-04-01 Medialive PROTECTIVE METHOD AND DEVICE FOR SECURE DIFFUSION OF AUDIOVISUAL WORKS
US8000475B1 (en) * 2003-04-28 2011-08-16 Bigband Networks Inc. System and method for encrypting and modulating video streams
WO2004114675A1 (en) * 2003-06-18 2004-12-29 Thomson Licensing S.A. Method and apparatus for error detection of compressed video in a digital media receiver
US20050122914A1 (en) * 2003-07-08 2005-06-09 Pacific Microwave Research, Inc. Secure Digital Communication System for High Multi-Path Environments
US20050008155A1 (en) * 2003-07-08 2005-01-13 Pacific Microwave Research, Inc. Secure digital transmitter and method of operation
WO2005072320A2 (en) * 2004-01-23 2005-08-11 Camiant, Inc. Video policy server
EP1601199B1 (en) * 2004-05-28 2008-01-23 Alcatel Lucent Broadband telecommunications system and method used therein to reduce the latency of channel switching by a multimedia receiver
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US9723267B2 (en) * 2004-12-15 2017-08-01 Time Warner Cable Enterprises Llc Method and apparatus for wideband distribution of content
US20060132492A1 (en) * 2004-12-17 2006-06-22 Nvidia Corporation Graphics processor with integrated wireless circuits
US7602820B2 (en) 2005-02-01 2009-10-13 Time Warner Cable Inc. Apparatus and methods for multi-stage multiplexing in a network
KR100652790B1 (en) * 2005-02-17 2006-12-01 주식회사 커밍미디어 High-speed transmission system of quality of service on hybrid-fiber coaxial for internet protocol broadcasting service
US7383473B2 (en) * 2005-03-01 2008-06-03 Time Warner Cable, Inc. System and method for identifying and isolating faults in a video on demand provisioning system
WO2007005911A2 (en) * 2005-07-05 2007-01-11 White Technologies Group System for multimedia on demand over internet based network
US8731069B2 (en) * 2005-08-25 2014-05-20 Canon Kabushiki Kaisha Remote display system and method
US8209729B2 (en) 2006-04-20 2012-06-26 At&T Intellectual Property I, Lp Rules-based content management
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
KR101221913B1 (en) * 2006-12-20 2013-01-15 엘지전자 주식회사 Digital broadcasting system and data processing method
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US8281352B2 (en) * 2007-05-15 2012-10-02 Time Warner Cable Inc. Methods and apparatus for bandwidth recovery in a network
JP2009027720A (en) * 2007-07-23 2009-02-05 Polycom Inc System and method executing lost packet recovery with congestion avoidance
US8625607B2 (en) 2007-07-24 2014-01-07 Time Warner Cable Enterprises Llc Generation, distribution and use of content metadata in a network
US9113334B2 (en) 2008-02-01 2015-08-18 Tekelec, Inc. Methods, systems, and computer readable media for controlling access to voice resources in mobile networks using mobility management signaling messages
US8300541B2 (en) * 2008-02-19 2012-10-30 Time Warner Cable Inc. Apparatus and methods for utilizing statistical multiplexing to ensure quality of service in a network
KR101498063B1 (en) * 2008-03-04 2015-03-03 엘지전자 주식회사 Digital broadcasting system and method of processing data in the digital broadcasting system
US9357247B2 (en) 2008-11-24 2016-05-31 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US8438450B2 (en) * 2009-01-30 2013-05-07 Sri International Method and system for performing data integrity verification of a transport stream
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US8396055B2 (en) 2009-10-20 2013-03-12 Time Warner Cable Inc. Methods and apparatus for enabling media functionality in a content-based network
US10264029B2 (en) 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US9519728B2 (en) 2009-12-04 2016-12-13 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and optimizing delivery of content in a network
US9342661B2 (en) 2010-03-02 2016-05-17 Time Warner Cable Enterprises Llc Apparatus and methods for rights-managed content and data delivery
US9300445B2 (en) 2010-05-27 2016-03-29 Time Warner Cable Enterprise LLC Digital domain content processing and distribution apparatus and methods
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US8997136B2 (en) 2010-07-22 2015-03-31 Time Warner Cable Enterprises Llc Apparatus and methods for packetized content delivery over a bandwidth-efficient network
US9185341B2 (en) 2010-09-03 2015-11-10 Time Warner Cable Enterprises Llc Digital domain content processing and distribution apparatus and methods
US9602414B2 (en) 2011-02-09 2017-03-21 Time Warner Cable Enterprises Llc Apparatus and methods for controlled bandwidth reclamation
US9219950B2 (en) * 2011-11-01 2015-12-22 Sony Corporation Reproduction apparatus, reproduction method, and program
US9467723B2 (en) 2012-04-04 2016-10-11 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US20140082645A1 (en) 2012-09-14 2014-03-20 Peter Stern Apparatus and methods for providing enhanced or interactive features
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
JP2015056855A (en) * 2013-09-13 2015-03-23 株式会社リコー Distribution management device and distribution management system
KR101480905B1 (en) * 2013-09-25 2015-01-13 한국전자통신연구원 Apparatus and method for protecting communication pattern of network traffic
US9615128B2 (en) * 2014-05-27 2017-04-04 Arris Enterprises, Inc. Deduplication of scheduled recordings
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US10404758B2 (en) 2016-02-26 2019-09-03 Time Warner Cable Enterprises Llc Apparatus and methods for centralized message exchange in a user premises device
TWI749002B (en) * 2017-03-24 2021-12-11 圓剛科技股份有限公司 Multimedia data transmission method and multimedia data transmission system

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4237486A (en) * 1978-11-09 1980-12-02 Comsonics, Inc. Compatible transmission of an encoded signal with a television
US5453779A (en) * 1994-03-15 1995-09-26 International Business Machines Corporation Scheduling policies with grouping for providing VCR control functions in a video server
US5535216A (en) * 1995-01-17 1996-07-09 Digital Equipment Corporation Multiplexed gapped constant bit rate data transmission
US5574778A (en) * 1995-05-01 1996-11-12 Bell Communications Research, Inc. Method and apparatus for providing video services
US5663962A (en) * 1994-09-29 1997-09-02 Cselt- Centro Studi E Laboratori Telecomunicazioni S.P.A. Method of multiplexing streams of audio-visual signals coded according to standard MPEG1
US5754783A (en) * 1996-02-01 1998-05-19 Digital Equipment Corporation Apparatus and method for interleaving timed program data with secondary data
US5790935A (en) * 1996-01-30 1998-08-04 Hughes Aircraft Company Virtual on-demand digital information delivery system and method
US5819019A (en) * 1995-12-01 1998-10-06 Silicon Graphics, Inc. System/method for recovering network resources in a distributed environment, via registered callbacks
US5822530A (en) * 1995-12-14 1998-10-13 Time Warner Entertainment Co. L.P. Method and apparatus for processing requests for video on demand versions of interactive applications
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
US5913039A (en) * 1996-01-19 1999-06-15 Matsushita Electric Industrial Co., Ltd. Video on demand system with a transmission schedule table in the video server including entries for client identifiers, video titles, and reproduction start times
US5978357A (en) * 1997-03-27 1999-11-02 Cabletron Systems, Inc. Phantom flow control method and apparatus with improved stability
US6263313B1 (en) * 1998-08-13 2001-07-17 International Business Machines Corporation Method and apparatus to create encoded digital content
US6266345B1 (en) * 1998-04-24 2001-07-24 Xuan Zhon Ni Method and apparatus for dynamic allocation of bandwidth to data with varying bit rates
US6449252B1 (en) * 1999-06-18 2002-09-10 Cisco Technology, Inc. ATM path cell scheduling for constant and variable bit rate traffic
US6728895B1 (en) * 1995-12-01 2004-04-27 Silicon Graphics, Inc. System and method for resource recovery in a distributed system
US6888842B1 (en) * 1999-10-05 2005-05-03 Nortel Networks Limited Scheduling and reservation for dynamic resource control systems
US6920592B2 (en) * 2002-08-12 2005-07-19 Broadcom Corporation System, method, and apparatus for detecting and recovering from false synchronization
US7020081B1 (en) * 1998-07-10 2006-03-28 Matsushita Electric Industrial Co., Ltd. Stream distribution system
US7657913B2 (en) * 2000-06-14 2010-02-02 Sony Corporation Method and apparatus for correcting corrupted digital video transport streams

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4237486A (en) * 1978-11-09 1980-12-02 Comsonics, Inc. Compatible transmission of an encoded signal with a television
US5453779A (en) * 1994-03-15 1995-09-26 International Business Machines Corporation Scheduling policies with grouping for providing VCR control functions in a video server
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
US5663962A (en) * 1994-09-29 1997-09-02 Cselt- Centro Studi E Laboratori Telecomunicazioni S.P.A. Method of multiplexing streams of audio-visual signals coded according to standard MPEG1
US5535216A (en) * 1995-01-17 1996-07-09 Digital Equipment Corporation Multiplexed gapped constant bit rate data transmission
US5574778A (en) * 1995-05-01 1996-11-12 Bell Communications Research, Inc. Method and apparatus for providing video services
US6728895B1 (en) * 1995-12-01 2004-04-27 Silicon Graphics, Inc. System and method for resource recovery in a distributed system
US5819019A (en) * 1995-12-01 1998-10-06 Silicon Graphics, Inc. System/method for recovering network resources in a distributed environment, via registered callbacks
US5822530A (en) * 1995-12-14 1998-10-13 Time Warner Entertainment Co. L.P. Method and apparatus for processing requests for video on demand versions of interactive applications
US5913039A (en) * 1996-01-19 1999-06-15 Matsushita Electric Industrial Co., Ltd. Video on demand system with a transmission schedule table in the video server including entries for client identifiers, video titles, and reproduction start times
US5790935A (en) * 1996-01-30 1998-08-04 Hughes Aircraft Company Virtual on-demand digital information delivery system and method
US5754783A (en) * 1996-02-01 1998-05-19 Digital Equipment Corporation Apparatus and method for interleaving timed program data with secondary data
US5978357A (en) * 1997-03-27 1999-11-02 Cabletron Systems, Inc. Phantom flow control method and apparatus with improved stability
US6266345B1 (en) * 1998-04-24 2001-07-24 Xuan Zhon Ni Method and apparatus for dynamic allocation of bandwidth to data with varying bit rates
US7020081B1 (en) * 1998-07-10 2006-03-28 Matsushita Electric Industrial Co., Ltd. Stream distribution system
US6263313B1 (en) * 1998-08-13 2001-07-17 International Business Machines Corporation Method and apparatus to create encoded digital content
US6449252B1 (en) * 1999-06-18 2002-09-10 Cisco Technology, Inc. ATM path cell scheduling for constant and variable bit rate traffic
US6888842B1 (en) * 1999-10-05 2005-05-03 Nortel Networks Limited Scheduling and reservation for dynamic resource control systems
US7657913B2 (en) * 2000-06-14 2010-02-02 Sony Corporation Method and apparatus for correcting corrupted digital video transport streams
US6920592B2 (en) * 2002-08-12 2005-07-19 Broadcom Corporation System, method, and apparatus for detecting and recovering from false synchronization
US7020812B2 (en) * 2002-08-12 2006-03-28 Broadcom Corporation System and method for detection and recovery of false synchronization using packet header information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150102A1 (en) * 2005-01-06 2006-07-06 Thomson Licensing Method of reproducing documents comprising impaired sequences and, associated reproduction device
US9043701B2 (en) * 2005-01-06 2015-05-26 Thomson Licensing Method and apparatus for indicating the impaired sequences of an audiovisual document

Also Published As

Publication number Publication date
US20020087995A1 (en) 2002-07-04
US7657913B2 (en) 2010-02-02

Similar Documents

Publication Publication Date Title
US7657913B2 (en) Method and apparatus for correcting corrupted digital video transport streams
US8526613B2 (en) Subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
US5892535A (en) Flexible, configurable, hierarchical system for distributing programming
CA2177138C (en) System and method for simultaneously authorizing multiple virtual channels
US5757416A (en) System and method for transmitting a plurality of digital services including imaging services
US8191101B2 (en) Packet timing method and apparatus of a receiver system for controlling digital TV program start time
US7627887B2 (en) System and method for multicasting packets in a subscriber network
US20040133917A1 (en) Video on demand using MCMD and TDM or FDM
US20040181800A1 (en) Thin DOCSIS in-band management for interactive HFC service delivery
US20070183452A1 (en) Transport stream dejittering
JPH09506227A (en) System and method for sending and receiving variable length admission control for digital services
KR20080007511A (en) Method and apparatus for caching access information for faster digital cable tuning
US20020023267A1 (en) Universal digital broadcast system and methods
US20040111746A1 (en) IP to DVB subchannel mapping
EP2375614B1 (en) Method for broadcasting multimedia content
KR20090012983A (en) Broadcasting receiver and method of processing broadcasting data
US10085075B2 (en) Messaging between set top box and head end systems
US20050220147A1 (en) Retransmission of a burst copy in a broadband digital network
KR101727033B1 (en) Digital broadcast receiver and method for displaying a image
US20030208561A1 (en) Counterfeit STB prevention through protocol switching
CA2406714A1 (en) Universal digital broadcast system and methods
KR101366278B1 (en) Broadcasting receiver and method of processing a broadcasting data
KR20110062150A (en) Apparatus and method for tranmitting/receiving transport stream in a digital brodcasting system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE