WO1999052283A1 - Synchronizing, switching and editing mpeg files - Google Patents

Synchronizing, switching and editing mpeg files Download PDF

Info

Publication number
WO1999052283A1
WO1999052283A1 PCT/US1999/007507 US9907507W WO9952283A1 WO 1999052283 A1 WO1999052283 A1 WO 1999052283A1 US 9907507 W US9907507 W US 9907507W WO 9952283 A1 WO9952283 A1 WO 9952283A1
Authority
WO
WIPO (PCT)
Prior art keywords
mpeg
video
streams
audio
file
Prior art date
Application number
PCT/US1999/007507
Other languages
French (fr)
Inventor
Bentley P. Hensley
Scott D. Orangio
Gary J. Thomas
Original Assignee
Seachange International, 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 Seachange International, Inc. filed Critical Seachange International, Inc.
Priority to CA002327620A priority Critical patent/CA2327620A1/en
Priority to EP99917346A priority patent/EP1078522A1/en
Priority to JP2000542917A priority patent/JP2003514404A/en
Priority to IL13887099A priority patent/IL138870A/en
Publication of WO1999052283A1 publication Critical patent/WO1999052283A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Definitions

  • the invention relates generally to video and audio signal encoding and decoding and manipulation, and in particular, to a method and apparatus for flexibly encoding and decoding multiple MPEG digital video and audio streams.
  • the television industry requires the availability of high quality, full motion audio and video signals, typically emanating from different sources.
  • United States Patent Number 5,862,312, filed October 24, 1995, issued January 19, 1999, and entitled LOOSELY COUPLED MASS STORAGE COMPUTER CLUSTER (the disclosure of which is incorporated herein, in its entirety, by reference) , there is disclosed a system and method for reliably and continuously delivering multiple media streams even if one of the nodes of the described cluster were to fail.
  • These streams are typically stored as MPEG encoded streams and/or compressed audio streams. It is important to be able to switch between the various streams in a seamless, continuous and reliable manner and to provide high quality audio and video signals having on-air broadcast quality.
  • the invention relates to a method for playing the decoded MPEG signals in a flexible and structured manner.
  • the invention relates to receiving, at a high data rate, plural MPEG data encoded streams from at least one source, decoding the received streams, and synchronizing the multiple decoded streams to a reference clock.
  • the multiple output streams can have varying formats and can include both video and audio streams .
  • the invention also provides the ability to play any type of MPEG file immediately followed by another file and to do so seamlessly.
  • the invention further provides the ability to skip B frames to obtain a desired reference frame quickly. Further, the invention enables the user to edit MPEG streams regardless of the GOP size. The editing can be accomplished for GOP sizes of two or greater.
  • Figure 1 illustrates an overall functional block diagram of the apparatus of the invention
  • FIG. 2 shows a more detailed schematic diagram of a controller in accordance with the invention
  • Figure 3 illustrates a more detailed schematic of the controller of Figure 2 ;
  • FIG. 4 illustrates a schematic diagram of an interface switch in accordance with the invention
  • FIG. 5 illustrates a more detailed schematic of the interface switch of Figure 4;
  • Figure 6 illustrates the interface switch FPGA;
  • Figure 7 illustrates a GENLOCK circuitry in accordance with the invention;
  • Figure 8 illustrates schematically the frequency phase detector circuitry in accordance with the invention.
  • Figure 9 illustrates operation of the GENLOCK method .
  • a decoding system 8 has a controller 10, incorporating a central processing unit (CPU) 12, a random access memory 14, a PCI interface 16, and MPEG decoders 20, and an interface switch 24, having digital and analog outputs 26, a GENLOCK input 28, audio and video switching 30, a decoder to decoder interface 32 and a Movie2 bus interface 34.
  • CPU central processing unit
  • RAM random access memory
  • PCI random access memory
  • MPEG decoders 20 MPEG decoders
  • an interface switch 24 having digital and analog outputs 26, a GENLOCK input 28, audio and video switching 30, a decoder to decoder interface 32 and a Movie2 bus interface 34.
  • the decoding system produces two independent switchable channels of analog or digital video and four independent switchable stereo channels of analog or digital audio (available over lines 36) from compressed MPEG data delivered over the PCI bus.
  • the PCI bus can operate with a 33 Mhz, 32-bit data bus architecture that shares bus bandwidth between a PCI controller 42 (Fig. 2) through bus master arbitration.
  • Each channel has an MPEG decoder 20 and, with an optional second decoding system, four (4) MPEG decoders 20 can be used, each providing two stereo channels of audio and one channel of video decompression.
  • These decompressed audio/video streams are switched using an "on-the-fly" re-programmable digital cross-point switch 30 to connect to any analog or digital output 26.
  • two or more decoding systems can be connected together to add additional channels and more robust switching capabilities.
  • a "master- slave” configuration is used, and a total of four analog/digital (a/d) video and eight a/d audio stereo channels can be "on-the-fly” switched to any outputs.
  • This configuration of re-programmable switching is very useful in "Program/Preview” applications typically used in a broadcast environment. This switching capability can also be used in a variety of editing applications.
  • the decoding system 8 provides an interface to signals from off-the-shelf video effects units. This is accomplished using a Movie2 bus 70 (see Fig. 1) .
  • a Movie2 bus is a board-to-board interconnect standard that provides a 27 Mhz time-multiplexed uncompressed multi-channel video exchange between connected units. Based on CCIR 601, SMPTE126M and EBU technical specifications, a Movie2 bus allows professional audio/video products to interconnect and exchange full -resolution studio quality video without burdening local CPU busses.
  • the Movie2 bus supports a sustained aggregate data rate well in excess of 300 MBps (MegaBytes per second) .
  • Movie2 bus allows the decoding system, in accordance with the illustrated embodiment, to route video to, from and/or through other units that support the Movie2 bus.
  • Movie2 signals are switched using the cross-point switch 30, of switch 24. This allows decoded MPEG outputs to be routed to a Movie2 bus and signals from a Movie2 bus to be routed to the system's digital and analog outputs 26.
  • two decoding systems would be connected, as noted above, through a master-slave bus while a special feature unit would be connected to the master decoding system through a Movie2 bus connection 70.
  • decoded video from multiple channels can be routed through Movie2 bus 70 and connected to special effects units (such as character generators, still stores, 2D and 3D effects/mixers, etc.)
  • special effects units such as character generators, still stores, 2D and 3D effects/mixers, etc.
  • the result can be displayed before or after passing through switch 30, and can be routed back through an MPEG encoder to encode any resulting edited video.
  • the controller 10 consists of the following major functional elements: the CPU 12 and the PCI Control 42 for the PCI bus 111 through PCI interface 16, RAM 14, an FPGA (field programmable gate array) Control 84, FPGA unit 86, two MPEG Audio/Video Decoders 20, Audio/Video Switch 87, Audio/Video Outputs 36, Peripherals and a System Sync. These functional areas combine to produce two independent switchable channels over lines 36, outputting analog/digital audio and video from MPEG data delivered through PCI bus 111.
  • the embedded CPU processor 12 for example, an Intel 80960HA controls high speed data transfers from the RAM to the audio/video decoders 20.
  • a local Bus/PCI bus master interface chip acting as PCI controller 42 (for example, PCL Technology PCI9080) performs high speed data transfers from the PCI bus to the RAM, controlled by logic in the FPGA 84.
  • the embedded processor also performs audio/video initialization and assists with an MPEG video decoding for each audio/video decoder channel over outputs 36.
  • the controller contains two serial ports 100, 102, and status LED's over lines 104 for external status/monitoring.
  • An external system sync (external video input) at 106 provides optional synchronization for all channels of a system.
  • CPU and PCI elements include the PCI bus interface 16, embedded CPU 12, a CPU Boot PLX 121 and the controller FPGA logic 84.
  • The, system receives MPEG data through the PCI bus interface 42.
  • a PCI interface chip 110 controls the interface function between the PCI bus 111 and an embedded CPU's local bus 112.
  • the PCI interface 16 requests the CPU bus 112 (becomes local bus master) in order to transfer data in a burst mode, into and out of local RAM 14.
  • the embedded CPU processor 12 is used to control MPEG data movement to the two audio/video decoders 20, initialization of the audio/video decoders and initialization/management of the system.
  • the CPU 12 shares a bus with a PCI bus master interface chip 110 (of interface 16) and a DMA bus master control 120 located in a controller FPGA 84.
  • RAM control is performed by the controller FPGA 84 and direct memory access (DMA) and I/O control are processed by the controller FPGA 84.
  • Chip selects, CPU start-up logic and FPGA programming control are performed in the CPU boot PLD 121.
  • a boot sectored flash memory 122 (for example, 512K x 8) provides initialization code for CPU boot operations.
  • Application code is downloaded to RAM as part of an initialization process.
  • Mainline CPU code is processed from RAM.
  • Serial ports 100, 102 or the PCI interface 16 can be used to download new code to the flash memory 122.
  • FPGA configuration (s) video quantization tables and other non-volatile configuration data is stored in flash memory as well.
  • the decoding system decompresses two channels of video and four channels of stereo audio.
  • Video can be displayed at SIF, half D-l or D-l resolutions in NTSC or PAL formats in accordance with the invention.
  • Audio outputs can be mono, dual mono, stereo or joint stereo.
  • the MPEG decoder for example, an IBM MPEGCD21 decodes compressed source material having one of the formats listed below:
  • the MPEG decoder 20 extracts MPEG DTS/PTS time stamps from packetized data streams and associates these time stamps to synchronize the audio/video outputs.
  • Digital video outputs are transferred through an audio/video decoder switch to programmed analog and digital video/audio outputs 36.
  • Video is converted to analog using a digital video encoder 126.
  • Digital audio outputs are likewise converted using a digital-to-analog audio converter 128. Audio/video analog outputs are buffered and amplified prior to final output.
  • the decoding system provides CPU controlled audio level adjustments and fine tuning adjustments through the interface switch 24 (Fig. 1) .
  • Video can also be converted to serial Dl, component digital video, through the interface switch.
  • a digital audio bit stream can be converted and output as AES/EBU type digital audio.
  • MPEG compressed data is input through the FPGA' s 84, 86, which create a serial input/output on bus 130, a sixteen bit data bus, which is shared, for asynchronous reads and writes, to an internal processor of an MPEG decoder chip.
  • Bit and display buffers are dynamically sizable and are located in the MPEG decoder's dedicated RAM 133. RAM can be configured for 4:2:0, Dl, for 4:2:2, Dl, or for 4:2:2, full CCIR 601 resolution.
  • the audio/video decoder 20 has a 27 MHz operational clock implemented using a VCXO/system sync circuit located on the interface switch 24. Audio and video specific clocks are produced by an internal PLL circuitry of the MPEG decoder. Audio PCM clocks and a 256fs clock (256 times the sampling frequency) are output to an A/V cross-point switch 30 of the interface switch 24.
  • the VCXO/system sync function also produces vertical and horizontal sync signals to all MPEG decoders 20.
  • Audio levels are controlled by software programming of the MPEG decoder's attenuation registers and/or programming audio level adjust ICs located on the interface switch 24.
  • a more detailed schematic block diagram of the control 10 is illustrated in Fig. 3.
  • interface switch 24 receives decoded digital audio/video data from the controller 10 as well as optionally from another decoding system 10a and/or the Movie2 bus interface 34. Digital audio and video are switched using the re-programmable cross-point switch array 30.
  • the audio/video signals can be switched to: (1) on-board output circuitry, (2) another decoding system, or (3) a Movie2 bus interface - from: (1) onboard decoders, (2) another decoding system, or (3) a Movie2 bus interface .
  • the output can be broadcast quality analog audio, AES/EBU digital audio, broadcast quality analog video and SMPTE serial Dl (component digital) video.
  • the interface switch 24 also provides line locked GENLOCK for all video channels and color locked GENLOCK for analog video channels.
  • the re-programmable cross-point switch 30 is used to reconfigure connections of decoder 20 audio/video outputs 36.
  • Each MPEG decoder audio and video output over lines 36 can be connected to one of analog and/or digital outputs 26 of the interface switch.
  • This switching arrangement provides program and preview functions which are used throughout the broadcast industry. It also provides an - 9 - ability to route signals to and from a daughter card, and to and from a Movie2 bus 70, providing a wide variety of an on-air, on-line and off-line editing and effects capabilities .
  • the apparatus of the invention provides the ability to play any type of MPEG file immediately followed by another file.
  • the transition between files is seamless and is controlled by the embedded CPU 12 of the controller in conjunction with the interface switch 24.
  • the first MPEG stream is stored in the CPU memory 14 and is decoded using one of the decoders 20.
  • the second stream is stored in the CPU memory 14 and is available for decoding by the other decoder 20 of the controller 10.
  • the second stream begins playing by the action of the cross-point switching array 30. For example, that array switches the first input stream over lines 36 to the second input stream over those lines in a seamless and continuous manner so that the output over the analog/digital audio/video outputs 26 is provided with a seamless transition from the first stream to the second stream.
  • the decoders 20 are flexible enough to handle varying formats . Not only can they handle different input formats, but they can also provide multiple output formats as well. As an example of the flexibility of the system, both decoders can be operating simultaneously on different input streams and the outputs, over the lines 36, from each switch to the cross-point switching array 30 can then be connected to the correct output lines 26. Accordingly, the invention provides for the output of multiple streams, simultaneously, one stream, and for a transition between two streams. - 10 -
  • the control circuitry 10 also enables the system to skip a plurality of so-called B frames in order to get to the desired reference frames more quickly.
  • the skipped frames need not be played and can, accordingly, be discarded.
  • all of the input streams can be synchronized to the same reference clock so that, using the GENLOCK signal and circuitry, they can be synchronized to each other.
  • the structure of the invention can be used to enable one stream to be previewed while the other stream is being played as an output, that is, on-air.
  • the previewed stream can be directed to either the Movie2 bus directly or to a separate output directed to a display monitor at, for example, the studio itself. In this manner, different video streams can be reviewed while a known stream is being output for broadcast.
  • a second decoding system is employed, yet greater flexibility can be obtained with the control elements preferably operating in the master- slave relationship.
  • the Movie2 bus 70 provides a standard passive back plane interface 34 to add special features to an output of a decoder. Mixing, 2D video effects and linear and alpha keying are a few special features that can be added.
  • the Movie2 bus is located on the interface switch on which I/O is processed using the cross-point switch 30 and programmable logic located in an interface FPGA 241.
  • An Interface EPLD 243 provides two channels of YUV to SMPTE-125 parallel Dl conversion (for data sent to Dl digital video converters), video GENLOCK PLL control, - 11 - video Hsync, Vsync and field timing, SMPTE-125 embedded audio packaging, LITC data intput and output formatting, and miscellaneous hardware control. Miscellaneous hardware control communicates to the control 10 through a serial input/output (SIO) bus 270.
  • SIO serial input/output
  • FIG. 5 A more detailed schematic description of the interface switch is provided in Fig. 5 and Fig. 6 (interface switch FPGA) .
  • Video GENLOCK PLL Control Referring to Fig. 7, an FPGA is used to provide video GENLOCK control between an on board VCXO 293 and an external reference 284.
  • the internal VCXO is locked in frequency and phase to the external video hsync. If an external clock source is not present, a control voltage will be set to a mid-range frequency of the VCXO.
  • System GENLOCK uses the VCXO clock source 293, the FPGA and a 12 bit digital to analog (D/A) converter 290. All of the phase-locking intelligence is located in the FPGA.
  • the D/A converter 290 is updated every horizontal sync period.
  • the D/A converter responds, in approximately 16-32 usec, by changing its output analog control voltage over line 292 to the VCXO 293.
  • the FPGA creates an outgoing horizontal sync (H out ) (as well all other video timing) based on the VCXO clock frequency.
  • the outgoing horizontal sync (H out ) locks to incoming horizontal sync (H ⁇ n ) through a two step process. Each step uses digital logic to produce the desired response.
  • a frequency detector 296 measures the H ⁇ n period in numbers of 27Mhz clock samples.
  • the VCXO 293 is then adjusted until the number of clocks per line is correct (1716 for NTSC, and 1728 for PAL) .
  • the second step of the phase lock process further adjusts frequency and aligns the phases of H out and H in .
  • step 506 This is achieved by first synchronizing H out with H in (step 508) , then measuring and adjusting the D/A 290 for each clock sample of phase difference detected, (step 510)
  • a "snap" algorithm is applied to achieve minimum alignment time. This algorithm is based upon a continuous or analog model of phase locking. As the two signals "slide” in phase with respect to one another, the phase lock loop attempts to "pull” or adjust the VCXO. When the VCXO frequency passes through that state in which H out and H in are equal, the direction of the "slide” will change.
  • the frequency/phase detector 296 is illustrated in greater detail in Fig. 8.
  • a continuous system is approximated by adjusting the VCXO in equal frequency increments every line time. In this way, the rate of change of the frequency is linear.
  • the desired frequency is achieved.
  • the lock frequency is the midpoint of the frequency difference between the threshold frequencies. (This is the point where the slope is zero.) This frequency is loaded into the D/A converter the next time the phase difference is zero, causing a "snapping" effect to the desired frequency.

