HK1038127B - System and method for the delivery of digital video and data over a communication channel - Google Patents
System and method for the delivery of digital video and data over a communication channel Download PDFInfo
- Publication number
- HK1038127B HK1038127B HK01109042.8A HK01109042A HK1038127B HK 1038127 B HK1038127 B HK 1038127B HK 01109042 A HK01109042 A HK 01109042A HK 1038127 B HK1038127 B HK 1038127B
- Authority
- HK
- Hong Kong
- Prior art keywords
- video
- data
- module
- program
- connection path
- Prior art date
Links
Description
Cross reference to related applications
This document claims priority from the filing date of a provisional patent application serial No. 60/064,153 entitled "digital image and data system", filed on 4.11.1997, the contents of which are hereby incorporated by reference and related to the following U.S. patent applications: "computer system and method for providing digital images and data over a communications channel" (filed on the same date, attorney docket 62004-.
Technical Field
The present invention relates to the transfer of digital images and data, and more particularly to a system and method for transferring digital images and data over a communication channel.
Background
The delivery of digital image signals to a user has been accomplished in a number of ways. For example, compressed digital images using a moving picture experts group (MPEG-2) compression/decompression method can be transmitted in various media including coaxial cable, fiber optic cable, and satellite. Some delivery systems are considered to be "video on demand" or "near video on demand" systems on the part of a user or subscriber. A particular program can be selected and viewed from a plurality of programs provided as desired at any time. A user in a video-on-demand system may select a viewing program at any time. In near video on demand systems, the user is typically given an existing programming choice at a particular time of repetition. In addition, the broadcast image is applied to broadcasting programs on a daily or weekly schedule and is simultaneously delivered to a plurality of users.
These systems typically make available to a user all of the broadcast program channels from which the user selects a desired program, typically by means of some sort of converter or decoder box located close to the television receiver. For example, in a typical cable television system, all available broadcast programming is delivered to a subscriber via coaxial cable terminated at the subscriber's premises. The broadcast program available to each particular user is determined by a filter or scrambler inserted between the supply cable and the user's premises. In this way, the available program selections to a user are controlled. In these cable television systems, a "pay for program" system is also effectively used by utilizing a converter box. If the subscriber desires a particular program, the subscriber contacts the cable service provider in advance to purchase the particular program.
A user or subscriber in a satellite digital image delivery system installs a small parabolic dish and specialized electronics on his premises. These systems use the direct broadcast satellite "DBS" spectrum to deliver digital image signals to subscribers. In these systems, all available broadcast program content is transmitted directly from a dedicated satellite in geosynchronous earth orbit to all users. Geosynchronous orbits refer to satellite orbits in which one satellite remains in a fixed position relative to the earth, around the earth. A receiver unit placed at the user's premises decodes the data stream to extract the desired broadcast program.
Each of the above-described digital image delivery systems has drawbacks. For example, in a cable television system, it is quite easy to steal or misappropriate signals from a cable placed near the user's premises. This allows an unauthorized user to select all available broadcast programs on the cable. In addition, there are long-standing reliability problems with cable television systems.
Satellite delivery systems also have disadvantages. Bandwidth allocation, channel capacity, becomes very tight since all available broadcast programs are broadcast to all subscribers simultaneously. For example, during a broadcast program of fast sports such as sports or high shows simultaneously broadcast on sunday afternoon of a soccer season, a frequency band must be added to some channels. Since the amount of available bandwidth is fixed, the available bandwidth for other channels must be reduced. In addition, satellite delivery systems rely on the correct installation of parabolic dish antennas, which must have an unobstructed line of sight to one or more satellites, and be resistant to signal degradation in inclement weather. Furthermore, as in a cable television system or any system where all channels are transmitted to all users, the users thereof may obtain unauthorized channels.
Other available systems deliver several image programs to end users by employing an asynchronous transfer network (ATM) that can deliver a particular program to an end user. Unfortunately, ATM systems are expensive to implement and, because these systems use ATM switching fabrics, are susceptible to overload, such as occurs when a large number of users choose to view multiple programs.
Accordingly, there is a need in the industry to address the above-described deficiencies and inadequacies.
Summary of the invention
The present invention provides a system and method for communicating digital images, bi-directional data, such as internet data, and Plain Old Telephone Service (POTS).
Briefly, in architecture, the present system can be implemented as follows. A system for transmitting digital images and data over a communication channel includes a broadcast program center configured to receive a plurality of video signals and at least one bi-directional data signal. A central office in communication with the broadcast program center is configured to receive a plurality of video signals and place the plurality of video signals on a bus. The central office is also configured to transmit at least one of the plurality of video signals and to support communication of at least one bi-directional data signal to at least one end user over a communication channel.
The present invention provides a method for providing a plurality of video channels and providing bi-directional data over a communication channel. In this regard, the method of the present invention may be summarized as the following steps: placing a plurality of video channels on a bus; receiving a request from a user of at least one of said plurality of video channels; processing the request to determine whether the user is a user authorized to receive at least one of the plurality of video channels; and, if the user is a user authorized to receive said at least one of the plurality of video channels, transmitting one of the plurality of video channels to the user via a communication channel.
Brief description of the drawings
The invention can be better understood with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the figures, like reference numerals designate corresponding parts throughout the several views.
FIG. 1A is a high level system diagram showing the overall topology in which the digital image and data delivery system of the present invention is shown;
FIG. 1B is a flow chart illustrating the manner in which a user requests a program through the system topology of FIG. 1A;
fig. 2 is a schematic diagram showing the transfer of digital images from the content provider 11 to the telephone company broadcast program and control center 100;
fig. 3 is a diagram showing a structure of connecting the telephone company broadcast program and control center 100 to the central office 400;
FIG. 4 is a block diagram illustrating the components of the present invention located in a telephone company broadcast program and control center 100;
FIG. 5 is a block diagram illustrating the video control shelf 200 of FIG. 4;
FIG. 6 is a block diagram illustrating the video control module 250 of FIG. 5;
FIG. 7 is a schematic diagram showing the shelf processor module 300 of FIG. 5;
FIG. 8 is a flowchart illustrating the structure, function, and operation of one possible embodiment of the system management workstation 325 of FIG. 4;
FIG. 9 is a schematic diagram of the structure of a central office 400;
FIG. 10A is a schematic diagram of the video network interface shelf 450 of FIG. 9;
FIG. 10B is a block diagram illustrating the video network interface module 700 of FIG. 10A;
FIG. 11A is a schematic view of the video distribution shelf 500 of FIG. 9;
FIG. 11B is a block diagram of the video input module 800 of FIG. 11A;
FIG. 11C is a block diagram illustrating an alternative allocation scheme for the video input module of FIG. 11B;
fig. 11D is a block diagram illustrating the multi-video output module 850 of fig. 11A;
FIG. 11E is a schematic diagram showing the remote control video output module of FIG. 11A;
fig. 12 is a schematic diagram illustrating the access shelf 550 and the low pass filter module 600 of fig. 9;
fig. 13 is a schematic diagram showing additional parts of the access shelf 550 of fig. 9;
fig. 14 is a schematic diagram showing the universal access adapter module 1000 of fig. 12 and 13;
FIG. 15 is a flow chart of the central office master workstation 650 of FIG. 9;
FIG. 16 is a block diagram of a user front end 1300;
FIG. 17A is a schematic diagram illustrating an Intelligent Network Interface (INI)1350 of FIG. 16;
FIG. 17B is a schematic diagram showing a system in which the IR remote control interface of FIG. 17A is installed;
FIG. 17C is a schematic diagram showing the IR remote control transceiver of FIG. 17B;
FIG. 17D is a schematic diagram showing the IR remote control interface 1358 of 17A;
FIG. 18 is a schematic diagram illustrating the positioning and one possible implementation of CO framer 1100 and CP framer 1400 in the digital video and data delivery system of the present invention;
FIG. 19 is a schematic diagram of the CO framer 1100 of FIG. 18;
fig. 20A is a diagram illustrating an adaptive speed transport data stream bus specification of the transport data stream of fig. 19;
FIG. 20B is a schematic diagram illustrating formatting for the eight adaptive rate transport data streams of FIG. 20A transported over an optical link;
FIG. 21 is a schematic diagram showing the maintenance of a fixed speed transport stream bus upon purging of data content from the adaptive format transport stream of FIG. 20;
fig. 22 is a summary from the MPEG-2 transport stream specification defining the first three bytes of the transport stream packet of fig. 20 and 21;
fig. 23 is a diagram illustrating the transport data flow contained on connection 1161 of fig. 19;
FIG. 24A is a schematic diagram of the PID filter 1110 of FIG. 19;
FIG. 24B is a decision flow diagram illustrating the operation of the PID filter 1110 of FIG. 24A;
FIG. 25 is a decision flow chart showing the operation of the PCR extracting apparatus 1110 of FIG. 19;
FIG. 26 is a detailed view of the PCR incrementer 1140 of FIG. 19;
fig. 27A is a block diagram of the CO data multiplexer 1150 of fig. 19;
fig. 27B is an operation state diagram of the CO data multiplexer 1150 of fig. 19;
FIG. 27C is a flowchart of the operation of CO data multiplexer 1150 of FIG. 27A;
FIG. 27D is a flowchart of CO data mux package decision operation 1152 of FIG. 27A;
fig. 28 is a schematic diagram of the downstream operation (from the central office to the customer premises) of the CO framer 1100 of fig. 19;
FIG. 29 is a schematic diagram showing the CO data multiplexer of the CO framer 1100 of FIG. 19 oriented in one upstream (customer premises to Central office);
fig. 30 is a diagram illustrating the CP data demultiplexer of fig. 17A in a downstream direction;
FIG. 31 is a schematic diagram showing CP data multiplexer 1450 in the upstream direction of CP framer 1400 of FIG. 17A;
fig. 32 is a judgment flowchart showing the operations of the CO data demultiplexer 1155 and the CP data demultiplexer 1455;
FIG. 33 is a flowchart of the operation of CP data multiplexer 1450 of FIG. 17A; and
fig. 34 is a diagram illustrating an alternative embodiment of the CO framer 1100 of fig. 19.
Detailed description of the invention
The digital video and data transfer programs of the present invention can be implemented in software, hardware, firmware, or a combination thereof. In the preferred embodiment, the digital video and data transfer program is implemented in hardware managed by software or firmware, stored in a memory, and executed by a suitable instruction execution system.
The flowcharts of fig. 8 and 15 illustrate possible embodiments of the structure, function and operation of the system management workstation of fig. 4 and the central office master workstation of fig. 9. In this regard, each data block represents a module, data segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should be noted that in some alternative embodiments, the functions noted in the data block may occur outside of the commands noted in FIGS. 8 and 15. For example, two blocks of data shown in succession in fig. 8 and 15 may in fact be executed concurrently or the blocks of data may sometimes be executed in the reverse order, depending upon the functionality involved, as set forth further below.
The digital video and data transfer program, which comprises a predetermined arrangement of executable instructions for implementing logical functions, can be embodied in any computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor containing system, or an instruction execution system, apparatus, or device that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a "computer-readable storage medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable storage medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples of the computer readable storage medium include the following (non-exhausted list): an electrical connection path (electrical connection) having one or more wires, a portable computer diskette (magnetic disk), a Random Access Memory (RAM) (magnetic RAM), a read-only memory (ROM) (magnetic ROM), an erasable programmable read-only memory (EPROM or flash memory) (magnetic EPROM), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable storage medium could even be paper or a suitable storage medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other storage medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
FIG. 1A is a high level system diagram showing the overall topology in which the digital image and data delivery system of the present invention is shown. Included in system topology 10 are a telephone company broadcast programming and control center (TPCC)100, a central office 400, and a customer premises 1300. The TPCC100 receives input signals from a local broadcast station 12 that provides broadcast television signals, a content provider 11 that provides digital image signals of encoded images in MPEG-2 form, and data from an Internet Service Provider (ISP) 14. Although the transmission of internet data is shown therein, any data or any digital data not limited to a Local Area Network (LAN) may be transmitted according to the present invention. The TPCC100 communicates with a central office 400 over a Synchronous Optical Network (SONET) 150. Although a single central office is shown for simplicity, TPCC100 may communicate with multiple central office locations 400 across SONET network 150. Synchronized fiber optic network 150 represents one manner in which one TPCC may communicate with a central office location, and is typically an internal telephone company network connecting multiple central offices with each TPCC. The SONET network 150 is for illustrative purposes only. Other internal networks such as, but not limited to, an SDH (synchronous digital hierarchy) network or any method of communication between TPCC100 and central office location 400 may be used to communicate between TPCC100 and central office 400. The central office 400 communicates with the subscriber premises 1300 over a communication channel 16. The communication channel 16 may be any communication channel capable of supporting compressed digital image, two-way internet data, and POTS communications, and is illustrated as a copper pair used for ordinary telephone signal communications. Other communication channels, such as, but not limited to, a wireless communication channel, such as LMDS (local multipoint distribution system), may be used to communicate between the central office 400 and the subscriber headend 1300. Located at the customer premises 1300 is an Intelligent Network Interface (INI)1350 to which are connected a computer system 1355, a telephone 1360, a facsimile machine (not shown), and a television 1365. It is also possible to provide an additional digital telephony communication line to which the facsimile computer can be connected. The digital image and data delivery system and method of the present invention operates to enable delivery of compressed digital broadcast programming, two-way internet data and POTS from the TPCC100 to the central office 400 and from the central office 400 to the subscriber headend 1300 via the communications channel 16.
FIG. 1B is a flow chart illustrating the manner in which a user requests a program through the system topology of FIG. 1A. In block 51, the user sends a request to the central office 400 for viewing a particular program. This request is sent over a control channel (described in detail below) over communication channel 16. The request is received at the central office 400 in process block 52. The central office Universal Access Adapter (UAA) processes the received request in block 54, manages the requested usage instruction list provided by the central office master workstation that is notified of the UAA authorization, and passes the program from the central office 400 to the user over the communications channel 16 in block 56 if the user is authorized to receive the requested program.
Fig. 2 is a schematic diagram illustrating the transfer of video images from content provider 11 to TPCC 100. The content provider 11 receives an analog video signal via satellite 17. In addition, the content provider 11 receives a digitally encoded video signal through the satellite 17. It will be understood that audio content accompanies the video signal, and when referring to image or compressed digital image content, it will be understood that the audio signal is included therein. The content provider 11 transmits analog (or digital) video signals to the plurality of TPCCs 100 via the network 13. Network 13 may be, but is not limited to, a satellite delivery network or may be a SONET network similar to SONET network 150 of figure 1. The TPCC100 receives a broadcast image broadcast program from a local broadcasting station 12.
Fig. 3 is a schematic diagram illustrating the structure of connecting the TPCC100 to the central office 400. As discussed above, TPCC100 receives images in analog or digital form from content provider 11, local broadcast television from local broadcast station 12, and internet data from ISP 14. The TPCC100 aggregates the content and provides the content to the central office 400 over the telephone company SONET network 150 or over any network used for communication between the TPCC100 and the central office location 400.
Fig. 4 is a block diagram illustrating the components of the present invention in a TPCC 100. Where TPCC100 bi-directional data from ISP14, image content from content provider 11 (fig. 1 and 2), and local broadcast programs from local broadcast station 12 are combined. Bidirectional internet data is provided from ISP14 to router 101 via connection path 128. The route selector 101 communicates with the ATM switch 102 over a connection path 112, and the ATM switch 102 communicates with the SONET differential multiplexer 106 over a connection path 114. SONET differential multiplexer 106 is shown for illustrative purposes only and would be a SHD multiplexer if an SDH network were implemented instead of SONET network 150. In this manner, internet data is processed by the TPC100 and forwarded across the SONET network 150 to the central office 400. Further, communication via the connection path 114 and data from the system management workstation 325 are managed and controlled, which will be described in detail below. The image content provided from the content provider 11 is provided to the satellite receiver 104 via the connection path 126. If the provided image content from the content provider 11 is in the form of an analog signal, it is provided to the MPEG-2 encoder 109 via connection path 115 for conversion to MPEG-2 format. Although MPEG-2 is used in the preferred embodiment, any digital compression technique may be used to generate the compressed digital image signal. If the image content provided by the content provider 11 is in the form of a digital signal, it is provided directly to the video control shelf 200 via the connection path 118. Connection path 118 represents a plurality of DS-3 connection paths, and in the preferred embodiment is a total of 7 DS-3 connection paths. The DS-3 connection path provides approximately 45Mb/s of data transfer and is illustratively in use.
Indeed, the connection path 118 can produce multiple channels of any large capacity, such as (but not limited to) an OC-3 connection path, providing a capacity of approximately 155 megabits. The broadcast program from local broadcast station 12 is provided to wireless demodulator 108 via connection path 124, which communicates with MPEG-2 encoder 109 via connection path 123. The MPEG-2 encoder 109 of the preferred embodiment receives the radio broadcast signal and converts it to a digital video format according to the MPEG-2 image standard. Although shown as a single item, in reality multiple wireless demodulators and MPEG-2 encoders are used. The MPEG-2 signal is provided to MPEG-2 multiplexer 111 via connection path 122. The MPEG-2 multiplexer 111 provides the MPEG-2 encoded wireless video signal to the video control shelf 200 via connection path 121. The connection path 121 is represented as another connection path capable of transmitting the MPEG-2 digital image signal and as one DS-3 connection path.
Also connected to the video control shelf 200 via connection path 117 is a System Management Workstation (SMW) 325. The SMW325 provides monitoring, management, and control operations for the TPCC100, which will be discussed in detail with reference to fig. 8. The SMW225 also interfaces to the ATM switch 102 via connection path 116. Thus, management and control information is transmitted through the ATM switch 102 and across the connection path 14 to the SONET differential multiplexer 106 for placement over the SONET network 150. In this manner, management and control information is delivered to and received by the central office 400.
The video control shelf 200 inserts local program guide and control information into the digital video program by replacing an empty MPEG-2 packet that is not used to carry video data. The local program guide information comes from the SMW325, the workstation responsible for monitoring the digital video, and the data delivery system. The program guide database is received from a centralized provider or may be generated locally. The video control shelf 200 may also be used to insert software update data for subscriber headend information into the digital video program by replacing an empty MPEG-2 packet that is not used to carry video data. The video broadcast program with the most recently inserted data is then input into the telephone company (telephony) specific SONET network 150 through the SONET differential multiplexer 106. Router 101 isolates the internal telephony data delivery network from the internet and routes only the appropriate packets to ISP 14. The ATM switch 102 provides a robust interconnection to the switch in the private central office 400 that provides internet data to the system. Further, the router 101 and ATM switch 102 exchange internet data both in the upstream (from the customer premises opposite the central office to the TPCC) and downstream (from the TPCC to the central office to the customer premises) directions.
Fig. 5 is a block diagram illustrating the video control shelf 200 of fig. 4. The video control shelf 200 includes a plurality of video control module pairs 250 and a shelf processor module pair 300. The module pairs are discussed below with reference to the figures. A module pair refers to one active and one standby module, each configured to perform the described functions. Each module of the pair is supplied with an input signal and each module is capable of providing an output signal. If the in-use module experiences a failure, the standby module will perform the described functions. Furthermore, the term "hot-switching" in question refers to the ability to replace a module in a system in which the module is installed without power loss.
The satellite receiver 104 includes a plurality of MPEG-2 multiplexers 111 that receive network feeds from the content provider 11 via connection path 126. The MPEG-2 multiplexer 111 interfaces a plurality of DS-3 connection paths 118a through 118n, each having a spare part, using the video console 200. Each DS-3 connection path 118 is connected to one video control module 250, and each DS-3 spare part is connected to one spare video control module 250. The video control module pair 250 includes an active picture video control module and a standby video control module, connected to the standby video control module with a standby DS-3. The MPEG-2 multiplexer 111 is also connected to a video control module pair 250 via a DS-3 connection path.
The output of each video control module pair 250 is provided to SONET differential multiplexer 106 over DS-3 connection path 119. Also included in the video control shelf 200 is a trellis handler module pair 300. The operation of the video control module 250 is discussed in detail with reference to fig. 6 and the operation of the trellis processor module 300 is discussed in detail with reference to fig. 7. The digital image and data delivery system of the present invention currently supports up to eight digital image program sets, but it is anticipated that more program sets will be supported in the future. A program group is defined as a single MPEG-2 transport stream containing a large number of channels, such as DS-3 or OC-3 connection paths, carried over a single network connection. Thus, up to eight program groups are supported by the video control shelf 200. This means that each DS-3 connection path, e.g. 118 and 119, carries a program group.
One program group delivered over DS-3 may contain approximately ten channels, while one group delivered over OC-3 may contain approximately 35 channels. This indicates the system channel capacity for the 80 channels using the DS-3 embodiment, and a maximum channel capacity of approximately 280 channels using the OC-3 connection path to achieve the system. At least one group (and possibly more) will contain local channels as shown by DS-3 connection path 121, and DS-3 connection path 123 contains 8 video control module pairs to SONET differential multiplexer 106. For the preferred embodiment, the remaining connection paths, including seven programs, will contain video broadcast programs from other sources, as shown by DS-3 connection paths 118 and 119. The program groups may be multiplexed together to increase the overall channel capacity. For example, two half full DS-3 groups may be combined together. One entire DS-3 is free for additional broadcast programs.
Fig. 6 is a block diagram illustrating the video control module 250 of fig. 5. The video control module pair 250 receives the DS-3 data stream on lines 118a and 118b, the input on line 118a being the primary data stream and the input on line 118b being the data stream corresponding to the secondary or redundant picture shown in fig. 5. These data streams contain encoded MPEG-2 video information streams. Video control module 250 replaces the invalid MPEG-2 packets in each program set with control and software update data. The program set includes additional data. Program guide and software update data such as this are then sent to the video network interface shelf 450 over the DS-3 links 119a and 119 b. Each video control module 250 contains a basic DS3 line termination and receiver 251a, and redundant DS3 line termination and receiver set 251 b. The DS3 line receiver extracts payload data from the input bit data stream and prepares the information for delivery to the control data insertion block 256. Both receivers 251a and 251b are always operational, achieving redundancy at the input link. The on-board monitoring module 252 monitors the status of the receivers via connection paths 259a and 259b and determines which line receiver signal is to be used to drive the serial feed to the control data insertion block 256 via the connection paths. Monitoring module 252 sends control signals to primary DS3 line termination and receiver 251a and redundant DS3 line termination and receiver device 251b, respectively, via connection paths 259a and 259 b. The control data insertion block 256 is responsible for inserting local control data into the MPEG-2 data stream from the content provider. Program guide data and possibly software update data for the INI1350 is inserted by replacing the empty data packet with the necessary data. The serial data received from the control data insertion block 256 contains MPEG-2 video data and additional control data. Control data, software update data and program guide data are inserted into the program groups in the same way. The new group data stream is utilized and input via connection paths 262a and 262b to a program output block 261, which contains a primary DS3 line transmitter 257a and a redundant DS3 line transmitter 257b, forming a redundant link to the video network interface shelf 450. If the monitoring module 252 has asserted the output enable line 263, both the primary DS3 line transmitter 257a and the redundant DS3 line transmitter 257b are enabled. The basic video signal is output on line 119a and the redundant video signal is output on line 119 b.
The monitoring module 252 is used to properly operate the video control module 250. The monitoring module 252 performs setting and initialization of all other function blocks on the video control module 250 and monitors the status of each function. The monitoring module 252 maintains the startup/wait that is in communication with the rack processor module 300 and is responsible for redundant control. If the video control module 250 experiences a catastrophic failure, the monitoring module 252 changes the module to a stopped state and alerts the trellis processor 300 the next time it polls for status information via connection path 269. Since the video control module 250 is designed for startup/standby redundancy, it is desirable that the video control module 250 be installed in pairs. Each of the video control modules 250 monitors its redundant adjacent fault indicator via connection path 271 and immediately automates when the running module fails. The voltage management module 254 is responsible for hot-switching capability and power management. Hot-switch capability refers to the ability to eliminate one of a pair of failed video control modules without degrading the video control shelf to which the video control module belongs.
FIG. 7 is a schematic diagram illustrating the shelf processor module 300 of FIG. 5. The trellis handler module 300 provides redundant control and monitoring of the trellis in which it is installed. The shelf processor module has a multiplicity of applications and includes firmware that initiates operation of the shelf processor module to implement each specific application that it is installed to implement. For example, although the same trellis processor exists in both the video control shelf 200 and the image network interface shelf 450 (described with reference to fig. 10), the trellis processor performs different operations according to the function of the trellis in which the processor is installed. These different operations are determined by firmware installed in the trellis processor module depending on the purpose of the application for which the module is installed. Each trellis processor module will include firmware for all possible applications. Firmware installed in each trellis processor module will determine the trellis in which that module is installed and will execute the appropriate data segment of the hardware code. The shelf processor module 300 interacts with a central office master Control (COM) workstation 650 to send and receive configuration information, which is communicated to any circuit boards mounted in the same shelf via connection paths 303, and aggregates status about all the mounted boards for transmission back to the COM 650. The shelf processor module 300 stores configuration data for each wiring board, detects the installation and replacement of patch panels, and automatically configures new patch panels without the intervention of the COM 650. The trellis processor module 300 is used in many applications and in all the trellis of the digital video and data delivery system and contains appropriate software and firmware to perform different functions depending on the particular situation in which it is installed. During execution of the power-on program, the trellis processor module 300 configures itself appropriately according to the trellis type and/or trellis address read from the system infrastructure. The grid address may be a value designated by a central office master workstation (to be described with reference to fig. 9), or may be a value to be manually selected using a switch. Two trellis handler modules will be installed in each trellis. Only one will be run at a time, the other remaining in standby mode. The standby grid processor has selected information for all of the states and configurations of the grid and will be prepared to automatically succeed the operating grid processor in the event that the operating grid processor experiences a failure. The grid processor comprises four functional blocks: a monitoring module 301, a slave interface module 302, an ethernet module 304, and a voltage management module 306. The monitoring module 301 is an embedded microprocessor with its associated memory and supporting logic. The monitoring module 301 supports redundancy by means of several links to its cognate shelf processor, which includes hardware indicators for various faults and the presence of line boards. The monitor module 301 also includes a bank of dual port registers for communicating status, self test results, slave board reset status, and other status information. It can be reset and reset by its sibling shelf processor module 300. It uses a bi-directional serial bus to communicate commands and status with the slave boards in the shelf.
The slave interface module 302 detects each of the slave circuit boards in the rack and detects whether a circuit board has been removed and reinstalled. A slave circuit board is any circuit board placed in any of the grids described. The slave interface module 302 has a reset line for each slave circuit board that can be pulsed to reset the circuit board or remain completely disabled for the circuit board. The ethernet module 304 provides a means by which the shelf processor module 300 communicates with COM workstations 650 via connection paths 303 through 10 times fundamental frequency (10base) T ethernet ports. The voltage management module 306 enables live insertion and removal of the trellis handler module 300. It provides controlled step-up (rampoup) of +5VDC and +3.3VDC supply. It also provides an output to disable the backplane input output until the power supply has stabilized. It also automatically shuts down power to the wiring board and indicates the presence of a fault when an overcurrent condition is detected. The voltage management module 306 also interrupts the board power supply when the reset line 307 is asserted.
FIG. 8 is a flowchart illustrating the structure, functionality, and operation of one possible implementation of the operation of the system management workstation (SMW325) of FIG. 4. In this regard, each data block represents a module, data segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should be noted that in some alternative embodiments, the functions noted in the data block may occur outside of the commands noted in FIG. 8. For example, two program blocks shown in succession in FIG. 8 may in fact be executed substantially concurrently or the data blocks may sometimes be executed in the reverse order, depending upon the functionality involved, as will be explained further below. In block 326, the user interface allows access to SMW subscriber database viewing 334, Central Office Master (COM) status, or program guide facilities. The user interface provides an interface for adding and managing subscribers, providing an interface for channel mapping tables and program guides, assuming that the assigned COM and monitor central office equipment is viewed using the interface, and a graphical user interface through, for example, java language and hypertext markup language (HTML). Other broadcast programming standards may be used to implement the graphical user interface, java language and HTML were chosen for the preferred embodiment because of the advantages of portability to many different hardware platforms that may be used to implement the system administration workstation and the central office host workstation. The central office master or COM workstation is a computer system located within each telephone company central office 400. Which is described in detail below.
In process block 327, the user setup and control module maintains a master database of user information including the following. Video channel access authorization, internet service authorization, account activity (pay per view (PPV) information), and service activation and deactivation. The user setup and control component 327 also assigns localized copies of corresponding databases with and without associated COMs for Universal Access Adapter (UAA) configuration and PPV information. Also connected to the user interface 326 and the user setup and control module 327 is a COM status display component 328. The COM status display component 328 provides the overall status of all COM and enables dedicated detailed COM status viewing.
Module 329 includes channel map and program guide information which generates basic channel map information for assignment to each COM and generates program guide information for assignment to each COM. User setup and control module 327 is also connected to SMW database view 334, which in turn is connected to phone communication user database 331 and SMW database 332. The SMW database view field 334 is also connected to a user database interface module 337. The telephone communication subscriber database 331 contains subscriber information including the name and address of the subscriber, and the SMW database information contains subscriber identification information related to subscriber services, program billing information, and channel viewing information. Subscriber database interface 337 converts the subscriber database and billing information into a formatted form that can be read by the billing system local to the telephone communication. The hierarchical COM management module 333 communicates with a user setup and control module 327, a COM status display component 328, and a channel mapping and program guide information module 329. The hierarchical COM management module 333 manages the bi-directional transfer of information to assigned COMs and demonstrates communication with remote COM336, 338 and 339. The SMW also collects statistics from the central office master workstation regarding the user channel viewing choices.
Turning to fig. 9, a schematic diagram illustrating the structure of a central office 400 is shown. The central office 400 passes through the SONET network 150 into a SONET demultiplexer 401 to receive the combined digital image and data signals. The SONET differential multiplexer 401 exchanges Plain Old Telephone Service (POTS) information using a PSTN (public switched telephone network) voice switch 409 via a connection path 408. The SONET differential multiplexer 401 also exchanges data information with the switch 406 over connection path 407. The SONET demultiplexer 401 transfers the video data over the connection path 402 to the video network interface framework (VNIS) 450. The connection path 402 is shown as a single connection path, but in reality the connection path 402 is a plurality of DS-3 communication channels, each of which carries a program set of compressed digital image content as described above. The VNIS450 performs a protocol conversion to convert received video data to a standard, compressed digital video delivery format, such as, but not limited to, the digital video broadcasting asynchronous serial interface (DVB-ASI) format. The VNIS450 includes a plurality of video network interface modules, which will be described in detail with reference to fig. 10A and 10B.
The output of the VNIS450 is transmitted over the connection path 404, which again represents a plurality of channels, each channel containing one of the sets of image programs into the image distribution grid 500. The image distribution grid 500 is responsible for distributing the digital image program sets in a redundant manner to all of the access grids 550. The image distribution grid 500 will be described in detail with reference to fig. 11A-11E, and the access grid 550 will be described in more detail with reference to fig. 12. The image distribution grid 500 provides eight sets of rungs and eight alternate connection paths to the access grid 550 via connection paths 417. The connection path 417 may be any connection path that provides a required load amount to transfer both the program groups in use and the standby program groups.
The access trellis 550 communicates with the low pass filter trellis 600 via connection path 419, the operation of which will be described in detail with reference to fig. 12. The low pass filter trellis 600 communicates with the customer premises 1300 over the communication channel 16. The communication channel 16 may be a Digital Subscriber Line (DSL) communication channel that includes two-way internet data (or any data) in addition to the digital video signal to the subscriber headend 1300 and that includes support for POTS services between the subscriber headend 1300 and the central office 400. It is important to note that the description is using a DSL communication channel, but the channel 16 can be any communication channel that supports compressed digital image propagation, bi-directional internet data, and POTS. Other communication channels, such as, but not limited to, a wireless communication channel, such as LMDS (local multipoint distribution system), may be used to communicate between the central office 400 and the subscriber headend 1300.
The low pass filter trellis 600 transmits POTS information over connection path 420 to PSTN voice switch 409 which in turn transmits the telephony traffic over connection path 408 to the differential multiplexer 401 to the telephone company SONET network 150.
Also included at the central office 400 is a Central Office Master (COM) workstation 650. COM workstation 650 communicates control information to switch 406 via connection path 411 and to VNIS450 via connection path 414 for communicating control data information related to the operation of the network. The COM workstation 650 also transmits signals to the image distribution grid 500 via connection path 418 and to the access grid 550 via connection path 416. COM workstation 650 represents the management workstation, running operating software that controls placement of devices at central office 400, and implements the operations of the present invention. The operation of COM workstation 650 will be discussed in detail with reference to fig. 15.
Fig. 10A is a schematic diagram of the video network interface shelf 450 of fig. 9. The central office 400 includes a SONET differential multiplexer 401 to receive the combined image and data signals from the SONET network 150. The central office 400 includes a graphical network interface grid 450, which grid 450 includes a pair of video network interface modules 700, a pair of video output modules 750, and a pair of grid processor modules 300. Each video network interface module pair includes an active video network interface module 700 and an alternate or standby video network interface module 700. Each Video Network Interface Module (VNIM)700 receives a video program set on DS3 line 402. Each program group is provided to the running VNIM and the standby VNIM simultaneously. As shown, each video network interface trellis 450 includes eight pairs of video network interface modules 700, each pair of video network interface modules receiving a complete program set through one DS3 connection path. Each video network interface module pair 700 provides a complete set of programs to the broadcast infrastructure 1200. The broadcast infrastructure 1200, which will be described in detail with reference to fig. 13, communicates with the video output module pair 750. The video output module pair 750 provides the program data on the connection path 404 to the video distribution grid 500 of fig. 9. The content provided on the connection path 404 may be in the form of DVB-ASI content.
The video network interface trellis 450 also includes a trellis processor module pair 300, the operation of which is similar to that described above. Eight pairs of the video network interface module 700 receive the video signal in DS3 format and drive the eight program groups on the broadcast infrastructure 1200 as parallel data.
Fig. 10B is a block diagram illustrating the video network interface module 700 of fig. 10A. The video network interface module 700 receives a program set of digital image broadcasts via redundant DS-3 links 402a and 402 b. DS-3 payload (MPEG-2) data is extracted from the input signal and inserted into the broadcast infrastructure 1200 for delivery to the video output module 750. The video network interface module 700 is designed for running/standby redundant links, contains circuitry to enable hot-switching, and communicates with the video network interface trellis processor module 300 for various control purposes. At the input for the redundant link, a dual ended DS-3 signal is sent to each module. The video network interface module 700 includes a basic DS-3 line termination and receiver 701a and a redundant DS-3 line termination and receiver 701 b. The DS-3 line receiver extracts payload data from the incoming bit stream and prepares the information content for delivery to the parallel video bus driver 706. Both receivers 701a and 701b are always operational, achieving redundancy at the input link. The monitoring module 704 monitors the status of the receivers 701a and 701b via connection paths 708a and 708b, respectively, and determines which line receiver will be used to drive the serial feed to the parallel video bus driver 706. Monitoring module 704 communicates control information to DS-3 line terminal and receiver 701a via connection path 714a and to DS-3 line terminal and receiver 701b via connection path 714 b. Parallel video bus driver 706 receives serial data from one of DS3 line receivers 701a or 701b via connection path 709a or 709b, as determined by monitoring module 704 on the patch panel, depending on which DS-3 line termination and receiver device is being operated. The serial data is reassembled into the original 8-bit byte format, with two control data bits concatenated with the original byte. If the monitoring module 704 causes the driver to be triggered, a differential signal, and in the preferred embodiment a Low Voltage Differential Signaling (LVDS) line driver (not shown) in the parallel video bus driver 706, sends a 10-bit "codeword" on the parallel video bus driver 706 to the 20 differential output lines.
The monitoring module 704 is used to operate the video network interface module 700 properly. It completes the setup and initialization of all functions on the module. The monitoring module 704 also monitors the status of each function. The monitoring module 704 maintains communication with the rack processor module 300 and is responsible for the activation/waiting of redundant controls. In the event that the video network interface module 700 experiences a failure, the monitoring module 704 will alert the trellis handler module 300 and cause the video network interface module 700 to become stalled. Since the video network interface modules are designed to enable/wait for redundant links, they are typically installed in pairs, each monitoring the fault indicator adjacent to a redundant link, via connection path 711, which will cause it to operate immediately when the operating module fails. Similarly, monitoring module 704 provides a fault condition to the corresponding monitoring module in its neighboring video network interface module via connection path 712. According to the above process, the voltage management module 702 is responsible for hot-switching capability and power management.
Fig. 11A is a schematic diagram illustrating the video distribution grid 500 of fig. 9. The central office 400 includes a video distribution grid 500 that includes a pair of video input modules 800, a pair of multi-way video output modules 850, a pair of remote video output modules 900, and a pair of grid processor modules 300. The video input module 800 receives as input a DVB-ASI format video signal over the connection path 404. Although a single pair is shown, in the preferred embodiment there are actually eight video input module pairs, corresponding to the eight DVB-ASI input signals 404 and the eight DVB-ASI alternate input signals. Each active video input module 800 receives a valid set of programs while the standby video input module receives the set of programs via the DVB-ASI standby connection path. Each video input module 800 provides a program group on the broadcast basis set 1200. The multiple video output module pair 850 receives the program set content from the broadcast infrastructure 1200 and provides as one output two copies of each program set. Thus, the composite video output module 850 drives 16 DVB-ASI outputs 501. The standby module always drives the standby output. Remote video output module pair 900 may be used in place of multiple video output modules 850 to provide connectivity to a Digital Loop Carrier (DLC). The remote video output module 900 outputs a multiplexed copy of the program groups onto a single fiber optic cable by multiplexing the eight program groups into a serial bit stream at a frequency of approximately 2.488 GHz. The slack module always drives the slack out on a slack fiber cable.
Also included in the video distribution trellis 500 is a trellis processor module pair 300, the operation of which is similar to that described above. Each pair of video input modules 800 receives up to eight video program sets in DVB-ASI format. The composite video output module 850 drives redundant video outputs to provide video data to the multiple access trellis 550 (to be discussed with reference to fig. 12). If used, the remote video output module pair 900 multiplexes the digital image program set and transmits the multiplexed digital image program set to an access shelf via a fiber optic link. The trellis handler module 300 provides redundant control and monitoring of the trellis.
Fig. 11B is a block diagram of the video input module 800 of fig. 11A. Video input module 800 receives all eight program groups in dvbasic format over connection path 404. With a particular trellis infrastructure, this data is converted into LVDS parallel form (with additional added control bits) and made available to all other modules connected to the broadcast infrastructure 1200. The video input module 800 is designed for run/standby redundant links, containing specialized circuitry to implement hot-switching, communicating with the shelf processor module 300, for control purposes. The DVB-ASI receiver 801 receives input signals from eight dedicated channels 404. Each input line 404 conforms to the DVB-ASI standard. Video data on line 404 is sent from the DVB-ASI receiver 801 to the LVDS driver module 802 via connection path 807. The LVDS driver module 802 converts serial data received from the DVB-ASI receiver 801 into a parallel form. Dedicated control bits are added to each byte and the data is byte aligned (as will be described with reference to fig. 20).
When the monitoring module 806 asserts the present output enable signal on line 808, the LVDS drivers for all 160 lines are enabled and all eight program groups are driven to the broadcast infrastructure 1200, where they are simultaneously available to all other modules on the broadcast infrastructure 1200.
The monitoring module 806 is also used to operate the video input module 800 properly. The monitoring module 806 oversees the setup initialization of all functions performed on the video input module 800 and monitors the status of each function. The monitoring module 806 maintains communication with the grid processor module 300 and is responsible for standby redundancy control in use. In the event that the video input module 800 experiences a failure, the monitoring module 806 will alert the trellis processor module 300 and cause the video input module 800 to be immediately disabled. Since the video input module 800 is designed for running/standby redundant devices, it is expected to be installed in pairs. Each monitors its redundant adjacent fault indicator via connection path 809 and provides its own fault information via connection path 811 and operates immediately when a functioning module fails. The voltage management module 804 is responsible for hot switching and power management according to the process described above.
Fig. 11C is a block diagram illustrating an alternative allocation scheme for the video input module of fig. 11B. Remote video input module 825 may be used as an alternative option to video input module 800. Remote control video input module 825 receives a single multiplexed copy of the eight 10-bit parallel video program bursts accompanied by framing and overhead data from single fiber optic connection path 836. The framed data is detected and demultiplexed into eight 10-bit parallel video program groups. The standby module will always demultiplex the standby fiber input. One of the two modules will drive the program set to the broadcast base set 1200.
Optical receiver 826 converts the optical data stream on connection path 836 to an electronic data stream containing the video programming on connection path 842. Clock regeneration and data synchronization 827 regenerates the serial clock from the serial data stream and resynchronizes the data to the clock. A 2.488GHz clock signal is provided on connection path 844 and the video programming is provided via connection path 843. A 1:16 demultiplexer/receiver and frame detector 828 detects the start of a frame bit and demultiplexes the data into 16-bit codewords. A 155.5MHz clock signal is provided via connection path 845, the video broadcast program is provided via connection path 846, and the frame control information is exchanged via connection path 847 using payload extraction means 829. The payload extraction means 829 strips the framing and overhead bits of the video program set on connection 837. A transmit first-in-first-out (FIFO) buffer 831 buffers the eight program groups in a first-in-first-out arrangement on connection 837 to resynchronize the parallel transmit data rates. LVDS video driver 832 drives the eight program groups onto broadcast infrastructure 1200 via connection path 838. As shown, the optical connection path over which the multiplexed program set is transmitted should have sufficient capacity to transmit data so that the program set can be transmitted without any loss of information.
The monitoring module 834 communicates with the shelf processor module 300 to set a fault bit via connection path 833a and to read an adjacent fault bit via connection path 833 b. The monitoring module 834 also enables the LVDS video driver 832 via connection path 839 when appropriate. The voltage management module 841 is responsible for hot switching and power management according to the above-described procedure.
Fig. 11D is a block diagram illustrating the multi-video output module 850 of fig. 11A. The multiple video output module 850 receives all eight program groups from the video input module 800 via the broadcast infrastructure 1200. The eight program groups are replicated n times and transmitted from the video distribution grid 500 on line 501 in dvbasic format. The multi-channel video output module 850 is designed to enable/wait for redundant links, including dedicated circuitry to enable hot-switching, communicating with the video distribution trellis processor module 300 for control.
Parallel video bus receiver 851 comprises an LVDS receiver for 160 signals, i.e., signals for eight program groups, each program group comprising 20 signals. Which receives video data from the video input module 800 through the broadcast infrastructure 1200. DVB-ASI drivers 856a-856n are used to create DVB-ASI compatible output for each program group on line 501. Each of the connection paths 857a to 857n includes a serial data stream that holds a program group. Each program set is transmitted on one output connection path, so that each output module comprises eight outputs. Considering the applicability of the overall system, there may be many dvbasic driver modules 856 on one multi-way video output module 850.
Multi-way video output module 850 is designed to enable/wait for redundant links. The monitoring module 854 is used to properly operate the multi-channel video output module 850. The monitoring module 854 provides settings and initialization for all other functional blocks on the video control module and monitors the status of each function. The monitoring module 854 maintains communication with the trellis processor module 300 and is used to initiate/wait for redundant control. If the multi-channel video output module 850 experiences a failure, the monitoring module 854 alerts the trellis processor module 300 via the connection path 858 and immediately disables. Similarly, if the monitoring module 854 detects a failure of the corresponding multi-channel video output module via connection 859, it will immediately become active. Since the multi-way video output module 850 is designed to enable/wait for redundant links, both cards of any pair will always drive a set of redundant output signals. The voltage management module 852 is responsible for hot switching and power management according to the processes described above.
Fig. 11E is a schematic diagram showing the remote control video output module of fig. 11A. The remote video output module 900 outputs a single multiplexed copy of the eight 10-bit parallel video program groups accompanied by framing and overhead data over a single fiber link for transmission to a Digital Loop Carrier (DLC). The standby module will always drive the output of the standby component on a standby fiber link. LVDS image signal receiver 901 will receive the eight program groups and output a video signal to receive FIFO buffer 904 via connection path 914. Since the serial transmission speed and the parallel reception data speed are not equal, the eight program group parallel data are buffered in the reception FIFO buffer 904 for resynchronization to the serial data speed. The receive FIFO buffer 904 provides the picture broadcast program via connection path 916, the FIFO flag via connection path 918, and the FIFO control signal from the framer 906 via connection path 917.
The framer 906 organizes the incoming data into frames and adds the framing bits to the beginning of the frame. Additional data bytes will be added to the frame if necessary to synchronize the data rate. The data will be transferred out of the framer 906 in 16-bit words over connection path 919. The 16-bit parallel data stream from framer 906 is multiplexed into a serial data stream for transmission by 16:1 multiplexer/transmitter 907 to optical transmitter 908 over connection path 911. The optical transmitter 908 selects a serial data stream on connection path 911 and converts it to an optical data stream for transmission over an optical fiber via connection path 912. The monitoring module 909 and the voltage management device 902 will operate as described above.
Fig. 12 is a schematic diagram illustrating the access shelf 550 and the low pass filter module 600 of fig. 9. Returning to FIG. 11A, the output of each of the multiple video output modules 850 on the connection path 501 is provided to a video input module 950, which in the preferred embodiment is also implemented in pairs on the connection path 501. The content on the connection path 501 is in DVB-ASI video format. A total of 16 DVB-ASI video signals are provided to eight pairs of video input modules 950. The video input module 950 determines which input signal (primary or backup) is active and drives the program set to the broadcast infrastructure 1200. The access shelf 550 also includes a universal access adapter module (UAA) 1000. Each UAA module 1000 receives all available program content from the broadcast infrastructure 1200. The UAA module 1000 also includes a Central Office (CO) framer 1100, the operation of which will be discussed in detail with reference to fig. 19.
The broadcast infrastructure effectively extends the availability of digital image content to the communication channels linking the central office 400 to the subscriber premises 1300. All available program content is always available on the broadcast infrastructure 1200. The broadcast infrastructure 1200 enables all digital video content to be available to all users simultaneously. In this way, the invention enables all users of the system to receive the same broadcast program content simultaneously without actually affecting the quality of the signal and without overloading the switching capabilities of the central office. In the same way, all users are enabled to watch different broadcast program contents without overloading the system. The broadcast infrastructure effectively extends the availability of digital image content to the communication channels linking the central office 400 to the subscriber premises 1300. It effectively broadcasts all of the channels to the physical locations where routing operations are performed in the access shelf 550. Thus, it is not necessary to broadcast all channels to the subscriber premises.
The UAA module 1000 provides video and data services to multiple users. As the system expands, additional access shelves and UAAs are added to service new users. In the access grid 550, redundant video input modules are used to receive the eight video program groups in the DVB-ASI format. Each UAA module may obtain a video broadcast program via broadcast infrastructure 1200. A unique feature is that for each generic access adapter module 1000, hundreds of video broadcast program channels are available in the broadcast infrastructure 1200. In this manner, an end user at a subscriber headend 1300 may have the option of receiving any available broadcast programming content as long as the user is authorized for the requested channel. In this way, the end user has access to all available broadcast program content, and does not have to transmit the entire broadcast program data to each user location. This unique feature of the present invention allows the use of a plain copper pair or any communication medium or method capable of supporting the transfer of compressed digital image, bi-directional internet data and POTS between the central office 400 and the customer premises 1300 to provide digital image broadcast programming to each desired customer. In the access shelf, the digital image channel is effectively broadcast to all UAA modules 1000.
Furthermore, in conjunction with the delivery of digital video to each subscriber, bi-directional data exchange (i.e., an internet connection path) and POTS may be simultaneously obtained over the same channel.
The UAA module 1000 provides video program content and internet data to the low pass filter trellis 600 via connection path 419. The low pass filter trellis 600 includes a plurality of low pass filtering modules 1050, each configured to receive the output of a universal access adapter module. Each low pass filtering module 1050 combines the video program content and data with POTS information and sends the combined information to a subscriber headend via communications channel 16. As with the current configuration, each UAA module 1000 can serve four user interface lines, but it is anticipated that advances in technology will achieve additional capacity without departing from the scope of the invention.
The UAA module 1000 receives digital image content from the broadcast infrastructure 1200 and transmits an image broadcast program to a user as required. Internet data for all four users is input to the 10BaseT connector on the access shelf 550 including the UAA module 1000.
Fig. 13 is a schematic diagram illustrating additional parts of the access shelf 550 of fig. 9. Fig. 13 specifically shows a broadcast infrastructure 1200 containing eight program groups assigned to each universal access adapter module 1000 from the video input module 950. The broadcast base setting 1200 is formed by setting of eight digital image program groups. In a preferred embodiment, each program group conveys MPEG-2 digital video data in a parallel format. The broadcast infrastructure 1200 interfaced to each universal access adapter module 1000 allows all end users to access all available video broadcast programs. All available program content is always available on the broadcast infrastructure 1200. The broadcast infrastructure 1200 enables all digital video content to be available to all users simultaneously. In this manner, the present invention enables all users of the system to receive the same broadcast program content simultaneously and allows a large number of users to view a variety of programs without actually affecting the quality of the signal and without overloading the switching capabilities of the central office.
Fig. 14 is a schematic diagram illustrating the universal access adapter module 1000 of fig. 12 and 13. A Universal Access Adapter (UAA) module 1000 in this preferred embodiment provides digital image content and ethernet data services to n subscribers using Asymmetric Digital Subscriber Line (ADSL) technology. This technology includes speed adaptive digital subscriber line (RADSL) technology and variations of any and all xDSL technologies. It should also be understood that any digital data transfer technique can be used without departing from the scope of the present invention, such as, but not limited to, over a copper pair, or any transmission medium that can support the transfer of digital video signals, bi-directional internet data, and POTS. The xDSL technique used therein is for illustration purposes only. The preferred embodiment shown assumes that one UAA module 1000 can serve four user premises locations. It should be understood that future implementations may increase or decrease the number of served user premises locations per UAA module 1000. In the preferred embodiment, the UAA module 1000 receives eight digital video program groups, but may predict that additional program groups will be supported in the future. The UAA module 1000 allows each user to select a particular program from the set of programs for viewing. The selection of a program for viewing is achieved using a control channel in the xDSL link shown as control channel 1011. By using the control channel, the user informs the central office 400 of the desire to receive a particular program via the communication channel 16. Note that the user does not have to know which program group or program ID they are selecting. The program group and program ID are mapped to a channel number using UAA 1000. In addition, control channel 1011 allows a user to select the use of ethernet data traffic. The ethernet data may be utilized instead of the digital image broadcast program or may be appended to the digital video broadcast program. The ethernet data channel is designed to improve high-band bidirectional access to the internet service provider 14.
LVDS video bus receiver 1009 receives the digital image program set from broadcast infrastructure 1200 and converts the differential signal to a single final signal. The single final signal is then sent to multiplexer 1008 via connection path 1012. The multiplexer 1008 receives eight program groups and provides a single program group on connection path 1014 to each user's CO framer 1100. The multiplexer 1008 causes the monitoring module 1007 to select a program group containing the channel selected by the user and sends the program group to the CO framer 1100 of the user. The operation of the CO framer 1100 will be discussed in detail with reference to fig. 19. Multiplexer 1008 can independently serve multiple n CO framers at the same time. The monitoring module 1007 writes the desired program group to be selected to a register in the CO framer 1100. The CO framer 1100 then instructs the multiplexer 1008 to select the appropriate program group from the input on connection path 1012. The CO framer 1100 then selects a single program from the program group and transmits the program to the DSL transceiver 1001 for transmission to the subscriber headend 1300 via the communication channel 16. The CO framer 1100 provides this interface to a multiplexer 1008. In addition, multiplexer 1008 may provide an interface to monitoring module 1007, but for the preferred embodiment CO framer 1100 may more conveniently provide an interface to monitoring module 1007. The multiplexer 1008 selects one program group from the eight program groups on the connection path 1012 and routes the selected program group to the appropriate CO framer 1100. The CO framer 1100 then filters the desired program from the group, combines it with the internet data from the bridge 1004, and transmits the combined signal to a user via the communication channel 16. In practice, when a user selects a particular channel to view, the monitoring module 1007 determines the program set and the Packet Identifier (PIDS) in the program set that will extract the selected channel. The monitoring module 1007 instructs the multiplexer 1008 through the CO framer 1100 to select the appropriate program group and instructs the CO framer 1100 to filter the determined PIDS. In this manner, the selected program is delivered to the user.
To obtain access to the internet data, in the preferred embodiment, the hub module 1006 receives 10baseT ethernet data at 10Mb/s on one port and relays the data to each of the other ports. The bridge 1004 provides an interface between the 10baset (lan) connection paths of the hub module 1006 and TTL level (WAN) data. The bridge 1004 learns the addresses (i.e., ethernet or Media Access Control (MAC) addresses) of the devices connected to the customer premises of the bridge 1004 and filters out data that does not correspond to those addresses. On the WAN side, it is connected to CO framer 1100 via connection path 1016. Each user has a bridge and a CO framer. CO framer 1100 sends and receives ethernet data to and from bridge 1004 via connection 1016 and control channel data to and from monitor 1007 via connection 1011. It should be noted that ethernet and the 10baseT connection path are only possible implementations for bi-directional internet data transfer between the central office and the customer premises. Any data may be communicated using the concepts of the present invention. The CO framer 1100 also receives a digital video program set from the multiplexer 1008 via connection 1014. The CO framer 1100 outputs data to the xDSL transceiver 1001 and receives data from the DSL transceiver 1001 at a rate corresponding to the xDSL mode of operation that has been selected (by the monitoring module 1007). As described above, the operation of the CO framer 1100 will be described in detail with reference to fig. 19. The XDSL transceiver 1001 and the framer 1100 send and receive TTL data to and from each other. The XDSL transceiver 1001 also transceives XDSL data to and from each user via the connection path 16.
The monitoring module 1007 contains a microprocessor that implements control channel interworking with the user to communicate with the trellis processor module 300 via the local bus 1017 and to provide control and readout status on the UAA module 1000. Exemplary monitoring module 1007 functions include, but are not limited to, implementing per-user control channel (serial data port) transceiving through CO framer 1100, determining a program identification and program group corresponding to a channel selected by the user, and transmitting the selected program group and program ID to CO framer 1100. Other functions include configuring the xDSL transceiver 1001, performing test port testing of the xDSL transceiver, reading the card address, performing serial data port communications with the shelf processor 300, monitoring the status of the xDSL transceiver 1001 and the bridge 1004, and resetting the modules on the UAA 1000.
The voltage management module 1002 enables the UAA module 1000 to be plugged into a basic setup live, without causing any errors on the basic setup bus and without damaging any components of the device on the UAA module 1000, i.e. without damaging any devices on other components plugged into the same basic setup. A hot swap controller integrated circuit is used to perform this function and provides a power on reset to the microprocessor system.
Fig. 15 is a flow chart of a central office master workstation 650. The central office master workstation 650 operates as follows. Program block 651 provides this user interface, which provides a connection to the user database for UAA1000 tasks. The user interface 651 also provides the interface with which the central office 400 equipment is configured and monitored and a graphical user interface is provided through, for example, the java language and the hypertext markup language. The user database and control block 652 maintains a localized image of the contents of the system management workstation 325 for user information, including the following: video channel access authorization, internet service authorization, account activity (pay per view (PPV) information), service enablement and disablement, and channel viewing statistics. The user database and control block 652 also enables the uploading of billing information and the downloading of user information. The user database and control block 652 also configures the UAA1000 to include initial call services and any changes in the services. Hardware setup and status display program box 654 provides the following functions: the central office 400 equipment is initialized and the status of the central office 400 equipment is monitored, including administrative polling of the shelf processor module 300 for status information and administrative polling of the UAA for billing pay-per-view purchases. Hardware setup and status display block 654 also provides access to a database of card configurations for rapid reconfiguration in the event that a large number of modules are replaced at the same time.
The embedded control network block 656 performs operations to transfer information between the COM650 and the central office 400 devices. The embedded control network 656 also allows an Application Programmer Interface (API) to define the types of information/commands that the system supports. System management workstation interface block 657 provides two-way communication between central office host workstation 650 and system management workstation 325 located in TPCC 100. COM650 also provides the necessary logic for handling processing requests from user-desired program viewing, collecting statistics of the user's habitual viewing channels (i.e., channels viewed over a particular time period), and designating communication ports for providing digital image content, bi-directional internet data, and POTS on UAA module 1000.
Fig. 16 is a block diagram of the user front end 1300. Digital images and data are input from the central office 400 to the customer premises 1300 via the communications channel 16. In the preferred embodiment, the communication channel 16 represents a digital subscriber line communication channel supporting POTS communications. Additionally, communication channel 16 may be any communication channel capable of supporting communication of compressed digital images, two-way Internet data, and POTS, including but not limited to a wireless communication channel. In addition, the connection paths between the INI1350 and the computer 1355, television 1365 and telephone 1360 may be implemented using various connection path methods, such as, but not limited to, wireless technologies.
Communication channel 16 is connected to an Intelligent Network Interface (INI) 1350. A computer 1355, television 1365, and telephone 1360 are shown connected to the INI 1350. The INI1350 may also support additional POTS communication lines 1353a and 1353b, which may both be in the form of digital signals. The structure and operation of the INI1350 will be discussed below.
Fig. 17A is a schematic diagram illustrating an Intelligent Network Interface (INI)1350 of fig. 16. The INI1350 includes a RADSL (speed adaptive digital subscriber line) modem 1351 connected to the communication channel 16. Although shown using a RADSL modem 1351, the digital image and data transfer system of the present invention may use any communication technology for communication between the subscriber premises 1300 and the central office 400. The telephone 1360 is also connected to the RADSL modem 1351. The RADSL modem 1351 also supports additional POTS devices, which may be in the form of digital services, via connection paths 1353a and 1353 b.
The processor 1354 is connected to an IR remote control interface 1358, a RADSL modem 1351, a CP framer 1400, an MPEG-2 chip set 1356 and a graphics processor 1357. The processor 1354 controls the operation of the INI1350 to provide a video and audio television signal from the MPEG-2 chip set 1356 to the television 1365 and data from the ethernet interface 1352 to the computer 1355 via a10 baseT ethernet connection path 1359. Processor 1354 also provides a serial data connection path for error and maintenance exclusion and may also provide a connection path for low data rate devices such as, but not limited to, accessory tools or alarm monitoring devices. The processor 1354 is also connected to an IR remote control interface 1358.
Referring to fig. 17B, an IR remote control interface 1358 (contained in the INI 1350) allows for bi-directional communication of RF information through the static RF distribution system 1361 with one or more IR remote control transceivers 1362. An IR remote control transceiver 1362 may be located at each viewing/control location.
Fig. 17C is a schematic diagram illustrating the IR remote control transceiver 1362 of fig. 17B. Communication of RF information is accomplished by converting received IR communication signals from a hand-held remote control received by IR receiver 1367 b. The IR receiver 1367b is configured to receive all known carrier frequencies, e.g., carrier frequencies in the range of 32 to 40KHz, and all codes. In the preferred embodiment, the envelope of the received signal is used to control a 400MHz Frequency Shift Keying (FSK) transmitter 1363a, which transmits the signal over a main RF signal path 1374 to the INI1350 on the static RF distribution system 1361. The FSK transmitter 1363a and FSK receiver 1366b (and FSK receiver 1363b and FSK transmitter 1366a of fig. 17D) are connected to the main RF signal path 1374 by a connection path 1377, which is any connection path shown that can successfully couple different transmitters and receivers to the main RF signal path 1374. The link may be implemented via a 75 ohm meter coaxial cable, via other means, such as, but not limited to, a wireless connection path. Also included are a 360mhz fsk receiver 1366b and an IR transmitter 1367a which should have sufficient capability to control the various devices via one IR signal.
Fig. 17D is a schematic diagram showing the IR remote controller interface 1358 of 17A. IR remote control interface 1358 decodes information received in transceiver controller 1372 via main RF signal path 1374 and passes a digital word to processor 1354 (fig. 17A) via connection path 1376. The transceiver controller 1372 also transmits information between the IR receiver 1367b and the processor 1354 (fig. 17A). In a similar fashion to that described above, but at a frequency of 360MHz, the processor may also control devices connected to the main RF signal path 1374 and the RF distribution system 1361 via the 360MHz fsk transmitter 1366 a.
RF modulator 1368 receives audio and video inputs from MPEG-2 chipset 1356 (FIG. 17A). The radio frequency amplifier 1369 and the non-reflective notch filter 1371 ensure that only the desired signal is passed between the RF modulator 1368 and the main RF signal path 1374.
The system allows for the simultaneous transmission of both RF television signals and bi-directional control signals. Multiple IR remote transceivers 1362 can be provided in a single system. The system is independent of the carrier frequency of the remote control and of a specific code implementation. The encoding and control of the IR emitter is decoded under software control in the processor 1354.
Fig. 18 is a schematic diagram illustrating the positioning and one possible implementation of CO framer 1100 and CP framer 1400 in the digital video and data delivery system of the present invention. CO framer 1100 is located at central office 400 and is located at UAA module 1000 (not shown) and receives image broadcast program content. The CO framer 1100 also receives and transmits data traffic over the internet 14. The CO framer 1100 communicates with the modems 1351 to communicate with the corresponding modems 1351 disposed at the subscriber headend 1300 over the communication channel 16. The CP framer 1400 is located within the INI1350 and both outputs a digital video program in MPEG-2 format to the MPEG-2 decoder 1356 and communicates data traffic with the computer 1355 via the network interface 1352.
Fig. 19 is a schematic diagram of the CO framer 1100 of fig. 18. The CO framer 1100 receives a group of programs in the form of an adaptive MPEG-2 transport stream containing a plurality of programs into a Packet Identification (PID) filter 1110 via a connection path 1161. An MPEG-2 transport stream comprises a continuous stream of transport packets. The total transmitted data packet is 188 bytes long. The first byte is set to 0 x 47 to aid synchronization; the bit pattern is not unique and can occur elsewhere in the packet. Also included is a transport packet header, which is a Packet Identification (PID) field that distinguishes the payload of a transport packet from the transport packet payload from other PID values. According to the MPEG-2 protocol, a transport packet may contain a payload, an adaptation field, i.e. a payload followed by an adaptation field. When the adaptation field is present, additional information about the data stream is provided.
One of the additional segments of information is a Program Clock Reference (PCR) value. Both the encoder and decoder of MPEG-2 use a 27MHz clock for their transactions. These clocks drive a System Time Counter (STC) that continually provides incremental timestamp values. The encoder uses its own STC to timestamp the data sent to the decoder. The decoder receives the data stream from the encoder and uses its STC to determine when to transmit time-stamped data to its internal units. For simplicity, the encoder and decoder are not shown. However, because the STC counters are driven by two disparate clocks, there will inevitably be slight variations between the two counters due to changes in operating, environmental conditions. These variations can cause decoding errors when data is received. As a result, although both may be on opposite sides of the world, a method of synchronizing the clock of the decoder to the clock of the encoder is desirable. In the described solution the PCR values contained in the adaptation field are used.
When a PCR value is inserted into the transport stream as the stream leaves the encoder, the PCR value is a duplicate of the STC in the encoder at exactly that time. ISO/IECIS13818-1 International Standard (1994), MPEG-2 systems mandate that the transmission delay from the encoder to the decoder is a constant. By the requirement for this condition, the transmitted packets arriving at the decoder will be positioned in exactly the same rhythm and time relative to each other as they left the encoder. As a result, this decoder can compare the PCR value that is actually received with the decoder's own native STC. If the received PCR (STC) leads the local STC, the decoder can conclude that the local 27MHz clock is slightly slower than the remote control clock. If the received PCR (STC) lags the local STC, the decoder can conclude that the local 27MHz clock is slightly faster than the remote control clock. The clock design of this decoder is such that its speed is finely varied and therefore the information provided by the PCR values can be used to align its STC with that of the remote control encoder.
Returning to fig. 19, a Packet Identification (PID) filter 1110 (described in detail with reference to fig. 24A and 24B) receives the multiple program transport data streams on connection path 1161 and parses the multiple program transport data streams into a single program transport data stream for output on connection path 1162. The resulting stream of transmission data is sent to an asynchronous first-in first-out storage device (asynchronous FIFO) for temporary storage.
PCR extractor 1130 (described in detail with reference to fig. 25) monitors the content of the single program set on connection path 1162 and searches for the presence of a PCR field. When PCR extractor 1130 detects a PCR field, it extracts, or more accurately copies, the PCR field from the data stream and latches the PCR value to PCR incrementer 1140 via connection path 1164. PCR incrementer 1140 (described in detail with reference to fig. 26) receives the PCR field via connection path 1164 and increments its value by 1 at each 27MHz period. PID filter 1110, asynchronous FIFO buffer 1125, PCR extractor 1130, and PCR incrementer 1140 all transmit an adaptive format transport data stream (fig. 20A) from a common 27Mz clock operation provided by the underlying set design. Importantly, the above-described components in the CO framer 1100 are clocked by the same clock that is input to the CO framer 1100 for the adaptive format transport data stream 1161 of fig. 20A, thus enabling the CO framer to be economically implemented as a synchronous unit.
When CO data multiplexer 1150 (the operation of which will be described in detail with reference to fig. 27A, 27B, 27C and 27D) is ready to send an MPEG-2 packet, it checks the contents of asynchronous FIFO 1125 via connection path 1166. The CO data multiplexer transmits the data packet if there is a data packet to be transmitted. If the packet contains a PCR field, CO data multiplexer 1150 will know that a modified version of the PCR field is available from PCR incrementer 1140. In this case, CO data multiplexer 1150 will cause PCR incrementer 1140 to cease operation by re-asserting (deasserting) the PCR run signal on connection path 1171 to stabilize the output of PCR incrementer 1140. The CO data multiplexer 1150 overwrites, or re-marks, the modified PCR values for the original packet as a packet sent to the modem 1351 (fig. 18). If no MPEG-2 packet is sent, the CO data multiplexer 1150 instead sends a packet containing the data traffic from the connection path 1169. Since the video clock reference for MPEG-2 is encoded using a 27MHz clock, it should be noted that the preferred embodiment has utility when the data clocked into the CO framer is clocked at the same rate, i.e., 27 MHz. However, the PCR re-labeling feature of the CO framer of the present invention can operate successfully whenever the CO framer's data is synchronized at the same rate as the encoded video clocking reference. Specifically, the CO framer of the present invention simply adjusts one unit of the PCR field on a 27Mz clock cycle basis on the adaptive format bus until the packet is ready to be sent to the modem.
The CO data multiplexer 1150 also adds a control channel 1174 to the digital video content and internet data. The control channel 1174 is established by utilizing the transmit-priority flag (whether digital image content, internet data, or null data) present in each data packet transmitted between the central office 400 and the subscriber headend 1300 without use. Control information is sent over a control channel 1174 that is a low-speed control data channel in both the upstream and downstream directions, using the transmit-priority flag bit present in each transmit packet transmitted between the central office 400 and the subscriber headend 1300, or more precisely, overloaded. The CO framer 1100 and CP framer 1400 use the additional bits to form a serial data stream in both the upstream and downstream directions over which control information, such as broadcast program requests, is transmitted from a user located at the user headend 1300. In this way it is possible to transmit low speed serial messages without interfering with the MPEG-2 program or the usual data traffic. The Universal Asynchronous Receiver Transmitter (UART) unit in the CO framer 1100 and the CP framer 1400 use these bits to generate and receive serial messages, thus providing a communication link between host processors on both sides of the communication channel 16.
Fig. 20A is a diagram illustrating an adaptive speed transport data stream bus specification of the transport data stream of fig. 19. The adaptive format transport data stream bus is clocked at a constant 27MHz data rate, and is clocked by t 1/(27 x 10)6) The second indication is independent of the rate of the input signal. The bus allows a transfer data stream at any data rate to be transmitted (up to 8 x (27 x 10) by using an additional DVALID bit shown by signals 1176 and 27MHz clock and indicating whether its respective byte contains valid data or not6) b/s). An additional packet synchronization bit (PSYNC) represented by signal 1177 is added to mark the first byte in each MPEG-2 transport packet stream. This design allows the present invention flexibility in receiving incoming transport data streams at a number of different telephony rates. Useful data is extracted from the transport stream 1161 by storing only the bytes associated with the DVALID signal on line 1176 that are deemed to be in use. With respect to this useful data extraction, the receiving device knows that the PSYNC signal on line 1177 is asserted according to the first byte of each transmitted data packet.
Fig. 20B is a diagram illustrating formatting for the eight sets of adaptive rate transport data streams of fig. 20A transported over an optical link. The adaptive rate transport stream of fig. 20A includes eight 10-bit parallel streams. The eight data streams are combined to form a basic 80-bit word. The serial data stream is organized into frames, one example of which is shown as frame 1201. Each frame comprises an 80-bit overhead codeword 1201a, an 80-bit rate-adjusting codeword 1201b and thirteen 80-bit payload codewords 1201c to 1201n, forming a frame of 1200 bits in length.
Overhead codeword 1201a includes 32 framing bits 1202 and a four-bit payload pointer 1206 with forty-four unused bits in the middle. The framing bits indicate the start of a frame and are used to synchronize the serial data to the output parallel data in remote video input module 825 (discussed with reference to fig. 11C). The payload pointer 1206 indicates whether the payload data is to start in the rate adjustment codeword 1201b, the first payload codeword 1201c or the second payload codeword 1201d (not shown). In this manner, the serial data stream adjusts the data rate to match the input data rate to the circuit. Note that the 80-bit overhead codeword 1201a is divided into ten 8-bit bytes, but the rate adjustment codeword 1201b and payload codewords 1201c-1201n are divided into eight 10-bit parallel adaptive rate delivery data streams, each comprising eight data bits, the DVALID bits 1176 (fig. 20A), and the PSYNC bits 1177(20A and 21).
Fig. 21 is a diagram showing an arbitrary rate program data stream from which a 27MHz rate (fig. 20A) adaptive format transport data stream is generated. The arbitrary rate transport stream, shown by signal 1161, is transformed using the selective synchronization initiated by the DVALID and PSYNC bits of fig. 20A. As can be seen, the interval t is 1/α sec, where 0 < α < 27 × 106. In this way, any random transmission data stream can be adaptively converted to the 27MHz transmission data stream shown in fig. 20A.
Figure 22 is a transport stream definition table taken from ISO/IEC 113818-1-tables 2-3 that defines a transport packet for each ITU-t rec.h.222.0 that specifies the first three bytes of the transport stream packets of figures 20A, 20B and 21. As shown, the first three bytes of each packet are sufficient to determine the PID field of each packet. Note that byte two contains bits 4-OPID [12:8] packet ID high end (PIDH), and byte three contains bits 7-OPID [7:0] indicating packet ID low end (PIDL). The use of the PIDH and PIDL bits will be discussed in detail with reference to FIGS. 24A-B.
Fig. 23 is a diagram illustrating the digital video program groups contained on the connection path 1161 of fig. 19. A program group includes one or more programs, shown by channel 1178 to comprise, for example, a cable television news broadcast network (CNN) and channel 1179 to comprise, for example, a Home Box Office (HBO). Although two channels are shown for simplicity, each program group may carry many channels simultaneously. These programs are distinguished by the use of a packet id (pid) field. An example program set is shown in which several programs contained in the program set are filtered down to a single program. The CNN program 1178 shown originates from the packet ID filtering operation 1110, as ordered by an end user.
Fig. 24A is a schematic diagram of the PID filter 1110 of fig. 19. PID filter 1110 includes a plurality of 8-bit latches 1111a-1111n, each for receiving the 8-bit transport data stream on connection path 1161. Latch 1111 also includes two additional bits, the PSYNC bit being received on connection path 1177 and the DVALID bit being received on connection path 1176. The DVALID bit on connection path 1176 provides a clock start signal to 8-bit latch 1111. As described in connection with fig. 20A, 20B, and 22, the PID filter 1110 sets the DVALID flag to a low value for all packets containing undesired PID values. In this way, by analyzing the PIDL bit on the connection path 1116 and the PIDH bit on the connection path 1117, only a desired program is extracted from the transport stream 1161 containing the program group. The PIDL bit on connection path 1116 and the PIDH bit on connection path 1117 form the current packet identification byte on connection path 1118.
Comparator 1121 analyzes the current PID value on connection path 1118 and the desired PID on connection path 1119 and if they match, i.e., the current PID1118 is the desired PID1119, comparator 1121 provides an input to latch 1122. If the PSYNC signal is asserted on connection path 1177 and the comparator asserts a signal on connection path 1191, latch 1122 asserts a signal on connection path 1192 for input to AND gate 1112. If AND gate 1112 receives the input signal from latch 1122 and the DVALID signal asserted on 1176, the AND gate will cause the DVALID signal to be deasserted through latch 1114 while the filtered program set containing the desired packet ID is provided on connection path 1162 to asynchronous FIFO buffer 1125 (FIG. 19) and PCR extractor 1130 (FIG. 19).
Fig. 24B is a decision flow diagram illustrating the operation of the PID filter 1110 of fig. 24A. At block 1123, the PID filter receives a new packet. At block 1124, a determination is made as to whether the packet contains the desired PID value. If the PID value is the expected value, the packet ID filter in block 1126 will wait for the next packet. If the PID value is not the expected value, then at block 1127 the PID filter 1110 will mark the packet as an invalid packet and then await the next packet at block 1126.
FIG. 25 is a decision flow chart showing the operation of the PCR extraction apparatus 1130 of FIG. 19. At block 1131, the PCR extractor receives a new data packet. In 1132, the PCR extractor 1130 determines whether the packet contains a PCR value. If the PCR value is not contained in this new packet, the PCR extractor 1130 will wait for the next packet in block 1134. If the packet contains a PCR value, PCR extractor 1130 will latch the value into PCR incrementer 1140 at block 1136. The PCR extractor 1130 waits for the next packet at block 1134.
FIG. 26 is a detailed view of the PCR incrementer 1140 of FIG. 19. On line 1164, multiplexer 1141 receives a new PCR value from PCR extractor 1130. When the acknowledge command of the signal is executed by a PCR on connection path 1171, PCR register 1144 will store the new PCR value received on connection path 1147 through multiplexer 1141. PCR register 1144 is typically a 43-bit register. As long as the PCR run signal is asserted on connection path 1171, either the new PCR value provided on connection path 1164 or the current PCR value provided on connection path 1146 plus one is latched into PCR register 1144 on a 27MHz clock cycle basis. The current values of the registers are provided to the CO data multiplexer 1150 via connection path 1167 so that the CO data multiplexer 1150 can reinsert the field back into the MPEG-2 data stream as it is sent to the customer premises 1300 via connection path 1168 (see fig. 19). This technique allows the PCR field to be modified by the correct amount to maintain its accuracy. For each 27MHz clock cycle, the PCR load transfer packet is delayed and the PCR field is incremented by one unit to compensate. When the CO data multiplexer 1150 is ready to send PCR load transport packets to the customer premises 1300, it stops the PCR incrementer operation by de-asserting the PCR run signal on connection path 1171 and packs the updated PCR fields back into its original transport packets (as will be described in detail with reference to fig. 28).
Referring again to FIG. 19, by using a transport data stream interface, the same clock source is synchronized at 27MHz for the PID filter 1110PCR extractor 1130, asynchronous FIFO buffer 1125, and PCR incrementer 1140, whose PCR values are expressed in units of 27MHz clock cycles. This allows all these units to be implemented in a simple synchronous hardware design. It should be noted that the 27MHz data clock associated with the incoming transport data stream may vary from the 27MHz clock used in the encoder. It is possible that the amount added to the PCR field may change a generated value very slightly so that the encoder clock is locally regenerated. However, this change over the short time that PCR incrementer 1140 runs between two clocks is very small. By using this data clocking in an attempt to regenerate the encoder clock, the CO framer 1100 will significantly reduce the cost of the implementation. Asynchronous FIFO buffer 1125 and PCR run signal 1171 provide a buffer between all other elements and CO data multiplexer 1150, another truly synchronous design, and thus adjusted by the data clock provided by modem 1351.
Fig. 27A is a block diagram of the CO data multiplexer 1150 of fig. 19. Multiplexer 1151 receives a new value from PCR incrementer 1140 via connection path 1167, data traffic input via connection path 1169, data from asynchronous FIFO buffer 1125 in the form of a delayed program via connection path 1166, and input from decision routine 1152. Decision routine 1152 asserts or deasserts the PCR run signal on connection path 1171 to stop or continue operation of PCR incrementer 1140. Multiplexer 1151 selects to send data, data traffic 1169 from asynchronous FIFO buffer 1125 or to replace the PCR field of a packet with a new value via connection path 1167 according to the current request. Multiplexer 1151 provides the final transmit data stream to modem 1351 via connection path 1168 for transmission over low bandwidth communication channel 116.
Fig. 27B is a state diagram illustrating the operation of the decision routine 1152 of fig. 27A. In states m0, m1, and m2, a byte containing video broadcast program content is read from asynchronous FIFO buffer 1125 and sent to modem 1351 via connection path 1168. In state m3, one byte is again read out of asynchronous FIFO buffer 1125 and sent to modem 1351. If bit 5 is set, go to state m4, otherwise go to state m to wait. In state m4, one byte is again read out of asynchronous FIFO buffer 1125 and sent to modem 1351. If zero, go to state m wait, otherwise go to state m 5. In state m5, a byte is again read out of asynchronous FIFO buffer 1125 and sent to modem 1351. If bit 4 is set, go to state m6, otherwise go to state m wait. If the state machine reaches the m6 state, a PCR value appears in the packet, so the old value is replaced with a new value as follows.
In states m6, m7, m8, m9, m10, and m11, one byte is read out of asynchronous FIFO buffer 1125 and discarded. The PCR run signal on line 1171 is de-authenticated. During each of the subsequent six clock cycles, the six bytes associated with the new PCR field (connection path 1167) are transmitted in place of the six bytes associated with the old PCR field.
In the m-wait state, a byte is read from asynchronous FIFO buffer 1125 and sent to modem 1351, and awaits the next packet arbitration (1152).
In state i0, the standard MPEG-2 Sync byte (0 × 47) is sent to the modem 1351. In state i1, byte 0 × 1F is sent to modem 1351. In state i2, byte 0 × FE is sent to modem 1351. In state i3, byte 0 x 1 α is sent to modem 1351, where α is the appropriate continuous _ counter value. States i1 and i2 send PID values that are used for Internet data; in this preferred embodiment, a PID value of 0 × 1FFE is used. It should be noted that any random value may be used, provided that the value is consistent throughout the design and does not contradict any other PID being used. The continuity counter is a standard 4-bit field that is incremented once for each transport packet of the same PID, as is known in the art. In the i-wait state, one byte of internet data is transmitted to the modem 1351, and the following packet judgment (1152) is waited.
In state n0, the standard MPEG-2 Sync byte (0 × 47) is sent to the modem 1351. In state n1, byte 0 × 1E is sent to modem 1351. In state n2, byte 0 × FF is sent to modem 1351. In state n3, byte 0 x 1 β is sent to modem 1351, where β is the appropriate continuous-counter value. In the n-wait state, byte 0 × FF is sent to the modem 1351, and the subsequent packet arbitration (1152) is waited.
Fig. 27C is a flowchart of the operation of CO data multiplexer 1150 of fig. 27A. In block 1153, the CO data multiplexer 1150 is ready to send a new data packet. At block 1154, a determination is made as to whether an MPEG-2 program set is ready to be transmitted from the connection path 1166 (FIG. 19). If an MPEG-2 program set is available, it is sent to the modem 1351 via connection path 1168 in block 1156. If no MPEG-2 program set is prepared, the CO data multiplexer 1150 will determine if the data quota has been reached in block 1155. If the data quota has been reached, then at block 1157 the CO data multiplexer 1150 will send a null data packet. If it is determined in data block 1155 that the data quota has not been reached, CO data multiplexer 1150 will send a data service packet in block 1158.
Fig. 27C is a flowchart of the CO data multiplexer package decider function 1152 of fig. 27A. This selection is done to transmit an MPEG-2 program group at block 1181, which block 1181 corresponds to block 1156 of fig. 27B. At block 1182, a determination is made as to whether the packet to be transmitted contains a PCR value. If the packet does not contain a PCR value, the MPEG-2 program set is transmitted in block 1183. If it is determined in block 1182 that the data packet does contain a PCR value, then in block 1184 the PCR run signal on connection path 1171 (fig. 19) is de-authenticated and the old PCR value is replaced with the new PCR value available on connection path 1167.
Fig. 28 is a schematic diagram of the downstream operation (from the central office 400 to the customer premises 1300) of the CO framer 1100 of fig. 19. Respective packets from the multi-program source transport stream 1161 are selectively forwarded to the slower transport stream 1168 for transmission to the modem 1351 by latching the PCR values extracted on connection path 1164 (fig. 19) to the PCR incrementer 1140 via connection path 1172 and deasserting the PCR run signal 1171 to the PCR incrementer 1140 (fig. 19). The PCR field adjustment is performed for the packet containing the PCR field as described with respect to fig. 26.
Fig. 29 is a schematic diagram showing the CO data multiplexer of the CO framer 1100 of fig. 19 oriented in one upstream (customer premises 1300 to central office 400). Although omitted from fig. 19 for simplicity, the CO framer 1100 includes a CO data demultiplexer 1155 in addition to the CO data multiplexer 1150. The CO data demultiplexer 1155 receives bidirectional internet data from the user head end 1300 through a connection path 1168 and receives control information through a control channel 1174. The CO data demultiplexer routes the internet data via connection path 1169 to, for example, computer 1355 (not shown). The operation of control channel 1174 is discussed above.
Fig. 30 is a diagram illustrating a CP data demultiplexer 1455 in the downstream direction. Video broadcast program content and data is received from the DSL modem 1351 over the connection 1456. The CP data demultiplexer 1455 separates video broadcast program content for input to the MPEG-2 decoder 1356 (fig. 18) via the connection path 1457 and bi-directional internet data for input to the computer 1355 (fig. 18) via the connection path 1459. It is also assumed that the input to CP data demultiplexer 1455 is data for control channel 1174, the operation of which has been discussed with reference to fig. 19.
Fig. 31 is a schematic diagram illustrating the CP data multiplexer 1450 in the upstream direction of the CP framer 1400 of fig. 17A. Bi-directional internet data is received in the CP multiplexer 1450 via connection 1459 and passed to the DSL modem 1351 for communication via the communication channel 16. Note that CP data multiplexer 1450 only transmits bi-directional internet data as well as control information in the upstream direction over control channel 1174.
Fig. 32 is a judgment flowchart showing the operations of the CO data demultiplexer 1155 and the CP data demultiplexer 1455. Block 1186 predicts the arrival of a new packet. At block 1187, a determination is made as to whether the packet contains data traffic. If the packet does not contain data traffic, the data demultiplexer waits for the next packet at block 1188. If it is determined in block 1187 that the data packet does contain data traffic, then in block 1189 the data traffic is extracted and the data demultiplexer waits for the next data packet in block 1188.
Fig. 33 is a flowchart of an operation of the CP data multiplexer 1450 of fig. 17A. In block 1401, CP data multiplexer 1450 is ready to send a new data packet. At block 1402 it is determined whether the data quota has been reached. If the data quota has been reached, at block 1404 the CP data multiplexer 1450 will send a null data packet. If it is determined at block 1402 that the data quota has not been reached, at block 1406, the CP data multiplexer 1450 will transmit a data service data packet to the central office 400 via the communication channel 16 with the modem 1351. This also shows that the upstream data is in the form of data in a transport packet. It is not necessary for the design of the present invention to operate, but it facilitates standardization. CP data multiplex 1450 only generates data traffic packets and null packets.
Fig. 34 is a diagram illustrating an alternative embodiment of the CO framer 1100 of fig. 19. In this embodiment, the CO framer 1100 adds a new program to an existing transport stream. Components performing the same function as described with reference to fig. 19 are given the same reference numerals and will not be described in detail again. As can be seen, an added program is provided on connection path 1551 to asynchronous FIFO buffer 1125. PCR extractor 1130 also monitors the transport data stream on connection path 1551 in a similar fashion to monitoring the output of PID filter 1110 of fig. 19. PCR extractor 1130, PCR incrementer 1140, and asynchronous FIFO buffer 1125 all perform the same functions as described above. The program multiplexer 1550 replaces the CO data multiplexer 1150 and receives the existing program data stream via connection path 1552. The program multiplexer 1550 will replace the incoming null data packets with the data packets associated with the new program and provide an output on connection 1554 comprising the new n +1 program data streams.
Many variations and modifications of the above-described embodiments of the invention may be made without departing substantially from the scope and principles of the invention. All such modifications and variations are intended to be included herein within the scope of this disclosure.
Claims (15)
1. A system for transmitting digital video and data over a single communication channel, comprising:
a broadcast program center configured to receive a plurality of video signals representing a plurality of video programs, said broadcast program center further configured to process at least one bi-directional data signal;
a central office in communication with said broadcast program center, said central office configured to receive said plurality of video signals representing said plurality of video programs and to place said plurality of video programs simultaneously on a bus; said central office further configured to process said at least one bi-directional data signal, said at least one bi-directional data signal comprising a telephone channel; and
means, located in said central office, for simultaneously transmitting and stopping transmission of any of said plurality of video signals representing said plurality of video programs to any of a plurality of end user locations and supporting communication of said at least one bi-directional data signal to any of said plurality of end user locations via a single communication channel.
2. The system of claim 1, further comprising means for precisely controlling said plurality of video signals representing said plurality of video programs for delivery to any of said plurality of end user locations.
3. The system of claim 1, wherein the arrangement of said bus in said central office allows multiple end user locations to simultaneously access any number of said plurality of video signals representing said plurality of video programs.
4. The system of claim 1, wherein said bus allows any end user location connected to said central office to select from any of said plurality of video signals representing said plurality of image programs.
5. The system of claim 1, further comprising means for communicating from said end user location to said central office to request one of said plurality of video signals representing said plurality of video programs.
6. The system of claim 1, further comprising a video network interface grid contained within said central office.
7. The system of claim 1, further comprising a video distribution grid contained in said central office.
8. The system of claim 1, further comprising an access shelf included in said central office.
9. The system of claim 8, wherein said bus is disposed in said access shelf.
10. The system of claim 1, further comprising means for simultaneously providing at least one telephone channel with at least one of said plurality of video signals representing at least one of said plurality of video programs and said at least one bi-directional data signal.
11. A method for providing multiple video channels and bi-directional data over a single communication channel, comprising the steps of:
a) simultaneously placing a plurality of video channels each representing an image program on a bus;
b) receiving a request for at least one of said plurality of video channels from at least one of a plurality of user locations;
c) processing the request to determine whether said at least one subscriber location is a subscriber authorized to receive at least one of said plurality of video channels; and
d) if said at least one subscriber location is a subscriber authorized to receive said at least one of said plurality of video channels, simultaneously transmitting at least one of said plurality of video channels representing said at least one video program to any subscriber of said plurality of subscriber locations via a single communication channel, at least one of said plurality of video channels representing said at least one video program, and said bi-directional data stopping at said at least one subscriber location.
12. The method of claim 11, further comprising the step of: simultaneously providing a bi-directional data channel for at least one of said plurality of video channels.
13. The method of claim 11, further comprising the step of: simultaneously providing at least one telephony channel for at least one of said plurality of video channels.
14. The method of claim 11, further comprising the step of: simultaneously providing a bi-directional data channel and at least one telephony channel for at least one of said plurality of video channels.
15. The method of claim 11, further comprising the step of: monitoring each of said plurality of video channels requested by each subscriber location to collect a history of all video channels requested by said subscriber location; and is
The history is maintained in a database.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US6415397P | 1997-11-04 | 1997-11-04 | |
| US60/064,153 | 1997-11-04 | ||
| PCT/US1998/023550 WO1999023825A1 (en) | 1997-11-04 | 1998-11-04 | System and method for the delivery of digital video and data over a communication channel |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1038127A1 HK1038127A1 (en) | 2002-03-01 |
| HK1038127B true HK1038127B (en) | 2005-05-27 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1169365C (en) | System and method for communicating digital video images and data over a communication channel | |
| US6678740B1 (en) | Process carried out by a gateway in a home network to receive video-on-demand and other requested programs and services | |
| US7089577B1 (en) | Process for supplying video-on-demand and other requested programs and services from a headend | |
| US8079049B2 (en) | System and method for inserting sync bytes into transport packets | |
| WO2003030548A1 (en) | Digital transmission system having modulators remotely located from central media access control layer | |
| US7526427B2 (en) | System and method for reception, processing and transmission of digital audio stream | |
| US8811155B2 (en) | System and method for compensating for a satellite gateway failure | |
| WO2002001781A2 (en) | A process for supplying video from a headend | |
| US20150304229A9 (en) | Method and system for allocating receiving resources in a gateway server | |
| HK1038127B (en) | System and method for the delivery of digital video and data over a communication channel | |
| US20080165774A1 (en) | Inter-network packet modifier and related method thereof | |
| US20090210911A1 (en) | System And Method For Advertising The Availability Of A Software Upgrade | |
| WO1999012353A1 (en) | A distribution system | |
| EP1941727B1 (en) | A system and method for inserting sync bytes into transport packets | |
| CZ20001638A3 (en) | A system and method for maintaining timing synchronization in a digital television network | |
| WO2002001318A2 (en) | Process carried out by a gateway in a home network | |
| HK1032308A (en) | A distribution system |