Abstract

A method and apparatus for flexibly and reliably processing one or more MPEG signals from at least one source. The method provides for synchronizing (28) decoded streams (36) to a reference clock, for playing multiple streams simultaneously or for transitioning (24) between streams in a seamless manner. The output streams can have varying formats and can include both video and audio. The structure and method further provide for the capability of skipping B frames to reach a desired reference frame quickly and to edit the MPEG streams regardless of GOP size.

Description

SYNCHRONIZING, SWITCHING AND EDITING MPEG FILES
Background of the Invention
The invention relates generally to video and audio signal encoding and decoding and manipulation, and in particular, to a method and apparatus for flexibly encoding and decoding multiple MPEG digital video and audio streams. The television industry requires the availability of high quality, full motion audio and video signals, typically emanating from different sources. In United States Patent Number 5,862,312, filed October 24, 1995, issued January 19, 1999, and entitled LOOSELY COUPLED MASS STORAGE COMPUTER CLUSTER (the disclosure of which is incorporated herein, in its entirety, by reference) , there is disclosed a system and method for reliably and continuously delivering multiple media streams even if one of the nodes of the described cluster were to fail. These streams are typically stored as MPEG encoded streams and/or compressed audio streams. It is important to be able to switch between the various streams in a seamless, continuous and reliable manner and to provide high quality audio and video signals having on-air broadcast quality.
As the technology develops, it is also important to be able to seamlessly switch between different MPEG streams, to provide multiple streams, and to decode incoming streams "on-the-fly" so that no interruptions occur in the output video or audio.
Summary of the Invention The invention relates to a method for playing the decoded MPEG signals in a flexible and structured manner. In one aspect, the invention relates to receiving, at a high data rate, plural MPEG data encoded streams from at least one source, decoding the received streams, and synchronizing the multiple decoded streams to a reference clock.
In another aspect of the invention, there is provided a structure which allows the user to play multiple stream inputs simultaneously. The multiple output streams can have varying formats and can include both video and audio streams .
The invention also provides the ability to play any type of MPEG file immediately followed by another file and to do so seamlessly. The invention further provides the ability to skip B frames to obtain a desired reference frame quickly. Further, the invention enables the user to edit MPEG streams regardless of the GOP size. The editing can be accomplished for GOP sizes of two or greater.
Brief Description of the Drawing Other objects and features of the invention will be apparent from the following drawings, taken in connection with the description, in which: Figure 1 illustrates an overall functional block diagram of the apparatus of the invention;
Figure 2 shows a more detailed schematic diagram of a controller in accordance with the invention;
Figure 3 illustrates a more detailed schematic of the controller of Figure 2 ;
Figure 4 illustrates a schematic diagram of an interface switch in accordance with the invention;
Figure 5 illustrates a more detailed schematic of the interface switch of Figure 4; Figure 6 illustrates the interface switch FPGA; Figure 7 illustrates a GENLOCK circuitry in accordance with the invention;
Figure 8 illustrates schematically the frequency phase detector circuitry in accordance with the invention; and - 3 -
Figure 9 illustrates operation of the GENLOCK method .
Description of Particular Embodiments of the Invention
Referring to Figure 1, a decoding system 8 according to the invention has a controller 10, incorporating a central processing unit (CPU) 12, a random access memory 14, a PCI interface 16, and MPEG decoders 20, and an interface switch 24, having digital and analog outputs 26, a GENLOCK input 28, audio and video switching 30, a decoder to decoder interface 32 and a Movie2 bus interface 34.
The decoding system produces two independent switchable channels of analog or digital video and four independent switchable stereo channels of analog or digital audio (available over lines 36) from compressed MPEG data delivered over the PCI bus. The PCI bus can operate with a 33 Mhz, 32-bit data bus architecture that shares bus bandwidth between a PCI controller 42 (Fig. 2) through bus master arbitration. Each channel has an MPEG decoder 20 and, with an optional second decoding system, four (4) MPEG decoders 20 can be used, each providing two stereo channels of audio and one channel of video decompression. These decompressed audio/video streams are switched using an "on-the-fly" re-programmable digital cross-point switch 30 to connect to any analog or digital output 26.
As suggested above, two or more decoding systems can be connected together to add additional channels and more robust switching capabilities. When two systems 8 are connected according to the invention, a "master- slave" configuration is used, and a total of four analog/digital (a/d) video and eight a/d audio stereo channels can be "on-the-fly" switched to any outputs. This configuration of re-programmable switching is very useful in "Program/Preview" applications typically used in a broadcast environment. This switching capability can also be used in a variety of editing applications. In addition to the switching capabilities described above, the decoding system 8 provides an interface to signals from off-the-shelf video effects units. This is accomplished using a Movie2 bus 70 (see Fig. 1) . A Movie2 bus is a board-to-board interconnect standard that provides a 27 Mhz time-multiplexed uncompressed multi-channel video exchange between connected units. Based on CCIR 601, SMPTE126M and EBU technical specifications, a Movie2 bus allows professional audio/video products to interconnect and exchange full -resolution studio quality video without burdening local CPU busses. The Movie2 bus supports a sustained aggregate data rate well in excess of 300 MBps (MegaBytes per second) .
Use of a Movie2 bus allows the decoding system, in accordance with the illustrated embodiment, to route video to, from and/or through other units that support the Movie2 bus. Movie2 signals are switched using the cross-point switch 30, of switch 24. This allows decoded MPEG outputs to be routed to a Movie2 bus and signals from a Movie2 bus to be routed to the system's digital and analog outputs 26. To achieve a maximum set of features, two decoding systems would be connected, as noted above, through a master-slave bus while a special feature unit would be connected to the master decoding system through a Movie2 bus connection 70. Thus, decoded video from multiple channels can be routed through Movie2 bus 70 and connected to special effects units (such as character generators, still stores, 2D and 3D effects/mixers, etc.) The result can be displayed before or after passing through switch 30, and can be routed back through an MPEG encoder to encode any resulting edited video.
Referring to Fig. 2, the controller 10 consists of the following major functional elements: the CPU 12 and the PCI Control 42 for the PCI bus 111 through PCI interface 16, RAM 14, an FPGA (field programmable gate array) Control 84, FPGA unit 86, two MPEG Audio/Video Decoders 20, Audio/Video Switch 87, Audio/Video Outputs 36, Peripherals and a System Sync. These functional areas combine to produce two independent switchable channels over lines 36, outputting analog/digital audio and video from MPEG data delivered through PCI bus 111. The embedded CPU processor 12 (for example, an Intel 80960HA) controls high speed data transfers from the RAM to the audio/video decoders 20. A local Bus/PCI bus master interface chip acting as PCI controller 42 (for example, PCL Technology PCI9080) performs high speed data transfers from the PCI bus to the RAM, controlled by logic in the FPGA 84. The embedded processor also performs audio/video initialization and assists with an MPEG video decoding for each audio/video decoder channel over outputs 36. The controller contains two serial ports 100, 102, and status LED's over lines 104 for external status/monitoring. An external system sync (external video input) at 106 provides optional synchronization for all channels of a system.
CPU and PCI elements include the PCI bus interface 16, embedded CPU 12, a CPU Boot PLX 121 and the controller FPGA logic 84.
The, system receives MPEG data through the PCI bus interface 42. A PCI interface chip 110 controls the interface function between the PCI bus 111 and an embedded CPU's local bus 112. The PCI interface 16 requests the CPU bus 112 (becomes local bus master) in order to transfer data in a burst mode, into and out of local RAM 14.
The embedded CPU processor 12 is used to control MPEG data movement to the two audio/video decoders 20, initialization of the audio/video decoders and initialization/management of the system.
The CPU 12 shares a bus with a PCI bus master interface chip 110 (of interface 16) and a DMA bus master control 120 located in a controller FPGA 84. RAM control is performed by the controller FPGA 84 and direct memory access (DMA) and I/O control are processed by the controller FPGA 84. Chip selects, CPU start-up logic and FPGA programming control are performed in the CPU boot PLD 121. A boot sectored flash memory 122, (for example, 512K x 8) provides initialization code for CPU boot operations. Application code is downloaded to RAM as part of an initialization process. Mainline CPU code is processed from RAM. Serial ports 100, 102 or the PCI interface 16 can be used to download new code to the flash memory 122. FPGA configuration (s) , video quantization tables and other non-volatile configuration data is stored in flash memory as well.
The decoding system decompresses two channels of video and four channels of stereo audio. Video can be displayed at SIF, half D-l or D-l resolutions in NTSC or PAL formats in accordance with the invention. Audio outputs can be mono, dual mono, stereo or joint stereo. The MPEG decoder (for example, an IBM MPEGCD21) decodes compressed source material having one of the formats listed below:
- MPEG packetized elementary stream (PES) , as defined by ISO/IEC 13818-1
- MPEG-2 video elementary stream, as defined by ISO/IEC 13818-2 - MPEG audio elementary stream, as defined by ISO/IEC 11172-3, Layers I and II
- MPEG video elementary stream, as defined by ISO/IEC 11172-2 - ISO/IEC 11172-1 packets
- Supports 4:2:2 chroma format, 1PB data at up to 50Mb/s
The MPEG decoder 20 extracts MPEG DTS/PTS time stamps from packetized data streams and associates these time stamps to synchronize the audio/video outputs. Digital video outputs are transferred through an audio/video decoder switch to programmed analog and digital video/audio outputs 36. Video is converted to analog using a digital video encoder 126. Digital audio outputs are likewise converted using a digital-to-analog audio converter 128. Audio/video analog outputs are buffered and amplified prior to final output. The decoding system provides CPU controlled audio level adjustments and fine tuning adjustments through the interface switch 24 (Fig. 1) . Video can also be converted to serial Dl, component digital video, through the interface switch. In addition, a digital audio bit stream can be converted and output as AES/EBU type digital audio. MPEG compressed data is input through the FPGA' s 84, 86, which create a serial input/output on bus 130, a sixteen bit data bus, which is shared, for asynchronous reads and writes, to an internal processor of an MPEG decoder chip. Bit and display buffers are dynamically sizable and are located in the MPEG decoder's dedicated RAM 133. RAM can be configured for 4:2:0, Dl, for 4:2:2, Dl, or for 4:2:2, full CCIR 601 resolution.
In the illustrated embodiment, the audio/video decoder 20 has a 27 MHz operational clock implemented using a VCXO/system sync circuit located on the interface switch 24. Audio and video specific clocks are produced by an internal PLL circuitry of the MPEG decoder. Audio PCM clocks and a 256fs clock (256 times the sampling frequency) are output to an A/V cross-point switch 30 of the interface switch 24. The VCXO/system sync function also produces vertical and horizontal sync signals to all MPEG decoders 20.
Audio levels are controlled by software programming of the MPEG decoder's attenuation registers and/or programming audio level adjust ICs located on the interface switch 24. A more detailed schematic block diagram of the control 10 is illustrated in Fig. 3.
Referring to Fig. 4, interface switch 24 receives decoded digital audio/video data from the controller 10 as well as optionally from another decoding system 10a and/or the Movie2 bus interface 34. Digital audio and video are switched using the re-programmable cross-point switch array 30. The audio/video signals can be switched to: (1) on-board output circuitry, (2) another decoding system, or (3) a Movie2 bus interface - from: (1) onboard decoders, (2) another decoding system, or (3) a Movie2 bus interface . The output can be broadcast quality analog audio, AES/EBU digital audio, broadcast quality analog video and SMPTE serial Dl (component digital) video. The interface switch 24 also provides line locked GENLOCK for all video channels and color locked GENLOCK for analog video channels.
The re-programmable cross-point switch 30 is used to reconfigure connections of decoder 20 audio/video outputs 36. Each MPEG decoder audio and video output over lines 36 (from either a master or slave decoder) can be connected to one of analog and/or digital outputs 26 of the interface switch. This switching arrangement provides program and preview functions which are used throughout the broadcast industry. It also provides an - 9 - ability to route signals to and from a daughter card, and to and from a Movie2 bus 70, providing a wide variety of an on-air, on-line and off-line editing and effects capabilities . Using the structure described above, the apparatus of the invention provides the ability to play any type of MPEG file immediately followed by another file. The transition between files is seamless and is controlled by the embedded CPU 12 of the controller in conjunction with the interface switch 24. In particular, the first MPEG stream is stored in the CPU memory 14 and is decoded using one of the decoders 20. As that stream is being played, the second stream is stored in the CPU memory 14 and is available for decoding by the other decoder 20 of the controller 10. At the correct time, the second stream begins playing by the action of the cross-point switching array 30. For example, that array switches the first input stream over lines 36 to the second input stream over those lines in a seamless and continuous manner so that the output over the analog/digital audio/video outputs 26 is provided with a seamless transition from the first stream to the second stream.
In addition, the decoders 20 are flexible enough to handle varying formats . Not only can they handle different input formats, but they can also provide multiple output formats as well. As an example of the flexibility of the system, both decoders can be operating simultaneously on different input streams and the outputs, over the lines 36, from each switch to the cross-point switching array 30 can then be connected to the correct output lines 26. Accordingly, the invention provides for the output of multiple streams, simultaneously, one stream, and for a transition between two streams. - 10 -
The control circuitry 10 also enables the system to skip a plurality of so-called B frames in order to get to the desired reference frames more quickly. The skipped frames need not be played and can, accordingly, be discarded.
As noted above, all of the input streams can be synchronized to the same reference clock so that, using the GENLOCK signal and circuitry, they can be synchronized to each other. In addition, the structure of the invention can be used to enable one stream to be previewed while the other stream is being played as an output, that is, on-air. The previewed stream can be directed to either the Movie2 bus directly or to a separate output directed to a display monitor at, for example, the studio itself. In this manner, different video streams can be reviewed while a known stream is being output for broadcast. In those instances when, referring to Figure 1, a second decoding system is employed, yet greater flexibility can be obtained with the control elements preferably operating in the master- slave relationship.
Movie2 Bus Function
The Movie2 bus 70 provides a standard passive back plane interface 34 to add special features to an output of a decoder. Mixing, 2D video effects and linear and alpha keying are a few special features that can be added. The Movie2 bus is located on the interface switch on which I/O is processed using the cross-point switch 30 and programmable logic located in an interface FPGA 241.
Interface EPLD
An Interface EPLD 243 provides two channels of YUV to SMPTE-125 parallel Dl conversion (for data sent to Dl digital video converters), video GENLOCK PLL control, - 11 - video Hsync, Vsync and field timing, SMPTE-125 embedded audio packaging, LITC data intput and output formatting, and miscellaneous hardware control. Miscellaneous hardware control communicates to the control 10 through a serial input/output (SIO) bus 270.
A more detailed schematic description of the interface switch is provided in Fig. 5 and Fig. 6 (interface switch FPGA) .
Video GENLOCK PLL Control Referring to Fig. 7, an FPGA is used to provide video GENLOCK control between an on board VCXO 293 and an external reference 284. The internal VCXO is locked in frequency and phase to the external video hsync. If an external clock source is not present, a control voltage will be set to a mid-range frequency of the VCXO.
System GENLOCK uses the VCXO clock source 293, the FPGA and a 12 bit digital to analog (D/A) converter 290. All of the phase-locking intelligence is located in the FPGA. The D/A converter 290 is updated every horizontal sync period. The D/A converter responds, in approximately 16-32 usec, by changing its output analog control voltage over line 292 to the VCXO 293. The FPGA creates an outgoing horizontal sync (Hout) (as well all other video timing) based on the VCXO clock frequency. The outgoing horizontal sync (Hout) locks to incoming horizontal sync (Hιn) through a two step process. Each step uses digital logic to produce the desired response.
First, referring to Fig. 9, upon enabling and automatically detecting an external source (step 500) , a frequency detector 296 measures the Hιn period in numbers of 27Mhz clock samples. (step 502) The VCXO 293 is then adjusted until the number of clocks per line is correct (1716 for NTSC, and 1728 for PAL) . (step 504) - 12 -
The second step of the phase lock process, further adjusts frequency and aligns the phases of Hout and Hin. (step 506) This is achieved by first synchronizing Hout with Hin (step 508) , then measuring and adjusting the D/A 290 for each clock sample of phase difference detected, (step 510) A "snap" algorithm is applied to achieve minimum alignment time. This algorithm is based upon a continuous or analog model of phase locking. As the two signals "slide" in phase with respect to one another, the phase lock loop attempts to "pull" or adjust the VCXO. When the VCXO frequency passes through that state in which Hout and Hin are equal, the direction of the "slide" will change. The frequency/phase detector 296 is illustrated in greater detail in Fig. 8. A continuous system is approximated by adjusting the VCXO in equal frequency increments every line time. In this way, the rate of change of the frequency is linear. When the slope of the frequency change is zero, the desired frequency is achieved. As the VCXO is adjusted, the phase difference will begin at and return to a set threshold level in a short amount of time. The lock frequency is the midpoint of the frequency difference between the threshold frequencies. (This is the point where the slope is zero.) This frequency is loaded into the D/A converter the next time the phase difference is zero, causing a "snapping" effect to the desired frequency.
Additions, subtractions and other modifications of the invention will be apparent to those practiced in this field.

Claims

- 13 -What is claimed is:
1. A method for playing decoded MPEG signals comprising receiving at a high data rate plural MPEG data encoded streams from at least one source, decoding said received streams, and synchronizing multiple decoded streams to a reference clock.
2. A method for playing in sequence a first and a second encoded MPEG file comprising decoding each MPEG file to be played, seamlessly switching between the first and the second MPEG file where said first and second MPEG files have different formats.
3. A method for editing an encoded MPEG file comprising decoding said MPEG file, and editing said MPEG file independent of GOP size.
4. A method for editing an MPEG encoded file comprising reading the encoded file, skipping selected B frames of the read file without decoding them, and processing only a next non-B frame of the MPEG file.
5. A method of processing and presenting video and audio signals comprising acquiring a plurality of video and audio signals, said video signals and said audio signals having different formats, and - 14 - processing said different format signals and generating a single format stream derived from said different format video and audio signals.
PCT/US1999/007507 1998-04-06 1999-04-06 Synchronizing, switching and editing mpeg files WO1999052283A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002327620A CA2327620A1 (en) 1998-04-06 1999-04-06 Synchronizing, switching and editing mpeg files
EP99917346A EP1078522A1 (en) 1998-04-06 1999-04-06 Synchronizing, switching and editing mpeg files
JP2000542917A JP2003514404A (en) 1998-04-06 1999-04-06 Synchronization, switching and editing of MPEG files
IL13887099A IL138870A (en) 1998-04-06 1999-04-06 Synchronizing, switching and editing mpeg files

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8091698P 1998-04-06 1998-04-06
US60/080,916 1998-04-06

Publications (1)

Publication Number Publication Date
WO1999052283A1 true WO1999052283A1 (en) 1999-10-14

Family

ID=22160481

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/007507 WO1999052283A1 (en) 1998-04-06 1999-04-06 Synchronizing, switching and editing mpeg files

Country Status (6)

Country Link
EP (1) EP1078522A1 (en)
JP (1) JP2003514404A (en)
CN (1) CN1184813C (en)
CA (1) CA2327620A1 (en)
IL (1) IL138870A (en)
WO (1) WO1999052283A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1246073A2 (en) * 2001-03-30 2002-10-02 Tektronix, Inc. Audio/video processing engine
US6704930B1 (en) 1999-04-20 2004-03-09 Expanse Networks, Inc. Advertisement insertion techniques for digital video streams
US7068724B1 (en) 1999-10-20 2006-06-27 Prime Research Alliance E., Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
US9906819B2 (en) 2000-04-20 2018-02-27 Prime Research Alliance E, Inc. Advertisement management system for digital video streams

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100531383C (en) * 2006-05-23 2009-08-19 中国科学院声学研究所 Hierarchical processing method of video frames in video playing
CN102185998B (en) * 2010-12-31 2013-05-22 北京中科大洋科技发展股份有限公司 A method for synchronizing video signals by employing AES/EBU digital audio signals
US20130055326A1 (en) * 2011-08-30 2013-02-28 Microsoft Corporation Techniques for dynamic switching between coded bitstreams

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831446A (en) * 1987-04-08 1989-05-16 Pioneer Electronic Corporation Video signal output selection circuit
US5299855A (en) * 1992-11-25 1994-04-05 Zubeck Michael J Child seat restraint apparatus
US5305113A (en) * 1991-11-30 1994-04-19 Sony Corporation Motion picture decoding system which affords smooth reproduction of recorded motion picture coded data in forward and reverse directions at high speed
US5325131A (en) * 1993-05-03 1994-06-28 Tektronix, Inc. Multiformat television switcher
US5504585A (en) * 1992-09-22 1996-04-02 Sony Corporation Apparatus and method for providing plural pictures while searching a recording medium whereon a compressed picture signal is recorded
US5535008A (en) * 1993-03-16 1996-07-09 Victor Company Of Japan, Ltd. Method for jump-reproducing video data of moving picture coded with high efficiency
US5602592A (en) * 1994-01-18 1997-02-11 Matsushita Electric Industrial Co., Ltd. Moving picture compressed signal changeover apparatus
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831446A (en) * 1987-04-08 1989-05-16 Pioneer Electronic Corporation Video signal output selection circuit
US5305113A (en) * 1991-11-30 1994-04-19 Sony Corporation Motion picture decoding system which affords smooth reproduction of recorded motion picture coded data in forward and reverse directions at high speed
US5504585A (en) * 1992-09-22 1996-04-02 Sony Corporation Apparatus and method for providing plural pictures while searching a recording medium whereon a compressed picture signal is recorded
US5299855A (en) * 1992-11-25 1994-04-05 Zubeck Michael J Child seat restraint apparatus
US5535008A (en) * 1993-03-16 1996-07-09 Victor Company Of Japan, Ltd. Method for jump-reproducing video data of moving picture coded with high efficiency
US5325131A (en) * 1993-05-03 1994-06-28 Tektronix, Inc. Multiformat television switcher
US5602592A (en) * 1994-01-18 1997-02-11 Matsushita Electric Industrial Co., Ltd. Moving picture compressed signal changeover apparatus
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704930B1 (en) 1999-04-20 2004-03-09 Expanse Networks, Inc. Advertisement insertion techniques for digital video streams
US7068724B1 (en) 1999-10-20 2006-06-27 Prime Research Alliance E., Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
US7450647B2 (en) 1999-10-20 2008-11-11 Prime Research Alliance E, Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
US8170122B2 (en) 1999-10-20 2012-05-01 Prime Research Alliance E., Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
US9906819B2 (en) 2000-04-20 2018-02-27 Prime Research Alliance E, Inc. Advertisement management system for digital video streams
EP1246073A2 (en) * 2001-03-30 2002-10-02 Tektronix, Inc. Audio/video processing engine
EP1246073A3 (en) * 2001-03-30 2004-08-04 Tektronix, Inc. Audio/video processing engine

Also Published As

Publication number Publication date
IL138870A0 (en) 2001-11-25
IL138870A (en) 2005-08-31
CN1307781A (en) 2001-08-08
CN1184813C (en) 2005-01-12
JP2003514404A (en) 2003-04-15
CA2327620A1 (en) 1999-10-14
EP1078522A1 (en) 2001-02-28

Similar Documents

Publication Publication Date Title
US6754439B1 (en) Method and apparatus for using multiple compressed digital video and audio signals
JP3961185B2 (en) System and method for merging multiple audio streams
US5903261A (en) Computer based video system
US6369855B1 (en) Audio and video decoder circuit and system
US6359910B1 (en) Clock conversion apparatus and method
US20130039418A1 (en) System and Method for Video and Audio Encoding on a Single Chip
US20060034375A1 (en) Data compression unit control for alignment of output signal
JP4257478B2 (en) Recording / playback device
WO1999052283A1 (en) Synchronizing, switching and editing mpeg files
US6636563B2 (en) Decoder and decoding method for information signal
JPH1032815A (en) Image compositing device
US6496233B1 (en) Command and control architecture for a video decoder and an audio decoder
Yamauchi et al. Single chip video processor for digital HDTV
JP4366912B2 (en) Decoding device and decoding method
JP2001359071A (en) Data distributor and method, and data distribution system
JPH11112947A (en) Device and method for data multiplexing, device and method for data processing, and transmission medium
JP3891035B2 (en) Media multiplexing apparatus and encoding apparatus using the same
JP2006019997A (en) Moving picture data transfer system
KR100298398B1 (en) Apparatus for processing freeze picture
JP2001313905A (en) Recording and reproducing device of multidata, and recording and reproducing method
JP2001177828A (en) Synchronization control encoder
JPH08205079A (en) Video edit device
JP2004112307A (en) Digital broadcasting signal switching device and method therefor
KR20000003026A (en) Video/audio synchronizing device for high definition tv audio decoder
JPH11205798A (en) Picture decoder and multiplexer

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99804907.7

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN IL JP SG

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2327620

Country of ref document: CA

Ref document number: 2327620

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 138870

Country of ref document: IL

ENP Entry into the national phase

Ref document number: 2000 542917

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1999917346

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999917346

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999917346

Country of ref document: EP