CN100380853C - Video profram bearing transport stream remultiplexer - Google Patents

Video profram bearing transport stream remultiplexer Download PDF

Info

Publication number
CN100380853C
CN100380853C CNB998039942A CN99803994A CN100380853C CN 100380853 C CN100380853 C CN 100380853C CN B998039942 A CNB998039942 A CN B998039942A CN 99803994 A CN99803994 A CN 99803994A CN 100380853 C CN100380853 C CN 100380853C
Authority
CN
China
Prior art keywords
transmission package
descriptor
processor
regulation
division multiplexing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB998039942A
Other languages
Chinese (zh)
Other versions
CN1293845A (en
Inventor
R·格拉塔盖普
W·斯莱特里
R·罗比内特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SkyStream Corp
Original Assignee
SkyStream Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/007,199 external-priority patent/US6148082A/en
Priority claimed from US09/007,212 external-priority patent/US6292490B1/en
Priority claimed from US09/007,203 external-priority patent/US6195368B1/en
Priority claimed from US09/007,198 external-priority patent/US6064676A/en
Priority claimed from US09/007,211 external-priority patent/US6351471B1/en
Priority claimed from US09/006,963 external-priority patent/US6246701B1/en
Priority claimed from US09/007,210 external-priority patent/US6351474B1/en
Priority claimed from US09/006,964 external-priority patent/US6111896A/en
Application filed by SkyStream Corp filed Critical SkyStream Corp
Publication of CN1293845A publication Critical patent/CN1293845A/en
Application granted granted Critical
Publication of CN100380853C publication Critical patent/CN100380853C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

A method and system (30, 30', 100, 100', 100'', 100''') remultiplex video program bearing data (TS1-TS5, TS10-TS20), using a descriptor based system (122, 124, 129-4) for timely outputting transport packets, using a descriptor and transport packet caching technique (116, 122, 124, 114) for decoupling the synchronous receipt and transmission of transport packets from any asynchronous processing (160, 120, 130, S2, 402, S4, 404), using descriptors for managing scrambling and descrambling control words (129-9), optimizing bandwidth of transport streams by replacing null transport packets with transport packet data, and using a technique (180) for locking multiple internal reference clock generators (113).

Description

The transport stream that has a video program is the division multiplexing device again
Technical field
The invention belongs to communication system.Especially, the invention belongs to the optionally multiplexed bit stream that comprises one or more programs (such as the real-time audio-visual program).The information of adjusting program specific information and relevant other program, thus make and can discern, extract program and reproduce in real time at the receiving terminal of bit stream.
Background technology
Recently, compressed audio-video program has effectively been proposed so that storage and the technology that sends.For example, see ISO IEC IS 13818-1,2,3: the universal coding of information technology-mobile image and relevant audio-frequency information: system, video and and audio frequency (" MPEG-2 "); ISO IEC IS 11172-1,2,3: information technology-be used for is up to the moving image of the digital storage media of about 1.5 megabit per seconds and the universal coding of associated video: system, video and audio frequency (" MPEG-1 "); Doby AC-3; Motion JPEG etc.Here, according to the saying of MPEG-2, terms program refers to have the set of the relevant audio-video signal that benchmark and planning presents synchronously common time.
MPEG-1 and MPEG-2 are that stratified flow is established.Promptly, the audio-video program is made of one or more encoded bit streams or " stream unit (elementary stream) " (" ES "), stream unit such as encoded video ES and encoded audio ES, through the audio ES of second language coding, captioned text (closed captiontext) ES etc.To each ES, especially each Voice ﹠ Video ES is encoded dividually.Then, encoded ES is combined into such as program flow " PS " or transport stream system's laminar flows such as " TS ".The purpose of PS or TS is to make and can extracts encoded ES from a program, separates each ES and it is carried out decoding separately, and synchronously present encoded ES.Can be encapsulated in TS or PS in the one higher channel layer or think forward error correction and the storage format of establishing encapsulates.
Stream unit
Usually with the constant bit-rate of for example 384kbps audio ES is encoded.On the other hand, video ES is encoded according to MPEG-1 or MPEG-2 with variable bit rate.This means the figure place of each compressed/image encoded different according to image (these images are to present or show with constant speed).Video coding comprises from the space and the time is gone up the step that video image is encoded.Space encoding comprises discrete cosine transform, quantification, (complications) scanning, run length coding, RLC and the variable length code piece of brightness and colourity pixel data.Time encoding relates to (for example estimates macro block, by luminance block and cover 4 * 4 arrays that each chrominance block thereon forms) motion discern motion vector, macro block is carried out motion compensation form the predicated error macro block, the predicated error macro block is carried out space encoding and motion vector is carried out variable length code.Only some images (being called the I image) are carried out space encoding, and to carrying out space and motion compensation encoding (that is, carrying out time prediction from other image) such as other images such as P and B images.The position that encoded I image is had is more than the position of encoded P image usually, and the position that encoded P image is had is more than the position of encoded B image usually.Under any situation, even the encoded image of same type may have different figure places.
MPEG-2 defines the buffer size constraint to encoded video ES.Especially, the buffer of supposing decoder has predetermined maximum storage capacity.Encoded video ES must not make the buffer overflows (must not make in some cases, the buffer underflow of decoder) of decoder.For enabling the decoding to predicted picture (from the benchmark image of these predicted pictures of prediction), MPEG-2 defines the constraint of removing time, image demonstration speed and the rearrangement of some image of the packed data of each image with respect to the bit rate of video ES from the buffer of decoder particularly.If given these constraints, then the figure place that produced when compressed image of scalable (with being that the basis is regulated the same frequent to macro block with the macro block) does not cause the buffer underflow or the overflow of video ES encoder to guarantee video ES.
Transport stream
Here with TS the present invention is shown.For simplicity, omission is to the discussion of PS.Yet those skilled in the art should understand the applicability of some aspect of the present invention to PS.
The data of each ES form variable-length program flow unit or " PES " bag (packet).PES comprises the data of single ES, but also can comprise the data (for example, can comprise a more than compressed image, a more than compressed audio frame etc.) of a more than decoding unit.Under the situation of TS, at first the PES bag is divided into many pay(useful) loads (payload) unit, and they are inserted in the transmission package of regular length (188 byte long).The effective load data of each transmission package portability single type, for example PES of single ES bag data.Each TS is provided with the nybble header that comprises Packet Identifier or " PID ".This PID is similar to the label (tag) of the content of indicating transmission package uniquely.Thereby the video ES a PID is assigned to specific program is assigned to another different PID the audio ES of specific program etc.
ES to each program encodes with respect to the timer clock of single encoded device system.Make the decoding of these ES equally, successively and present synchronous synchronously with respect to same encoder system timer clock.Thereby decoder must can recover original encoder system timer clock, so as can with the mode of timely and phase mutually synchronization each ES is decoded and present each through the decoding ES.For this reason, the time mark of system timing clock (being called program clock benchmark or " PCR ") is inserted in the pay(useful) load of the transmission package choose (specifically, in adapting to (adaption) field).Decoder extracts PCR and uses PCR to recover the encoder system timer clock from transmission package.The PES bag can comprise decode time mark or " DTS " and/or presentative time mark or " PTS ".DTS indication is tackled the time that next decoding unit (that is, compressed audio frame, compressed video image etc.) is decoded with respect to the encoder system timer clock that is recovered.PTS indication should present or show the time of next display unit (that is, the audio frame through decompressing, image etc. through decompressing) with respect to the encoder system timer clock that is recovered.
Different with PS, TS can have the transmission package of the routine data that carries a more than program.At different coding device place each program is encoded with respect to different encoder system timer clocks.TS makes decoder can recover the dedicated system timer clock that decoder is wanted the program of decoding.For this reason, TS must carry not PCR group on the same group, and promptly one group of PCR wherein is used to recover the encoder system timer clock of each program.
TS has also carried the program specific information or (PSI) in the transmission package.PSI is used to discern the data of wanting program or helps the out of Memory of program decoding.Be provided with program contingency table or " PAT ", in transmission package, carry this contingency table with PID 0x0000.PAT is relevant with the PID of the program definition transmission package of carrying this program each program number.The program definition: which ES configuration program (1) indicates define pairing program, (2) discern among these ES each PID, (3) PID of transmission package of the PCR of this program is carried in indication, and ES specific names control messages (for example, descrambling or decruption key) and out of Memory are carried in (4) identification.Generally speaking, all program definition of TS all are called program map table (PMT).Thereby decoder can extract the PAT data and use PAT to discern the PID of the transmission package of carrying the program definition of wanting program from transmission package.Then, decoder can extract the program definition of data of the program of wanting from transmission package, and discerns the PID of the transmission package of carrying the ES data that constitute this program of wanting and the PID that carries the transmission package of PCR.Then, use these PID discerned, decoder can extract the ES data of ES of the program of wanting and the PCR of this program from the transmission package of TS.Decoder recovers the encoder system timer clock from the PCR that wants program, and with respect to the time of the encoder system timer clock that is recovered the ES data is being decoded and presenting.
Other type information that randomly is arranged among the TS comprises name control messages (ECM), name administrative messag (EMM), the visit (access) of having ready conditions table (CAT) and network information table (NIT) (CAT and NIT also are the PSI types).ECM is used to control the ES specific messages that decoder is translated the ability of the affiliated ES of ECM.For example, can carry out scrambling to ES, descramble key or control word can be ECM.The ECM relevant with specific ES placed the transmission package that they control oneself, and put on exclusive PID.On the other hand, EMM is used for controlling the total system message that one group of decoder (this group decoder is positioned at a system that is called " condition visitation system ") is translated the ability of a part of TS.EMM is placed their transmission package, and put on to the condition visitation system under the EMM exclusive PID.For making the EMM location of decoder, a CAT just is set when having EMM to condition visitation system (decoder is the part of this system, and promptly this decoder is a member of this group decoder).NIT has preserved various network parameters.For example, if modulate a plurality of TS on the different carrier frequencies that the decoder receiver may be tuned to, then NIT can indicate in which carrier frequency (carrying TS) and modulate each program.
ES is similar with video, and the MPEG-2 requirement comes the decoder of the TS buffer of stored program ES and PSI data that TS is decoded by having preliminary dimension.MPEG-2 also defines the speed that data flowed into and flowed out the sort buffer device.The most important thing is, the MPEG-2 requirement, TS can not overflow or underflow TS buffer.
In order further to prevent buffer overflows or underflow, the MPEG-2 requirement, the data that are transferred to decoder from encoder need experience constant end-end and postpone, and keep suitable program and ES bit rate.In addition, in order to guarantee that ES is decoded in time and presents, among the TS the relative time of advent of PCR not therewith the indicated relative time of PCR change too much.In other words, each PCR indication time that system timing clock (recovering in the decoder place) should have when receiving last byte that comprises a PCR part.Thereby, the time of reception of next PCR should with the indicated time correlation of each PCR.
Division multiplexing again
Usually, want TS is carried out " division multiplexing again ".Division multiplexing relates to the content of optionally revising TS again, such as the transmission package that increases TS, delete transmission package from TS, rearrange the order of transmission package among the TS and/or modification and be included in data in the transmission package.For example, want sometimes the transmission package that comprises first program is added among the TS that comprises other program.The step that this operation relates to is more than the transmission package that increases by first program simply.At least, must revise, thereby it can correctly quote the content of (reference) TS such as PSI such as PAT and PMT.Yet, must further revise TS, with end-end delay of each wherein entrained program of maintenance.Specifically, cannot change the bit rate of each program, with buffer underflow and the overflow that prevents TS and Video Decoder.In addition, must remove the misalignment of any time of the PC that introduces TS, these misalignments are the results that change the relative reception interval/rate of the consecutive transmissions bag of the PCR that has (bearing) same program.
Prior art has proposed the device of division multiplexing again of a kind of MPEG-2TS of being used for.The device of division multiplexing again that is proposed is the specialized hardware of a complexity, and last provides synchronous completely between the point of the output TS of division multiplexing again to output at the point for the treatment of multiplexed TS that receives each input for it---reception, buffering, the modification of individual system timer clock control transmission bag, transmit, ressemble and export and make these operations synchronous.Though this device of division multiplexing again can carry out division multiplexing again to TS, the architecture of division multiplexing device is complicated again, and needs unified synchronous dedicated platform.
An object of the present invention is to provide a kind of division multiplexing architecture more flexibly, for example it can be present in may be asynchronous any platform on.
The video of single program and audio frequency are compressed and the program coder that produces the TS that has single program is known.As mentioned above, MPEG-2 has added very strong constraint for bit rate and the figure place of the TS that any moment can exist in the Video Decoder buffer.Be difficult to ES especially video ES is encoded and guarantees that bit rate keeps constant fully in all moment.Moreover, must distribute to each program to some overhead bandwidth, to guarantee not omit the ES data because of the ES encoder produces unexpected excessive coded message.On the other hand, program coder is not exported any encoded routine data at specific transmission package time slot once in a while.This may reduce in this figure place constantly to be exported and take place because program coder is the overflow that prevents decoder buffer.Perhaps, this may be because the program coder unanticipated needs the time of length thereby does not instantaneously have obtainable data and take place at this to ES is encoded.For bit rate that keeps TS and the underflow that prevents the TS decoder buffer, empty transmission package is inserted in the transmission package time slot.
A constraint that in the TS that treats again division multiplexing, exists empty transmission package normally must simply accept.An object of the present invention is to optimize the bandwidth of the TS that comprises the sky transmission package.
Sometimes, transmit TS or ES data via asynchronous communication links.The data that an object of the present invention is to this not timing or asynchronous communication are carried out " retiming ".Purpose in addition of the present invention is by the transmission of these transmission package being carried out timing the shake (jitter) of the transmission package that sends from these asynchronous communication links to be minimized.
Of the present invention also have a purpose to be to use the family dynamically (that is, in real time) to change through the content of division multiplexing again and become division multiplexing TS again, and the flowing of the transmission package among the TS of division multiplexing again that does not stop to export.
Another object of the present invention is the division multiplexing function again that distributes on a network.For example, purpose is that one or more TS or ES source are placed the arbitrary node place of communication network (such as ethernet lan) that may be asynchronous and another node place that division multiplexing device is again placed this network.
Summary of the invention
These and other objects have been realized according to the present invention.An example application of the present invention is that the one or more transport stream (TS) that meet MPEG-2 are carried out division multiplexing again.TS be comprise one or more compressed/bit stream of data of the audio-video program of coding.Each TS forms the sequence of the transmission package of regular length.Each compressed transmission comprises the data such as the one or more compressed stream unit (ES) of digital video signal and/or digital audio and video signals.Transmission package has also been carried the program clock benchmark (PCR) of each program, and these PCR make the decoding of each program and present by the time mark of synchronous encoder system timer clock.Each program has predetermined bit rate, and will be decoded at the decoder place of TS buffer with preliminary dimension and predetermined decoding device buffer.In this way each program is encoded, thereby prevent the overflow and the underflow of these buffers.Example ground, the program specific information (PSI) that has also carried the decoding that helps TS in the transmission package choosing of TS.
According to an embodiment, division multiplexing device node is provided with one or more adapters again, and each adapter comprises-cache memory, links the data link control circuit of this cache memory and links the direct memory access circuit of this cache memory.Adapter is the sync cap with special characteristics.Data link control circuit has the output port that is used to receive the input port of transport stream and is used to send transport stream.The direct memory access circuit can be linked has convertible tip-asynchronous communication links of end communication delay (such as a bus of division multiplexing device node again).Use asynchronous communication links, the memory of the addressable division multiplexing again of direct memory access circuit device node.Memory can be stored the formation of one or more descriptor storage (storagelocation), such as a formation that is assigned to input port be assigned to a formation of output port.Memory also can be stored transmission package in the transmission package memory cell, be stored in the descriptor storage of each formation point for these unit descriptors.Example ground, division multiplexing device node comprises the processor of linking bus again, this processor is used to handle transmission package and descriptor.
When using adapter to import transport stream, data link control circuit is untapped descriptor in one of descriptor storage sequence in the formation that input port distributed is distributed to each transmission package that receives to be kept.The descriptor that is distributed is positioned at the descriptor storage that cache memory therefrom obtains control.Data link control circuit the transmission package of each reservation be stored in cache memory therefrom obtain control and by the descriptor that is distributed transmission package memory cell place pointed.The direct memory access circuit obtains this formation in the memory one or more are not used the control of descriptor storage (after being positioned at last descriptor storage that cache memory therefrom obtains to control).The direct memory access circuit also obtains the control to the transmission package unit in the memory pointed of these descriptors in one or more descriptor storage.
When using adapter to export transmission package, data link control circuit is assigned to each descriptor the descriptor storage sequence of formation of output port from cache retrieval (retrieve).Retrieve descriptor successively from the beginning of sequence.Data link control circuit also is stored in transmission package the descriptor of the retrieval transmission package memory cell pointed from cache retrieval.Data link control circuit is exported the transmission package (that is transmission package of every time slot) of each retrieval with the exclusive time slot from the transport stream of output port output.The direct memory access circuit obtains to be assigned to the descriptor of formation of the output port of memory cell (after being positioned at the descriptor storage of last the high-speed cache descriptor that wherein stores this sequence) from memory, to be stored in the cache memory.The direct memory access circuit also obtains to be stored in each transmission package in the transmission package unit that the descriptor that obtained points to.
According to another embodiment, (going back) used each descriptor to write down indication and when received transmission package time of reception mark at the input port place, or indication will from output port send initial package time send time mark with charge free.Receive at input port under the situation of transmission package, data link control circuit the time of reception label record distribute to each receive and the descriptor of the transmission package that keeps in, receive time of this transmission package with indication.By the order that receives descriptor is kept in the reception formation.Under the situation of output port output transmission package, data link control circuit is retrieved the transmission package of the descriptor sensing of each descriptor and each retrieval successively from transmit queue.In the moment corresponding to the time of sending with charge free in the descriptor that is recorded in each retrieval, data link control circuit sends the transmission package that is retrieved that the descriptor of each retrieval points to the time slot corresponding to the output transport stream of the time of sending with charge free in the descriptor that is recorded in retrieval.
Example ground, the inspection of division multiplexing device modal processor receives each descriptor in the formation and comprises other formation of pointing to the descriptor of waiting to export transmission package again.The descriptor of the transmit queue that processor distribution is relevant with output port (therefrom will sending by each descriptor (if any) transmission package pointed on inspection).Processor is assigned to the time of sending with charge free the descriptor that transmit queue is distributed according to time of reception and the reception of transmission package and the internal buffer delay between the output of for example transmission package of descriptor sensing.In addition, processor also sorts by the descriptor of the ascending order of sending the time with charge free to transmit queue.
Exclusive PCR normalized also is provided.Processor scheduling will be sentenced each transmission package of a certain time slot output in the time of sending with charge free corresponding to the predetermined delay in the division multiplexing device node again specific.If the transmission package that is scheduled comprises PCR, then regulate PCR with respect to the skew (drift) (if having any skew) of the program of the system timing clock that therefrom produces PCR according to the local reference clock.Data link control circuit (transmission has this transmission package that is conditioned PCR) is further sent the time with charge free according to the scheduling of transmission package and is regulated each PCR time mark through regulating with the difference that the real time of this time slot takes place with respect to external clock.
Each such transmission package if export a more than transmission package with same time slot, is then exported with the continuous slot that separates in example ground.Processor calculates the estimation of each PCR in the transmission package and regulates, and this transmission package is scheduled for the time slot output different with using the determined time slot of predetermined delay.Estimated adjusting has the time slot of the transmission package for the treatment of output-pcr and the output time difference between the determined time slot of predetermined delay based on the processor actual schedule.Processor is regulated PCR according to the adjusting of this estimation.
According to an embodiment, descriptor also is used to control scrambling or the descrambling to transmission package.Under the situation of descrambling, processor has defined the sequence of one or more treatment steps that will be carried out and the scramble process in this sequence has been sorted on each transmission package.The processor handle control word information relevant with the content of transmission package deposits in the control word information memory cell of the descriptor that is distributed.Data link control circuit is distributed to transmission package that each receives and that keep to descriptor, and each such descriptor comprises the memory cell of one or more processing indications and control word information.Data link control circuit is set one or more processing indications of the descriptor that is distributed, to indicate next treatment step of the sequence that can carry out on each descriptor that is distributed.The descrambler of visiting each descriptor that distributes successively is provided.If can carry out scramble process to the processing indicative of settings of the descriptor that has access to the descriptor (with the descriptor that has access to transmission package pointed) that has access to for indication, then descrambler is handled the transmission package of this descriptor and sensing thereof.Specifically, if the transmission package of descrambling is treated in descriptor sensing one, then descrambler uses the control word information in the descriptor that has access to that transmission package is carried out descrambling.
Descrambler can be positioned on (reception) adapter, in the case, after the processing of descrambler occurs in the processing (for example, descriptor distribution, time of reception record etc.) of data link control circuit, but the processing (for example, being sent to memory) that occurs in the direct memory access circuit is preceding.Perhaps, descrambler can be the device that separates of linking asynchronous communication interface, in the case, and after the processing of descrambler occurs in the processing of direct memory access circuit, but the processing (for example, the time departure of estimation calculates, PID remaps etc.) that occurs in processor is preceding.Under any situation, but the plot of the PID index that control word information all is processor preserves control word table.
Under the situation of scrambling, processor defines the sequence of the one or more treatment steps that will carry out on each transmission package, and the processing of the scrambling in this sequence is sorted.Processor is distributed to each transmission package to be sent to the transmission descriptor of transmit queue, and the control word information relevant with transmission package deposits in the control word information memory cell of choosing descriptor in the descriptor that is distributed.Then, processor is set one or more processing indications of descriptor, next treatment step in the sequence that can carry out each descriptor that is distributed with indication.The scrambler of visiting each descriptor that distributes successively is provided.The transmission package that scrambler is handled each descriptor that has access to and the descriptor that has access to points to, but this only handles and can carry out the processing indicative of settings of the descriptor that has access to the descriptor (with the descriptor that has access to transmission package pointed) that has access to carrying out when scrambling is handled for indication.Specifically, if the descriptor that has access to points to the transmission package for the treatment of scrambling, then scrambler uses the control word information in the descriptor that has access to that the descriptor that has access to transmission package pointed is carried out scrambling.
Scrambler can be positioned on (transmission) adapter, in the case, the processing that the processing of scrambler occurs in the direct memory access circuit (for example, be sent to cache memory etc. from memory) after, but the processing (for example, with correct time slot output, last PCR correction etc.) that occurs in data link control circuit is preceding.Perhaps, scrambler can be the device that separates of linking asynchronous communication interface, and in the case, the processing that the processing of descrambler occurs in processor (for example, the transmit queue descriptor distributes, sends with charge free time appointment, PCR correction etc.) after, but before occurring in the processing of direct memory access circuit.As descrambling, but the plot of the PID index that control word information can be processor preserves control word table.Yet control word information preferably is used for transmission package is carried out the control word of scrambling itself.
In addition, according to an embodiment, provide the method that the video program that has the data that receive via asynchronous communication links is retimed.Asynchronous communication interface (for example, Ethernet interface, atm interface etc.) is linked division multiplexing device modal processor (for example, via bus) again, to receive the bit stream that has video program from the communication link of the end with variation-end transmission lag.This processor determines to carry the time that each bag should occur in one or more bags that receive of data of same program of the bit stream that receives in the TS of output according to a plurality of time marks of program entrained in the bit stream that receives.Locate in time such as synchronous interfaces such as sending adapter, optionally carry the transmission package of choosing that is received data among the TS of transmission output (having constant end-end delay) according to the determine time.
Example ground, the storage of division multiplexing device node memory comprises the bag of the data that receive in the bit stream that receives from receive formation again.Processor identification comprises each bag that is stored in the data that receive the program in the formation, this identification be comprise this program continuous time mark first and second specified packet between carry out.Processor comes (transmission) packet rate of fixed this program according to the difference of this first and second time mark.Processor is assigned to the bag that each is discerned to the transmitting time that is assigned to first specified packet and (transmission) packet rate with the bag of the being discerned summation of amassing of first deviation of wrapping together as transmitting time.
According to another embodiment, provide according to the user who changes and specified the method that dynamically and seamlessly changes again division multiplexing.According to being specified, the initial user of the TS content of division multiplexing again from TS, optionally only extracts some specific transmission package such as interfaces such as first adapters.According to the initial user appointment of the TS content of division multiplexing again, those transmission package of choosing are ressembled into the TS of the division multiplexing again of output such as second interfaces such as second adapters from transmission package of being extracted and the transmission package that comprises PSI (if any).In addition, second adapter output ressemble through the TS of division multiplexing again as bit stream continuously.Processor dynamically receives one or more new user's appointment of the TS content of division multiplexing again, they have specified following one or more: (I) different transmission package to be extracted and/or (II) different transmission package to be ressembled, meanwhile first and second adapters extraction transmission package is ressembled, and exports the TS of division multiplexing again.Answer processor makes first and second adapters dynamically stop to specify the extraction that transmission package is carried out or ressembling according to initial user with it, and dynamically begin to specify the extraction that transmission package is carried out or ressemble, and in the transport stream of the division multiplexing of being exported again, do not introduce discontinuous according to new user.For example, processor can and produce the substituting PS I that quotes different transmission package by each new user appointment, to be ressembled by second adapter.
Example ground can use the change technology of this seamless division multiplexing more automatically to guarantee always to export the correct ES information of each hit program at the TS of division multiplexing again, has any variation although constitute among the ES of this program.The controller that produces user's appointment can be set, and this user specifies one or more programs of the input TS that indication will export in output TS.The program definition of TS is caught-imported to first adapter continuously.Processor carries out determining continuously from the program definition (these stream units constitute each program) of capturing.Second adapter is exported transmission package in the TS of output, each transmission package comprises the ES data of each ES (these ES are confirmed as constituting by the user and specify each program that will export), and does not introduce discontinuous in the TS of output.Thereby, change (number or value) even constitute the PID of the ES of each program, but in the TS of output, always export the correct complete ES data of each program.
According to another embodiment, provide the method for the port of the TS that a kind of optimization wherein inserts empty transmission package.First interface (adapter) receives TS with pre-determined bit speed, and this TS comprises the transmission package that has the variable compressive routine data and the transmission package of one or more skies.In can not obtaining to be inserted in the TS that each transmission package time slot place receives have the transmission package of condensing routine data the time, each empty transmission package is inserted in the time slot of the TS that receives.Processor has the transmission package for the treatment of that again the transmission package of division multiplexing data is replaced one or more skies with other.The transmission package that has a this replacement data can comprise the PSI data or even burst (bursty) transaction (transactional) data, these burst transaction deal with data do not have bit rate to presentation information in a continuous manner or send the requirement of stand-by period (latency).
Example ground, processor extracts some transmission package of choosing from the TS that receives, and abandons each and do not choose transmission package (comprising each empty transmission package).By the processor and first adapter transmission package of choosing is stored in the memory.As mentioned above, each transmission package of being stored of processor scheduling, thus export in the transport stream of output in the time that with the time that receives each transmission package of being stored is foundation.Second interface (adapter) is to export the transmission package that each is stored corresponding to the time slot of this scheduling.If will not dispatch the transmission package of locating to export at one of time slot of exporting TS, then second adapter is exported empty transmission package.Yet, to compare with the TS of each input, empty transmission package occupies less bandwidth in the TS of output.
According to additional embodiment, provide a kind of method of on asynchronous communication links, exporting the bit stream that has the condensing routine data in time.Sync cap (adapter) provides the bit stream that comprises transmission package.Processor is assigned to one or more each that choose in the transmission package to the time of sending with charge free, with the predetermined bit stream of maintenance-program (each selected transmission package carries the data of this program), and causes the average latency that each chooses transmission package.Sending the time that the time is foundation with charge free with each, asynchronous communication interface receives one or more orders, and chooses transmission package accordingly in response by sending when being similar to these to send the time with charge free, thereby choosing the shake of transmission package to minimize.
Example ground, following generation order.Processor is to comprising the above transmission descriptor of sending the time with charge free and rank and becoming transmit queue.Processor assigns the adapter of division multiplexing device node to represent asynchronous interface to serve transmit queue again.When the time of sending with charge free of descriptor equaled time of reference clock of adapters, the data link control circuit of the adapter of being assigned made each order send.
Can use the various technology in these technology to come the distributed division multiplexing again of enable network.Network is provided with one or more communication links and is interconnected into a plurality of nodes of a communication network by communication link.The destination node receives first bit stream of the data comprise one or more programs via one of communication link, and the each several part of first bit stream has one or more predetermined bit rate.The destination node can be the aforesaid device of division multiplexing again node, and under any circumstance it all comprises processor.The processor part of first bit stream that arrives of selective reception at least and is dispatched the transmission of choosing part of first bit stream in order to sending, thereby is the speed of foundation is exported first bit stream in TS the part of choosing with the set rate of choosing part of described first bit stream.
Perhaps, the communication link concentrated area forms the common share communication medium.These nodes are divided into the second group of one or more node that is used for that one or more bit streams are sent to first group of one or more node on these common share communication medium and is used to receive the bit stream that sends from the common share communication medium.The part of the bit stream that the selection of second group node is sent also sends as the TS that comprises one or more division multiplexings again of choosing bit stream partly.The TS of the division multiplexing again that each sent is different from the bit stream that receives in the transmission bit stream.Be provided with and select first and second group nodes and make the node of choosing transmit bit stream according to one of a plurality of different signal flow patterns via the common share communication medium, these signal flow patterns comprise and are different from least one signal flow pattern that node to the topology of common share communication medium connects.
At last, also provide a kind of synchronous method of reference clock that makes each place in a plurality of circuit that in division multiplexing system again, receive or send transmission package.The reference clock indication that receives each circuit place of transmission package receives the time of each transmission package at this place.When the reference clock indication that sends each circuit place of transmission package sends each transmission package from this.Appointment makes the Primary reference clock of these reference clock phase mutually synchronization.Periodically obtain the current time of Primary reference clock.Difference according to current time of each time at other reference clock place and Primary reference clock is regulated reference clock mutually, thereby makes the time of each reference clock and the corresponding time coupling of Primary reference clock.
Thereby, according to the present invention, provide a kind of division multiplexing system more flexibly.The flexibility of this increase has strengthened the cost that division multiplexing has also reduced whole system again.
Summary of drawings
Fig. 1 illustrates the environment of division multiplexing again according to one embodiment of the invention.
Fig. 2 illustrates the device of the division multiplexing again node according to the asynchronous platform of use of one embodiment of the invention.
Fig. 3 illustrates a flow chart, and this flow chart schematically illustrates according to one embodiment of the present of invention, how transmission package is handled at the PID in the division multiplexing node again according to transmission package.
Fig. 4 illustrates according to the network distribution type of one embodiment of the invention division multiplexing device again.
Better embodiment of the present invention
For clear, the description of this invention is merotomized.
Division multiplexing device environment and general introduction again
Fig. 1 illustrates the environment of division multiplexing substantially again 10 according to one embodiment of the invention.Controller 20 uses for example any remote procedure call (RPC) agreements to provide instruction to division multiplexing device 30 again.The example of spendable RPC comprises that digital distribution formula computing environment agreement (DEC) and open network calculate agreement (ONC).DEC and ONC are the procotols of utilizing protocol stack, and these protocol stacks can be carried out client process (client process) to be positioned at the subprogram of identical platform (for example, controller 20) or another remote platform (for example, division multiplexing device 30 in) again.In other words, client process can send control command by simple subroutine call.DCE or ONC process are sent the control that appropriate signals and order are wanted with implementation to division multiplexing device 30 again.
Controller 20 can be such as form of computers such as PC compatible computers.Controller 20 comprise link bus 24 such as one or more Intel TMPentium II TMProcessors such as integrated circuit 21, main storage 23, magnetic disc store 25, monitor and keyboard/mouse device 27 and one or more I/O device 29.I/O device 29 is any suitable I/O devices 29 that communicate according to how realizing again division multiplexing device 30 and with division multiplexing device 30 again.The example of this I/O device 29 comprises RS-422 interface, Ethernet interface, modulator-demodulator and USB interface.
Realize division multiplexing device 30 again with the black box that one or more networks connect.Again in the architecture of division multiplexing device, the black box of division multiplexing device 30 can be by the independent PC compatible computer such as the interconnection of communication links such as Ethernet, ATM or DS3 communication link again in the example of the following stated.For example, division multiplexing device 30 comprises one or more black boxs again, and each black box is the independent PC compatible computer by ethernet network (10base-T, 100BASE-T or 1000BASE-T etc.) interconnection.
As shown in the figure, receive one or more TS that treat again division multiplexing, i.e. TS1, TS2 and TS3 at division multiplexing device 30 places again.Because the result of the division multiplexing again operation of division multiplexing device 30 again, from division multiplexing device 30 output one or more TS, i.e. TS4 and TS5 again.The TS of division multiplexing (TS4 of example and TS5) comprises at least some information (at least one transmission package) from input TS (TS1, TS2 and TS3) again.At least one memory device 40 also is set, for example magnetic disc store or server.Memory device 40 can produce the TS or the data of the information for the treatment of again division multiplexing as input, with through division multiplexing device 30 more again division multiplexing become the TS (TS4 or TS5) of output.Equally, memory device 40 can be stored TS information or the data that division multiplexing device 30 is produced again, such as the extraction or the transmission package of duplicating from the TS (TS1, TS2 or TS3) of input, out of Memory that receives at division multiplexing device 30 places again or the information that is produced by division multiplexing device 30 again.
One or more data also are shown inject source 50 and one or more data extracts destination 60.These sources 50 and destination 60 itself can be implemented as the PC compatible computer.Yet source 50 can also be such as devices such as video camera, video tape playing device, communications demodulator/receivers, and destination 60 can be devices such as display receiver, video tape recording device, communication modulator/transmitter.Data are injected source 50 TS, ES or other data are offered division multiplexing device 30 again, in order to for example they again division multiplexing become TS, TS4 and/or the TS5 of output.Equally, data extract destination 60 receives from TS, ES or other data of division multiplexing device 30 again, is for example extracted from input TS (TS1, TS2 and/or TS3).For example, data that are used to produce the TS that treats again division multiplexing (TS1, TS2 and TS3) of each input can be set inject source 50, can be provided with one be used to receive each output through the data extract destination 60 of the TS of division multiplexing (TS4 and TS5) again.
Can regard environment 10 as a network.In the case, can the controller in the environment 10 20, each data inject source 50, memory device 40, data extract destination 60 and again each " black box of network " of division multiplexing device 30 regard a node of this communication network as.Each node can be connected by synchronous or asynchronous communication links.In addition, device 20,40,50 and 60 being separated from division multiplexing device 30 more only is for convenience.In another embodiment, device 20,40,50 and 60 is again parts of division multiplexing device 30.
The architecture of division multiplexing device again
Fig. 2 illustrates the basic architecture of one of the network black box of division multiplexing device 30 or node 100 (below be called " division multiplexing device node again " 100) again.The specific device of division multiplexing again node 100 shown in Figure 2 can be used as the whole device of division multiplexing again 30.Perhaps, it is apparent that from following discussion that the different piece of division multiplexing device node 100 can be distributed in the node separately again, these nodes interconnect mutually by synchronous or asynchronous communication links.In yet another embodiment, a plurality of device of the division multiplexing again nodes 100 with architecture same as shown in Figure 2 interconnect mutually via synchronous or asynchronous communication links, and can be programmed to as one man take action.Latter two embodiment is called network distribution type division multiplexing device more here.
Example ground, division multiplexing device node 100 is Windows NT again TMCompatible PC computer platform.Division multiplexing device node 100 comprises one or more adapters 110 again.Each adapter 110 is linked bus 130, and the bus of example is the compatible bus of PCI.Main storage 120 is also linked bus 130.Such as Intel TMPentium II TMProcessors such as integrated circuit are also linked bus 130.It should be noted that single bus architecture shown in Figure 2 can be the reduced representation of more complicated multiple bus architecture.In addition, can have a more than processor 160, these processors are cooperated when carrying out the processing capacity of the following stated mutually.
Example ground is provided with two interfaces 140 and 150.These two interfaces 140 and 150 are linked bus 130, though in fact they also can directly link I/O expansion bus (not shown), this I/O expansion bus is linked bus 130 via I/O bridge circuit (not shown) then.Example ground, interface 140 is such as asynchronous interfaces such as Ethernet interfaces.This means that do not guarantee to occur at any time exactly via the data that interface 140 sends, these data may experience convertible tip-end and postpone.On the other hand, interface 150 is such as asynchronous interfaces such as T1 interfaces.The clock signal that makes communication on the communication link of linking interface 150 and interface 150 places keep is synchronous.Send data at special time via interface 150, end-end that this data experience is constant postpones.
Fig. 2 also illustrates, and division multiplexing device node 100 can have optional scrambler/de-scrambler (they can be embodied as encryptor/decryptor) 170 and/or HA Global Positioning Satellite (GPS) receiver 180 again.Scrambler/de-scrambler 170 is used for the data of transmission package are carried out scrambling or descrambling.GPS receiver 180 is used to receive the unified clock signal, so that division multiplexing device node 100 is synchronous again.The purpose and the operation of these devices are below described in more detail.
Each adapter 110 is sync caps of specialized types.Scrambler/de-scrambler 115 and one or more dma control circuit 116 that each adapter 110 has one or more data link control circuits 112, reference clock generator 113, one or more descriptor and transmission package cache memory 114, chooses wantonly.These circuit can be the parts of one or more processors.Best, they use finite-state automata promptly to realize in one or more ASIC or gate array (PGA, FPGA etc.).The purpose of each circuit in these circuit below will be described.
Example ground, reference clock generator 113 are 32 bit flipping counters with the 27MHZ counting.Can receive the system time that reference clock generator 113 is produced at data link control circuit 112 places.In addition, processor 160 can following direct visit reference clock generator 113.Processor 160 can read current system time from the I/O register of reference clock generator 113.Processor 160 can be pack into the same I/O register of reference clock generator 113 of particular value.At last, processor 160 can be set the count frequency of reference clock generator in regulating register, thereby reference clock generator 113 is counted with the frequency in the particular range.
The purpose of cache memory 114 is temporary transient storage next or a plurality of transmission package or nearest last that receives at adapter 110 places or a plurality of transmission package of exporting from awaiting orders of adapter 110 to be exported.Use 114 feasible stand-by period (the most significant is the transmission stand-by period of not taking place by bus 130) that can be minimum of cache memory to receive and storage or retrieval and output transmission package.Cache memory 114 is also stored the descriptive data of each transmission package.The purpose and the structure of these descriptors are below described in more detail.In addition, cache memory 114 storages under normal operation can be by processor 160 downloads and the filter map of revising (filter map).Example ground, cache memory 114 also can be stored into the following control word information that is used for scrambling or descrambling in greater detail.Except processor 160, cache memory 114 is also by data link control circuit 112, dma control circuit 116 and optional scrambler/de-scrambler 115 visits.
As everyone knows, cache memory 114 can have the copy of the authentic or modification of data in the main storage 120.Equally, when needed, cache memory 114 should obtain modification copy rather than its old copy that has of any data in the main storage.Main storage 120 also is like this.Utilize " ownership agreement ", thereby have only individual devices (such as cache memory 114 or main storage 120) just to have permission to revise the content of data storage cell at any one time.Here, when having the proprietary control of revising these memory cell content, the high-speed buffer memory just says into the control that cache memory 114 obtains the data memory cell.Usually, cache memory 114 obtains its copy is revised in memory cell and the control that is stored in the authentic duplicate copy of data wherein, but postpone the modification of data write main storage up to after.This means that when memory cell in the main storage write data by cache memory, cache memory 114 was abandoned the control to main storage 120.
Dma control circuit 116 is used for transmitting transmission of packet data and descriptor between main storage 120 and cache memory 114.Dma control circuit 116 can be kept at the transmission package of enough numbers (and descriptor) in the cache memory 114 so that data link control circuit 12 continuously (that is, with continuous time slot) output in the transmission package of output among the TS.Dma control circuit 116 also can obtain the control to the bag memory cell of the descriptor storage of the enough numbers in the cache memory 114 and sensing thereof.Dma control circuit 116 obtains these descriptors of cache memory 114 and the control of transmission package memory cell.This makes can distribute to descriptor and transmission package memory cell to them continuously when receiving the transmission package of Incoming (that is, from continuous slot).
Data link control circuit 112 is used to receive from the transmission package of Incoming TS or sends transmission package on out TS.When receiving transmission package, but data link control circuit 112 only leaches and the specified transmission package of choosing in download filter mapping (being provided by processor 160) that receives from Incoming TS is provided.Data link control circuit 112 abandons each other transmission package.Data link control circuit 112 is next transmission package of not using descriptor to distribute to receive, and a transmission package that receives is stored in the cache memory 114 the transmission package memory cell that the descriptor that is distributed to be sent to points to.In addition, data link control circuit 112 obtains the fiducial time corresponding to the time of reception of transmission package from reference clock generator 113.Data link control circuit 112 between this moment as the time of reception label record in the descriptor that points to the transmission package memory cell that wherein stores transmission package.
When sending bag, data link control circuit 112 is from the descriptor of the out transmission package of cache memory 114 retrieval, and sends corresponding transmission package with the time slot that is approximately equal to the indicated out TS that takes place when sending the time with charge free in each descriptor at reference clock generator 113.In addition, data link control circuit 112 carries out any final PCR where necessary in the transmission package of output proofreaies and correct, thus indicated PCR and the accurate synchronism of the transmission package among the out TS in the transmission package.
Processor 160 is used for receiving the control command from peripheral control unit 20 (Fig. 1), and order is sent to adapter 110 and interface 140 and 150 to control them.Response with it, for these instructions, processor 160 produces the PID filter map and it is downloaded to cache memory 114, perhaps revise the PID filter that has been present in the caches 114, so that data link control circuit 112 is used when optionally extracting the transmission package of wanting.In addition, processor 160 produces the interruption received processing program that is used to handle each transmission package that receives (according to its PID).Receiving interrupt handling routine can make processor 160 remap the PID of transmission package, the time departure of estimating transmission package, the information in the transmission package extracted further to handle etc.In addition, processor 160 is formulated and is carried out and sends interrupt routine, and this program makes processor suitably sort with output to transmission package, and each transmission package is produced time departure, proofreaies and correct the PCR in the transmission package roughly and PSI is inserted among the TS of output.Processor 160 also can help following scrambling and the descrambling of carrying out described in more detail.
Main storage 120 is used to store transmission package and relative descriptor.The memory cell of following organizations reservoir 120.Buffer 122 is set, and it comprises a plurality of transmission package memory cell that re-use as the transmission package pond.Descriptor storage 129 tissues are become a plurality of rings 124.Each ring 124 is sequences of a descriptor storage 129, the bottom 124-2 from the top 124-1 of start memory address or ring to ending storage address or ring.Each the out TS that sends from division multiplexing device node again 100 is provided with a ring 124, each the Incoming TS that receives at division multiplexing device node 100 places again is provided with a ring 124.Other ring 124 can be set as described in more detail below.
Realize a formation in each ring 124, this is by specifying a pointer 124-3 and specify a pointer 124-4 to realize for last descriptor storage using/distribute 129 in formation afterbody or the formation for first descriptor storage using/distribute 129 in formation head or the formation.Descriptor storage 129 distributed to just to be connected on using behind the afterbody 124-4/unallocated descriptor storage 129 be initial Incoming transmission package.124-3 descriptor storage pointed 129 is initial and enter the descriptor storage 129 of the out transmission package of retrieval in the formation of afterbody 124-4 according to the order of sequence from the head.When arrival is in the descriptor of the descriptor storage 129 of encircling the 124-2 end, continue to distribute or the retrieval descriptor from descriptor storage 129 with the descriptor that is arranged in the descriptor storage 129 of encircling the 124-1 top.
As shown in the figure, each descriptor that is stored in each descriptor storage 129 comprises many field 129-1,129-2,129-3,129-4,129-5,129-6,129-7,129-8,129-9 and 129-10.In brief, the purpose of each field is as follows in these fields.Field 129-1 is used for the memory command attribute.But everybody of processor 160 utility command attribute fields controls that the transmission package of adapter 110 sends and descriptor counts according to the retrieval.For example, processor 160 can be in the field 129-1 of the descriptor in ring 124 the bottom 124-2 descriptor storage 129 pointed default one, with indication top pointer 124-1 descriptor storage 129 pointed be connected on bottom pointer 124-2 descriptor storage 129 pointed after.
Field 129-2 is used for the storing software mode bit.These positions can not can not be revised by it by adapter 110 visits, and these can be used for not relating to any purpose of adapter 110 by processor 160.
The byte number that field 129-3 is used to store out transmission package to be exported (is 188 bytes to the MPEG-2 transmission package usually, but support (bag is divided into a plurality of memory cell sheets or assemble) according to differing transmission protocols or " concentrating " and " dispersion " and when pointing to bag, can be set at greater or lesser number to byte number at descriptor) from the sheet that is stored in a plurality of bag memory cell.
Field 129-4 is used for the pointer of the pairing transmission package memory cell of memory descriptor.This utilizes descriptor to the arrow of the designated memory cell in transmission package pond 122 from encircle 124 descriptor storage 129 to illustrate in Fig. 2.
Field 129-5 is used to store the time of reception of the Incoming transmission package that receives or stores the time of sending with charge free of out transmission package to be sent.
Field 129-6 be used to store contingent various unusual/mistake.Can use the position of this field to indicate the reception etc. of mistake, the data link mistake on the communication link that data link control circuit 112 is connected to, weak point or the long bag (being less than or surpassing 188 bytes) of bus 130.
Field 129-7 is used to store the mode bit of the different conditions aspect of indication descriptor, such as descriptor whether effectively, whether ineffectually point to the bag etc. of makeing mistakes.For example, suppose that a plurality of devices must handle the bag of descriptor and/or its sensing in succession.In the case, preferably provide the one of four states position.Can be front two value of being set to 0,1,2 or 3.Value 0 indication descriptor is invalid.Value 1 indication descriptor effectively also can be handled by last device, and this device must be handled the bag of descriptor and/or its sensing.Value 2 indication descriptors effectively and can be handled by the penult device, this device must be handled the bag of descriptor and/or its sensing.Value 3 indication descriptors effectively and can be handled by third from the bottom device, this device must be handled the bag of descriptor and/or its sensing.Whether two of backs indicate whether to obtain descriptor and send into cache memory 114 and finished to the processing of descriptor and it at adapter 10 and be stored in the main storage 120 from main storage 120.Can be as following other mode bit that is provided with described in more detail.
Field 129-8 comprises the transmission counting of the byte number of indicating the Incoming transmission package that receives.
Field 129-9 is used to store scrambling/descrambled control words or is used for scrambling or the out of Memory of descrambling.For example, processor 160 can be stored a control word (keys for encryption/decryption) or be stored in the plot of the control word table in the cache memory 114 at this field 129-9.
Field 129-10 is used to store time departure, Actual Departure Time or the actual reception time of estimating through scheduling.As described in more detail below, processor 160 uses this field that the Incoming transmission package that receives is sorted with the time of reception of output or record Incoming transmission package.
Example ground, in order to receive transmission package at single input end, need a data link control circuit 112 ,-dma control circuit 116 and a ring 124, in order to send transmission package from single output, need a data link control circuit 112 ,-dma control circuit 116 and a ring 124.Here the descriptor that is stored in the formation relevant with input is called the reception descriptor, the descriptor that is stored in the formation relevant with output is called the transmission descriptor.As described below, send into and the output of above indication can be the communication link that is connected to of data link control circuit 112 input or output end or again another interface 140 in the division multiplexing device node 100 or 150 communication link input or output end.Adapter 110 is shown that individual data controlling links circuit 112 and single dma control circuit 116 are only arranged.This is just in order to illustrate---a plurality of data link control circuits 112 and dma control circuit 116 can be set on same adapter 110.Perhaps, in addition, can in the division multiplexing device node 100 a plurality of adapters 110 be set again.
Basic transmission package receives, division multiplexing and transmission again
Consider the operation of division multiplexing device node 100 more now.Many selections of how operating again division multiplexing device node 100 are provided to operating personnel.In first kind of mode of operation of division multiplexing device node 100 again, suppose that operating personnel wish the program information of two TS (that is, TS1 and TS2) optionally is combined into the 3rd TS, i.e. TS3.In the case, suppose that operating personnel do not know to comprise what program, ES or PID among these two TS (TS1 and TS2) that treat again division multiplexing at first.In addition, example ground receives TS1 at first adapter, 110 places, receives TS2 at second adapter, 110 places, and from sending TS3 with the 3rd adapter 110 of the node 100 of division multiplexing device again and again.Be appreciated that from following description, among TS1 and the TS2 each can change into via same node or different nodes place synchronously or asynchronous interface receive, can be sent to the 3rd node to the part of choosing of TS1 and TS2 via the network of arbitrary structures, form TS3 optionally to make up at the 3rd node place.
Can the operation according to this mode be reduced the content information for the treatment of again the multiple TS of branch multichannel (TS1 and TS2) (program, ES, PAT, PMT, CAT, NIT etc. and PID thereof) that (1) obtains input; (2) this content information is reported to operating personnel, thereby operating personnel can formulate user's regulation; And (3) receive be used to constitute output through user's regulation of the TS of division multiplexing (TS3) again, and dynamically constitute through the TS of division multiplexing (TS3) again from the content for the treatment of multiplexed TS (TS1 and TS2) of input according to this user's regulation.
In order to enable obtaining of content information, transmission processor 160 receives queue assignment to one and gives in first and second adapters 110 that receive TS (TS1 and TS2) respectively each.In order to obtain the content of TS (TS1 and TS2), do not abandon transmission package at adapter 110 places of TS1 or TS2 at first.Thereby processor 160 makes pack in first and second adapters 110 that receive TS (TS1 and TS2) each cache memory 114 of a filter map can keep each transmission package and be sent to main storage 120.When (for example receiving TS at each adapter 110 place, during TS1) each transmission package, data link control circuit 112 is distributed to the Incoming transmission package that receives to next untapped descriptor (be connected on be stored in the descriptor storage that receives formation afterbody 124-4 place behind the descriptor).Data link control circuit 112 is stored in each transmission package that receives in the transmission package memory cell in the cache memory 114 that the descriptor that distributed points to.
Dma control circuit 116 is write the respective memory unit in pond 122 in the main storage 120 to each transmission package, and the descriptive data of distributing to the descriptor of these transmission package is write each descriptor storage that receives formation.In addition, dma control circuit 116 can obtain receiving the several unallocated descriptor storage 129 followed in the formation (be connected on dma control circuit 116 before obtained the memory cell of descriptor 129 sequences controlled after), being stored in the copy of descriptor wherein and the control of the transmission package memory cell that these descriptors point to.These are not used, the control of unappropriated descriptor and transmission package memory cell offers cache memory 114, to be used (that is, distributing to the transmission package that receives from TS1 in the future) by data link control circuit 112.
I 〉=1 transmission package and the data of distributing to their descriptor are write pond 122 and receive in the formation dma control circuit 116 generations one interruption at dma control circuit 116.Example ground, operating personnel can use controller 20 to select digital i and set by processor 160.Interruption makes processor 160 carry out suitable reception " PID " processor subprogram (handlersubroutine) to each transmission package that receives.Perhaps, can use such as poll or start processor 160 and each transmission package that receives is carried out be received PID processor subprogram based on another kind of technology such as the processes of timer.For clear, use the interruption example that the present invention is described here.With reference to figure 3, example ground, processor 160 has the one group of PID processor subprogram that is used for receiving or sending each adapter 110 (or other device) of TS during division multiplexing session again (session).Fig. 3 illustrates two types PID processor subprogram group, promptly receives PID processor subprogram group and sends PID processor subprogram group.Each dma control circuit 116 produces discernible different the interruption, thereby makes processor 160 determine to use which group PID processor subprogram.In response to the interruption of dma control circuit 116, processor 160 execution in step S2, according to this step S2, processor 160 is checked the PID of each transmission package that the descriptor of nearest storage in the reception formation of interrupt adapter 110 is pointed.For each PID, the adapter 110 (or other device) of processor 160 consulting interrupt handlers 160 the pointer gauge of special-purpose reception PID processor subprogram 402.
Suppose, receive first adapter, 110 interrupt handlers 160 of TS1, in the case, processor 160 determine consulting receive these TS (TS1) adapter 110 the pointer gauge of special-purpose reception PID processor subprogram 402.The pointer gauge that receives PID processor subprogram comprises 8192 entries, comprises an entry can being permitted PID (according to MPEG-2, these PID have 13) index (index) by each.Each indexed entry comprise the pointer of the subprogram that will be carried out by processor 160 or address RIV0, RIV1 ..., RIV8191.Use the PID of each transmission package, the entry that processor 160 can give receive the pointer gauge of PID processor subprogram 402 add index, the pointer of the subprogram that will carry out this specific transmission package with identification.
Utilize pointer gauge 402, being mapped to each PID particularly, to realize user's regulation by each pointed and by processor 160 each performed subprogram.Advantageously, stipulate to pre-determine each subprogram and simply shine upon according to the user by pointer gauge 402.The set that each subprogram is handled by one or more basic building block pieces constitutes.Some examples that the basic building block piece is handled comprise:
(1) PAT obtains: initial, it is in the reception PID processor subprogram of PID 0x0000 that this pack processing is contained in the subprogram of being pointed to by RIV0.When carrying out this and handle, example ground, processor 160 extract entrained PAT part (section) in the current processed transmission package, and this PAT partly packed into remain among the PAT in the memory.Note, can use a plurality of versions of PAT, because entrained program can change in time among the TS.Processor 160 can discern PAT different editions and assemble dividually PAT each version copy and remain in the main storage 120.Processor 160 can be discerned at present at which version that uses PAT at any time according to the information that is included in the various PAT parts.Processor 160 also uses entrained information in the PAT part of each renewal to discern the PID or the program definition of the PMT part of the program number of program entrained among TS this moment and this type of program number.Use these program numbers, processor 160 can be revised the pointer gauge 402 that receives PID processor subprogram, with the pointer that inserts suitable PID (making label for the transmission package that has the PMT part), comprise the subprogram that is used to obtain the processing that PMT part/program defines with execution.
(2) PMT part/program definition is obtained: in the reason, processor 160 extracts PMT part or the program definition in the transmission package that is included in present processing herein, and the each several part that upgrades PMT with the program definition of being extracted or PMT partial data.The same with PAT, the PMT part or the program definition of data that can utilize a plurality of versions of PMT, processor 160 can determine in which PMT, to store to be extracted.Processor 160 can use PMT information to upgrade PID filter map (being used for abandoning the transmission package that is not included in the program in the TS of division multiplexing again), and identification is used for ES is carried out the control word of descrambling and selects to be used for the subprogram that pack processing is contained in the PCR of transmission package (having the PID that discerns at PMT).
(3) PID remaps: this makes processor 160 rewrite the PID of corresponding bag with different PID.This is to guarantee that the uniqueness of PID appointment is required.Promptly, if (for example carrying different content, the data of the data of different ES, different PSI stream etc.) transmission package division multiplexing again becomes the TS of division multiplexing again (and carried by it) of same output, and then MPEG-2 requires to put on mutually different PID to these transmission package of carrying different content.Otherwise decoder or other device can not distinguish that the transmission package of carrying different types of data is extracted, decoding etc.Using a certain PID to make label and use same PID to give the transmission package that has second categorical data in TS2 for the transmission package that has first kind data in TS1 is possible as label.If the transmission package of first and second types is included among the TS (TS3) of division multiplexing again of output, then the PID of Ying Yixin at least a label of doing again in two types the transmission package to guarantee uniqueness.
(4) transmission package abandons: shown in title, processor 160 abandons these transmission package simply.For this reason, processor 160 is removed to distribute and is pointed to the descriptor that abandons transmission package.Can be by the order of existing descriptor in the descriptor storage 129 of processor 160 these formations of adjusting, with the descriptor of the transmission package of removing deletion (for example, processor identification is connected on all descriptors that distributed after treating in the ring 124 deleted the descriptor of transmission package, and each is just moved to the descriptor memory space of that descriptor the preceding), realize that like this releasing of descriptor distributes.The releasing of descriptor is distributed in and receives the descriptor memory space 129 that has produced in the formation in order to redistribute.
(5) PCR sign (flag) is set: PMT carries the PID of the transmission package of PCR to each program indication.Yet, have only some to carry PCR in these transmission package.Simply, this can determine whether set suitable indication in transmission package by processor 160 (adaption_field_control in the transmission package title (adaptation _ field _ control) position and adapt to PCR_flag (PCR_ sign) position in the field) come definite.If processor 160 determines to exist PCR, processor 160 setting-PCR flag bit in the attribute field 129-1 of the descriptor 129 of relevant each bag then.The purpose of this attribute mark position is below described in more detail.
In addition, example ground, processor 160 calculates the current skew of reference clock generator 113 with respect to the encoder system timer clock of program (its PCR is a sample).Can determine skew by following formula:
Skew=Δ RTS12-Δ PCR12 Δ
Δ RTS12=RTS2-RTS1; And
ΔPCR12=PCR1-PCR2
Here: Δ PCR12 is each PCR poor in succession of this program,
PCR2 is the PCR in the transmission package of pre-treatment,
PCR1 is the PCR of this program of before having received,
Δ RTS12 is the poor of time of reception mark in succession;
RTS2 is to comprising the time of reception mark that current handled transmission package write down of PCR2, and
RTS1 is the previous time of reception mark that comprises the transmission package of PCR1.
After having calculated skew, PCR1 and PTS1 be set at respectively equal PCR2 and PTS2.This is offset use as described below and regulates PCR Δ (where necessary).
(6) time departure of estimating calculates: handle according to this, processor 160 is estimated (ideal) time departure of transmission package.Example ground, this processing are included in and receive in the interrupt handling routine, with Incoming transmission package that each is received again division multiplexing become out TS.Can from the time of reception (among the field 129-5) of transmission package and again the known internal buffer delay of division multiplexing node 100 estimate estimated time departure.Processor 160 writes field 129-10 to desired time departure.
(7) scrambling/descrambled control words information is inserted: usually, in scrambling or descrambling technology, in fact need the control word (such as encrypting or decruption key) of dynamic change that the data in the transmission package are carried out scrambling or descrambling.This uses the odd and even number key common scrambling and descrambling technical basis, and a key is used for the ES data are encrypted, and the same period, ground transmitted the next key that will use subsequently in TS.Then, send the signal that indication should be used the key of nearest transmission now.Scrambling/descrambled control words can be the ES special use or can be used for one group of ES (on whole " condition visitation system ").Can index the PID that descrambling or scrambling control word remain on division multiplexing device node 100 places again in the table.As described in more detail below, processor 160 can be the field 129-9 of the plot of control word table or control word insertion descriptor itself when carrying out this processing.
At first, processor 160 is selected the PID handling procedure that is used to obtain the PAT of each TS that receives (TS1 and TS2) and abandons each treated transmission package thereafter.During receiving PAT, obtain such as program definition/PMT partly, NIT and CAT etc. have other PSI PID transmission package and such as the PID of other streams such as ES stream, ECM stream, EMM stream etc.Example ground, the reception PID processor subprogram that is used for the PID of PAT selects to be used to obtain the reception PID processor subprogram of PMT, NIT, CAT etc.This can be easily by can realizing these subprograms with the pointer (can index by suitable identification PID) that also changes entry in the table 402 that points to these PID processor subprograms simply.Note, even, also dynamically carry out this simple PID processor subprogram and select to handle in the transmission package that receives TS1 and TS2 and when handling.Its advantage is below described in more detail.
Finally, obtain PSI, will stipulate the user of the information of output among the division multiplexing TS (TS3) again so that operating personnel produce about the sufficient amount of each TS (TS1 and TS2).Example ground, processor 160 for example use asynchronous interface 140 that the PSI information of obtaining is sent to controller 20.Being used to select user-defined enough information to send to controller 20.This information can be optionally, for example, just is that the passage mapping of each TS that is included in program number wherein and dissimilar ES (wait describe with the caption text that presents, closes such as video, audio frequency, second audio frequency) are shown.Perhaps, this information can be exhaustive, for example comprises the PID of each program, the ECM of its ES etc., and controller 20 is shown to operating personnel to this information simply in relevant and useful mode.
The information that is provided is provided, and operating personnel produce user's regulation to output among the TS (TS3) that treats again division multiplexing.This user's regulation can be specified:
(1) wait to keep and each TS (TS1 and TS2) of output in division multiplexing TS (TS3) again in program number,
(2) ES of the prewired program of waiting to keep or abandoning,
(3) treat ES, ES group, program or the program groups of descrambling and/or scrambling and the source of the control word that will when each ES, ES group, program or program groups are carried out scrambling, use,
(4) wait to inject or be included in any new ECM or the EMM of the TS of division multiplexing again (TS3) of output, and
(5) be not any new PSI information that from above selection, hints automatically, these select such as the NIT of the TS that wait to place output (TS3) or CAT, specific PID and the new PID that should be remapped to thereof to be remapped, be assigned to and produce at division multiplexing device node place again and at the PID of the entrained out of Memory of TS (TS3) (for example, as described below bursty data) etc.
Then, for example user's regulation slave controller 20 is sent to division multiplexing device node 100 again via asynchronous interface 140.
Processor 160 receives this users' regulation, and selects suitable reception PID processor subprogram to respond by the suitable PID of the TS that treats again division multiplexing (TS1 and TS2) that each is received.For example, comprise each PID that the transmission package for the treatment of retention data is used for mark, processor 160 is selected a subprogram, and in subprogram, processor 160 inserts the process of e.t.ds.Comprise each PID that is used by the transmission package of scrambled data for mark, processor 160 is selected a subprogram, and this subprogram comprises the process that is used for selecting suitable control word and this control word is inserted the relevant descriptor of transmission package therewith.Comprise each PID that the transmission package of PCR is used for mark, processor 160 can be selected a subprogram, and this subprogram comprises the process that is used to set the PCR sign and calculates skew etc.Dynamic adjustments with corpse regulation and/or PSI data is below described in more detail.
Processor 160 is distributed to transmission to a transmit queue through each device of the TS of division multiplexing again, promptly exports the 3rd adapter 110 of TS (TS3).In addition, processor 160 is pack into each cache memory 114 of first and second adapters 110 that receive TS (TS1 and TS2) of PID filter map, this TS (TS1 and TS2) has suitable value, these values are used for keeping those transmission package for the treatment of in the output of the TS of division multiplexing (TS3) again, be used to keep other transmission package of comprising PSI, be used to keep TS1 and TS2 content tracking (track) and be used to abandon each other (each other) transmission package.
Except selective reception PID processor subprogram, distribution transmit queue and loading suitable substance P ID filter map are revised, example ground, 160 pairs of outputs of processor select one group to send PID processor subprogram through each adapter of the TS of division multiplexing (or other device) again.This as shown in Figure 3.Sending PID processor subprogram is that the basis is selected with PID and transmission TS.As mentioned above, in response to receiving discernible interruption (for example), processor 160 execution in step S4 from the data link control circuit 112 that sends such as the adapter 110 of output TS such as TS3.At step S4, processor 160 checks from the descriptor that receives formation (and/or comprise the transmission package of the output that also is not scheduled other possible formation of descriptor), and identification point to will from the transmission package of interrupt adapter 110 outputs up to j 〉=1 descriptor.Example ground, number j can be programmable, and advantageously be set at the number k that equals the transmission package that sent from special adapter 110 (between each special adapter 110 interrupt handlers 160, sending an output TS from this special adapter 110) to it so long.
When execution in step S4, processor 160 is checked each reception formation of the descriptor that points to the transmission package that is intended to specific output TS.Which transmission package pointer output TS processor 160 determines by the pointer gauge that consulting sends PID processor subprogram 404.As table 402, table 404 comprises an entry and arrives 0x1FFF to each PID index with 0x0000 for each PID.Each indexed entry comprise TIV0, TIV1 ..., pointer or the address of TIV8181 (treat carry out subprogram) in response to each PID.User's regulation that processor 160 receives according to slave controller 20 is formulated the pointer gauge that sends PID processor subprogram 404, revises this pointer gauge as described below.
Below be the instantiation procedure that one-tenth capable of being combined sends PID processor subprogram:
(1) do not have (nothing) whatever: if do not sending the current transmission package of output among the TS of division multiplexing again (or other stream) that sends the device that interrupts to processor 160, then the PID of this transmission package is mapped to the subprogram that only comprises this process.According to this process, processor 160 is skipped this transmission package and descriptor thereof simply.Checked descriptor is not counted and treated from one of j transmission package of special adapter 110 output of interrupt handler 160.
(2) be used for the order descriptor that sends: if export current transmission package sending the TS of division multiplexing again (or other stream) that sends the device that interrupts to processor, then the PID of this transmission package is mapped to the subprogram that comprises this process (and other possible process).According to this process, processor 160 sends descriptor to one and distributes to this transmission package.Then, processor 160 copies the relevant information in the reception descriptor that points to this transmission package in this newly assigned transmission descriptor to.Then, the suitable order relevant with the device that interrupts with request in the transmit queue sorts to the transmission descriptor that is distributed, to send.Especially, the e.t.d of processor 160 bag that newly assigned descriptor is pointed to be recorded in transmit queue in other descriptor in actually send the time (will send the real time of transmission package) with charge free and compare.If possible, this descriptor is placed before transmit queue each descriptor in actual e.t.d evening of sending this descriptor of time ratio with charge free and actual e.t.d each descriptor early of sending this descriptor of time ratio with charge free after.Can copy that each next follow-up descriptor storage 129 realizes this insertion in this formation to by actual each that send with charge free in the transmission descriptor sequence in e.t.d evening that time ratio is inserted into descriptor being sent descriptor.Then, can deposit the data of the transmission descriptor that is distributed in can be by in the descriptor storage 129 that copies this sequence acquisition.
(3) actually send the time with charge free and determine: the transmission package that the descriptor that processor 160 can be determined to be distributed points to actual sent the time with charge free, and this determines the e.t.d according to this transmission package.The actual time of sending with charge free is set in output by being identified for sending transmission package (newly distribute and the transmission descriptor that inserts points to this transmission package) the transmission package time slot of division multiplexing TS (TS3) again.That is, choose in time the transmission package time slot of the output TS (TS3) of the time departure of approaching estimation.Suppose and to locate to export this transmission package in selected transmission package time slots (the internal reference time of being set up with respect to the reference clock generator 113 of adapter 110 (these adapters phase mutually synchronization as described below)).Assign relevant each transmission package time slots to send the time with charge free as actual.Then, this is actually sent with charge free the time and deposit the field 129-5 that sends descriptor in.As described below, actually send the data link control circuit 112 that the time is actually the 3rd adapter 110 (output of this adapter through the TS of division multiplexing, i.e. TS3) again with charge free and submit the time proximity of respective transmissions bags to output.The actual output time of transmission package is relevant with the aligning of the transmission package time slot that the external clock that processor 160 is not known is set up.Can implement additional step as described below, the shake (dejitter) of the PCR that causes to eliminate this misalignment.
Consider that the bit rate of the TS (that is, TS1 or TS2) that therefrom reception is wrapped may be different from TS (that is bit rate TS3), of output.In addition, with buffering transmission bag to a predetermined delay (relevant) internally with the length of reception and transmit queue.Yet, to suppose not have contention between the transmission package of the different TS that the same transmission package time slot of the TS of division multiplexing again (TS3) in output receives, all transmission package will be supposed at multiplexer and cause in 100 the approximately uniform stand-by period.Because the average latency is identical, so can not introduce shake in transmission package.
Consider now from different TS (being TS1 and TS2), to receive two transmission package and in the TS of division multiplexing (TS3) again, export the situation of these two transmission package in the time much at one.These two transmission package may have different e.t.ds, and however, this e.t.d is corresponding to the same transmission package time slot of the TS of division multiplexing again (TS3) of (approaching most in time) output.Actually send the time with charge free to what have that the transmission package of e.t.d (or time of reception) the earliest is assigned to this time slot and this time slot.Give next transmission package time slot of the TS of division multiplexing again (TS3) that another transmission package assigns output and actually send the time with charge free.Notice that the caused stand-by period of transmission package that is assigned to next time slot is different from the caused average latency of other transmission package of this program.Thereby, example ground, processor 160 manages to eliminate the stand-by period that this transmission package causes, comprises the PCR (if wherein comprising PCR) that regulates this transmission package.
(4) PCR skew and stand-by period are regulated: example, this process are included in PID by the transmission package that comprises PCR and come in the pointer of table 404 of the index subprogram pointed.Processor 160 is only determined just to need the PCR stand-by period to regulate when setting the PCR sign in descriptor a transmission package not being assigned in time to receive during the transmission package time slot of division multiplexing TS (TS3) (other transmission package to this program is also like this) and at each near the output of the e.t.d of this transmission package again.Proofread and correct among the PCR because of being assigned to the time that undesirable time slot causes and depart from.The timeslot number that the time slot that this adjusting equals transmission package departs from desirable time slot multiply by time slots.
The skew of all PCR of adjusting as described below is unless input and output TS accurately aims in time or this PCR receives from asynchronous communication links.In the former case, the skew of internal clocking does not influence the timing of output-pcr.Under one situation of back, the offset adjusted that use as described below is different.Under other all situation, the time of the PCR that output receives all is subjected to receiving the influence of the reference clock generator 113 of the adapter 110 of this transmission package and the adapter 110 that sends this transmission package with respect to the skew of the program clock of PCR.That is, put on the time of reception mark that obtains from reference clock generator 113 for the transmission package that comprises PCR.This time of reception mark is used for determining e.t.d and the actual reality of sending with charge free.As following at length as described in, with respect to the reference clock generator on the adapter 110 that sends TS (TS3) 113 with keep all reference clock generators 113 of synchronous all adapters 110, send the time with charge free according to transmission package actual and send transmission package with charge free.Yet though reference clock generator 113 phase mutually synchronization all, reference clock generator 113 still will stand the skew with respect to the encoder system timer clock that produces transmission package and PCR thereof.This skew can influence from the output of 100 outputs of the division multiplexing device node again time of each PCR the division multiplexing TS (such as TS3) again.
According to the present invention, division multiplexing device node 100 is proofreaied and correct these skews again.As mentioned above, the part of receiving processor subprogram that is used for the PCR of each program will keep the current measurement to skew.Keep of the skew of measuring basis clock generator 113 with respect to the encoder system timer clock of each program.For each PCR, from PCR, deduct the current skew (that is the skew between the encoder system timer clock of reference clock generator 113 and this program) of the program of PCR.
By distribution queue as mentioned above, select PID processor subprogram and revise the PID filter map, can followingly carry out division multiplexing again.Receive the transmission package of TS1 at data link control circuit 112 places of first adapter 110.Equally, receive the transmission package of TS2 at data link control circuit 112 places of second adapter 110.Data link control circuit 112 consultings in first and second adapters 110 in each are stored in the local PID filter map in local (thereat) cache memory 114, and optionally abandon and have each transmission package that indication will not keep the PID of transmission package.Each data link control circuit 112 is retrieved next and is not used/unappropriated descriptor from cache memory 114, and determines the relevant transmission package memory cell of descriptor therewith.(as above and the following stated, dma control circuit 116 obtains the one or more follow-up of the reception formation that is assigned to data link control circuit 112 used/sequence of unallocated descriptor formation and the control of the transmission package memory cell that these descriptors point to continuously.) after these follow-uply used, unallocated descriptor is connected on the descriptor that is stored in the tail pointer 129-4 descriptor storage pointed 129, data link control circuit 112 can obtain this tail pointer 129-4.(as mentioned above, if tail pointer 129-4 equals to encircle the bottom 129-2 of address, then the descriptor that is pointed to by tail pointer 129-4 will have the ending of the descriptor rings command bit that is set by processor 160 in field 129-7.This will make data link control circuit 112 use the circulating type addressing technique to come memory allocated to store the descriptor that equals ring top, address 129-1 in 129 at descriptor.) data link control circuit 112 obtains the time corresponding to the reference clock generator 113 of the time of first byte that receives transmission package, and this value as the time of reception marker stores in the field 129-5 of the descriptor that is distributed.Data link control circuit 112 is stored in the byte number of the transmission package that receives among the field 129-8.In addition, if any mistake (for example, losing the data link carrier wave (carrier) of TS1, short bag, long bag, the bag etc. of makeing mistakes) takes place when receiving transmission package, then data link control circuit 112 is indicated these mistakes by the suitable exception bits of setting 129-6.Then, data link control circuit 112 is set the mistake that an indication has been handled descriptor 129 or handled descriptor 129 in mode field 129-7, and this transmission package is stored in the transmission package memory cell in pointer among the field 129-4 cache memory 114 pointed.(note, under the situation of long bag, can give the transmission package that receives a more than follow-up sequence allocation of not using unallocated descriptor to constitute, can be in the bag memory cell relevant with these descriptors the storage of surplus.Can be in descriptor set suitable concentrating/disperse position among first the attribute field 129-1, with the data of indicating this bag surpassed with descriptor in first relevant single transmission package memory space.Also can be in descriptor setting corresponding position among last the attribute field 129-1, is last descriptor during many descriptors transmit to indicate it.When the bag of this length usually occurs in adapter from the bag of the stream that is different from TS.)
Dma control circuit 116 writes this transmission package in the transmission package pond 122 of main storage 120 in its respective transmissions bag memory cell.The data of the descriptor of the transmission package that dma control circuit 116 also writes sensing are write each descriptor storage 129 of the reception formation that is assigned to each adapter 110.Notice that dma control circuit 116 can be discerned and will write the transmission package memory cell that main storage 120 and these descriptors point to which transmission package by being set with the mode bit of finishing dealing with among the field 129-7 that determines which descriptor.Notice that dma control circuit 116 can write the data that write descriptor and transmission package when finishing one by one at every turn.Perhaps, dma control circuit 116 can allow to accumulate the transmission package and the descriptor of certain threshold number.Then, dma control circuit 116 writes the data of the sequence of i 〉=1 a plurality of descriptors of finishing and transmission package.
In one embodiment, scrambler/de-scrambler circuit 115 is placed on the adapter 110.In the case, before dma control circuit 116 was write main storage 120 to the data of transmission package, 115 pairs of each transmission package that must carry out descrambling of scrambler/de-scrambler circuit were carried out descrambling.Below this is described in more detail.
When dma control circuit 116 is write main storage 130 to descriptive data and transmission package, dma control circuit 116 interrupt handlers 160.These interruptions can be started when the data of every i 〉=1 descriptor are write main storage 130 by dma control circuit 116.Interruption makes processor 160 carry out one of reception PID processor subprogram of each transmission package (PID and input TS are specific).As mentioned above, suitable change by pointer in the table 402 comes selective reception PID processor subprogram, thereby processor 160 (especially) abandons the transmission package of exporting not in division multiplexing TS again, e.t.d is write in the descriptor of output transmission package of sensing and set the PCR flag bit in sensing comprises the descriptor of transmission package of PCR.In addition, the reception PID processor subprogram of choosing causes that preferably processor 160 obtains continuously and upgrades PSI table, regulates the PID filter map, and selects to carry out certain user and stipulate required additional reception PID processor subprogram.For example, user regulation can specify will be in division multiplexing TS (TS3) again the specific program of output number continuously.Yet, make the ES experience that constitutes this program change owing to reach event boundaries.Best, processor 160 will detect these changes in the ES formation by the variation of monitoring PAT and PMT, and will according to continuously in division multiplexing TS (TS3) again the needs of the ES of output hit program change PID filter map and selective reception PID processor subprogram, and no matter the formation of this program is frequent.
When carrying out above and receiving the transmission package function associated, the dma control circuit 116 on the 3rd adapter 110 also carries out with data link control circuit 112 and some relevant function of transmission transmission package in TS3.When the transmission package of data link control circuit 112 output k 〉=1 of this 3rd adapter 110, data link control circuit 112 produces one and sends and interrupt.Example ground, k can be selected by processor 160.Processor 160 places that carry out suitable transmission PID processor subprogram at the TS of division multiplexing again (TS3) to output receive this transmission interruption.Especially, processor 160 inspection is positioned at the descriptor at each formation head place, this each formation comprise transmission package that sensing will export in TS3 descriptor.As mentioned above, two receive formation comprises the transmission package that sensing will export in TS3 descriptor, comprise the reception formation of relevant second adapter 110 with of reception formation (reception TS2) of relevant first adapter 110 (receiving TS1).As described below, processor 160 can distribute and comprise the additional formation of pointing to the descriptor treat the transmission package exported in TS3.The descriptor for the treatment of follow-up j transmission package exporting in TS3 is pointed in processor 160 identification.This is to realize by the transmission PID processor subprogram of carrying out this group (relevant with the 3rd adapter 110 and can by the PID that receives the transmission package in the formation head index).As mentioned above, if will be not the transmission package of a descriptor from the formation that the 3rd adapter 110 (produce and interrupt) output is checked corresponding to processor 160, then the PID of this transmission package will be to the transmission PID processor routine index of the 3rd adapter 110 do not done whatever.If the transmission package of a descriptor from the formation that the 3rd adapter 110 (produce interrupt) output is checked corresponding to processor 160, then the PID of this transmission package will be to the indicator index of a transmission PID processor subprogram, this sends PID processor subprogram and incites somebody to action: (1) distributes one to send descriptor to this transmission package, (2) according to correct sending order the transmission descriptor in the transmit queue of relevant the 3rd adapter 110 is sorted, (3) assign one actually to send the time with charge free to the descriptor that distributed and transmission package, and (4) are carried out thick PCR to the skew of transmission package and stand-by period where necessary and are proofreaied and correct.Example ground, the descriptor that processor 160 is checked in (receptions) formations will be exported in TS3 or from j descriptor of the transmission package of the 3rd adapter 110 up to the identification sensing.124-3 checks these descriptors successively to afterbody 124-4 from the head.If can obtain to have a plurality of formations of candidate's descriptor in order to check, then processor 160 can maybe can take into account some other suitable order (as described below) of the content of the transmission package that descriptor points to according to the order of e.t.d, checks these formations in (round-robin) mode in turn.
DM control circuit 116 is retrieved the data of the sequence that j 〉=1 descriptor of the formation of relevant TS3 or the 3rd adapter 110 constitutes from main storage 120.According to the order of pointer 124-3 from the head to tail pointer 124-4, these descriptors of retrieval from the descriptor storage 129 of formation.Dma control circuit 116 is also retrieved from the transmission package in the transmission package memory cell in each descriptor of so retrieving pond 122 pointed from main storage 120.Dma control circuit 116 deposits the descriptor and the transmission package of so retrieval in the cache memory 114 in.
Data link control circuit 112 is according to the order of pointer 124-3 from the head, the transmission package in the transmission package memory cell that each descriptor from cache memory 114 in the consecutive retrieval transmit queue and this descriptor point to.During indicated time, data link control circuit 112 sends the transmission package that this descriptor (being arranged in head pointer 124-3 memory cell pointed) points in TS3 among the time of sending with charge free the field 129-5 of the descriptor that equals to be retrieved when the time of the reference clock generator 113 of the 3rd adapter 110.This sends the time with charge free and only is similar to transmitting time, because must send each transmission package with the transmission package boundary of time slot of TS3 with aiming at.With processor 160 ignorant external clocks is that benchmark is set this border.Notice that for a certain reason, the PCR of each transmission package may shake slightly.Correspondingly, data link control circuit 112 is final in addition also proofreaies and correct this PCR according to the accurate transmitting time that comprises the transmission package of this PCR.Specifically, this accurate transmitting time is less than the transmission package time departure of estimating.Data link control circuit 112 uses the transmission time slot boundary clock of the boundary of time slot that is locked in TS3 in advance, estimated PCR is carried out fine tuning (that is, by the difference of sending time and actual transmitting time with charge free being added to the PCR of transmission package).Notice that data link control circuit 112 can use the PCR flag bit of this descriptor to determine whether to exist in this transmission package PCR (determining whether to proofread and correct it then).
After sending a transmission package, data link control circuit 112 is set suitable state information and is removed and distribute this descriptor in the field 129-7 of the descriptor that points to the transmission package that is sent.Then, dma control circuit 116 writes this state information in the suitable descriptor storage of transmit queue.
In another kind of mode of operation, operating personnel know the content of the input TS that treats again division multiplexing fully.In the case, operating personnel prepare user regulation simply and this user's regulation slave controller 20 are sent to division multiplexing device node 100 (or when a plurality of nodes send to a plurality of device of division multiplexing again nodes 100 when network distribution type is operated in the division multiplexing device 100 again) again.However, best, obtain the different types of information of the content (such as PAT, PMT etc.) of the relevant input TS that treats again division multiplexing continuously.This makes can immediately report to operating personnel's (via processor 160 and controller 20) to this content, for example make to produce modified user's regulation and dynamically regulate division multiplexing again, and needn't stop to import the TS that treats again division multiplexing, output through the TS of division multiplexing or the division multiplexing again of the above-mentioned device of division multiplexing again 100 are handled again according to user's regulation of this modification.
Except the above function of division multiplexing substantially again, division multiplexing device node 100 can carry out more advanced function again.These functions are below described individually.
Dynamically division multiplexing and program specific information insert again
As mentioned above, operating personnel can use controller 20 to produce specify to keep or user's regulation explanation of remapping etc. of the scrambling of the program that abandons and ES, program or ES or not scrambling (or the two), PID.In addition, processor 160 preferably obtains content information (for example, the data of PAT, PMT, CAT, NIT, ECM table etc.) continuously.This makes and can carry out the modification of dynamically real-time or " (on the fly) in-flight " to user's regulation, and seamlessly changes division multiplexing again according to new user's regulation.Specifically, operating personnel can change user's regulation and make division multiplexing device 30 seamlessly switch to division multiplexing again according to new user's regulation again.In any case what division multiplexing device 30 guaranteed each output again is the continuous bit stream that comprises unbroken sequence of transport packets or string through the TS of division multiplexing more all the time.Thereby, so revise the content of TS of the division multiplexing again of output, and can in the TS of division multiplexing again of output, not introduce discontinuously, promptly in the transmission package string of output, do not interrupt or in the bit stream of output, do not end.
More than seamless modification may be subjected to using the influence of programmable processor 160, this processor control transmission to wrap in input and output adapter 110 or interface 140 and 150 and wait flowing between other circuit such as descrambler/descrambler 170.Consider to keep or abandon not the selection of ES on the same group and may be subjected to processor 160 simply and regulate the suitable PID filter map that processors 160 choose each PID and the influence of PID processor subprogram.Processor 160 makes them comprise suitable scrambling or descrambling process (as above and the following stated) by changing in response to the performed PID processor subprogram of the PID that is assigned to these ES or program, can realize some ES or program are carried out the scrambling or the selection of descrambling.Processor 160 is by distributing for new output port to send descriptor queue, unwanted output port being removed the distribution that sends descriptor queue, the transmission PID processor subprogram of each new output port is produced pointer gauge 404 and abandons each pointer gauge 404 of the transmission PID processor subprogram of each transmit queue that is disengaged distribution, can realize different choice, to export the various combination of the TS of division multiplexing again that is exported to output port.Processor 160 in an identical manner, by distributing and removing the distribution that receives formation and the reception PID handling procedure of the reception formation that is assigned with is produced pointer gauge 402 and abandons the pointer gauge 402 of handling procedure of the reception PID of the reception formation that is disengaged distribution, can realize different choice to input port.
Except selecting correct transmission package in order to output, example ground, division multiplexing device node 100 also provides correct PSI to the TS of division multiplexing again of each output again.This is following realization.Processor 20 (Fig. 2) is stipulated explanation to the TS generation user of output.Consider that again 100 couples of two TS of division multiplexing device node (that is, TS1 and TS2) carry out division multiplexing to produce the 3rd TS (that is above-mentioned example TS3), again.Example ground, table 1 have provided among TS1 and the TS2 content of each.
Table 1
Program ES PID Program ES PID
A Video A PID(VA) E Video E PID(VE)
A Audio A PID(AA) E Audio frequency E PID(AE)
A Data A PID(DA) PMT Prog.Def.E PID(e)
PMT Prog.Def.A PID(a) F Video F PID(VF)
B Video B PID(VB) F Audio frequency F PID(AF)
B Audio frequency B PID(AB) F Data F PID(DF)
PMT Prog.Def.B PID(b) PMT Prog.Def.F PID(f)
C Video C PID(VC) G Video G PID(VG)
C Audio frequency C PID(AC) G Audio frequency 1G PID(A1G)
C Deciphering C PID(ECMC) G Audio frequency 2G PID(A2G)
PMT Prog.Def.C PID(c) G Data G PID(DG)
D Video D PID(VC) G Deciphering G PID(ECMG)
D Audio frequency 1D PID(A1D) PMT Prog.Def.G PID(g)
D Audio frequency 2D PID(A2D) PAT PAT2 0x0000
D Data D PID(DD)
PMT Prog.Def.D PID(d)
PMT PAT 1 0x0000
Best, 20 pairs of processors 160 of controller are programmed and are extracted the information shown in the table 1 with the acquisition process that uses aforesaid reception PID processor subprogram.
Suppose that user's regulation explanation specifies only prewired program A, B, F and G and they are exported in the output TS (TS3) of division multiplexing again.The user locates for example to use keyboard/mouse device 27 (Fig. 1) to indicate this regulation at controller 20 (Fig. 1).Controller 20 determines whether this user's regulation is effective.Especially, controller 20 determines whether each TS (such as TS3) that exports again division multiplexing has enough bandwidth to export all appointed program A, B, F and G and relevant PSI (that is, program definition a, b, f, g and new alternative PAT3 as described below).If these bit rate informations are not known, then can from processor 160, obtain.For example, processor can be carried out PID processor subprogram, to determine the bit rate (or transmission package speed) of each program from the time of reception mark of each transmission package of being assigned to the PCR that has each program.As mentioned above, processor 160 obtains these information for the purpose of carrying out the PCR adjusting in a word.If the user stipulates invalid, then processor 20 is not downloaded this user's regulation.If regulation effectively, then controller 20 downloads to processor 160 to this user's regulation.
Suppose that the bandwidth of TS3 can satisfy user's regulation.If PAT and the PMT of the TS (TS1 and TS2) of input also are not acquired, then processor 160 obtains its PAT and PMT.According to the information among PAT1 and the PAT2, processor 160 constitutes a PAT3 who substitutes, and it only comprises the PAT1 of PID of program definition a, b, f and g of indication relevant procedures A, B, F and G and the entry of PAT2.Moreover this can use the suitable PID processor subprogram of the PID that is used for PAT1 and PAT2 to realize, and preferably carries out continuously with assurance any change to program that is reflected in PAT1 and PAT2 is incorporated among the alternative PAT3.Processor 160 generations comprise the sequence of transport packets of this new alternative PAT3 and they are deposited in bag buffer 122.Processor 160 also produces the PAT formation of the descriptor that points to these transmission package that have PAT3, and this formation preferably is embodied as ring 124.Advantageously, the PAT descriptor queue of PAT3 transmission package is exclusively used in the alternative PAT information of only storage.In addition, processor 160 produces the time departure of estimation and they is stored in the descriptor of the PAT formation of pointing to the PAT3 transmission package.
Now, processor 160 can interrupt serving PAT3 descriptor queue in the mode identical with any reception formation in response to sending.That is, when data link control circuit 112 sends k 〉=1 bag and interrupt handler 160, processor 160 will and receive the formation from the PAT3 formation and extract descriptor.Here, be called " connection formation " uniformly comprising all formations of pointing to transmission package to be exported (the transmission descriptor in the transmit queue also is not assigned with).
Then, processor 160 formation appropriate filters mappings also are sent to first adapter 110 that receives TS1 and second adapter 110 that second filter map is sent to reception TS2 to a filter map.For example, first filter map can be indicated and be extracted and reservation has the transmission package of PID:PID (VA), PID (DA), PID (a), PID (VB), PID (AB) and PID (b) (and corresponding to other possible PID of the PSI among the TS1).Equally, second filter map can be indicated and be extracted and reservation has the transmission package of PID:PID:PID (VF), PID (AF), PID (DF), PID (f), PID (VG), PID (A1G), PID (A2G), PID (DG), PID (ECMG) and PID (g) (and corresponding to other possible PID of the PSI among the TS2).To this response, first and second data link control circuits 112 that receive TS1 and TS2 only extract these transmission package according to the filter map that processor 160 is provided from TS1 and TS2.As mentioned above, first and second data link control circuits 112 are stored in the bag that these extracted in the cache memory 114 and to it and distribute descriptor.First and second dma control circuits 116 are periodically write main storage 120 to the data of transmission package of being extracted and descriptor thereof.The storage of the descriptor that is write by first dma control circuit 116 is received in each descriptor storage 129 of formation at first of first data link control circuit 112, the storage of the descriptor that is write by second dma control circuit 116 is received in the descriptor storage of formation at second of second data link control circuit 112.
In addition, the 3rd dma control circuit 116 is retrieved descriptor and corresponding transmission package thereof from the transmit queue of relevant TS3, and they are stored in the cache memory 114.The 3rd data link control circuit 112 is retrieved each descriptor and they is sent in TS3 from cache memory 114.The 3rd data link control circuit 112 produces interruption after having sent k 〉=1 transmission package.This makes the pointer gauge of transmission PID processor subprogram of the transmit queue that processor 160 visit is relevant with the 3rd data link control circuit 112.When carrying out suitable transmission PID processor subprogram, processor 160 is distributed to obtainable connection formation to untapped transmission descriptor among the TS3 (promptly, first receives formation, second receives formation and PAT3 formation) in descriptor, and connect copy so distributes formations descriptor for information about from these.Send the order of time according to the estimation of relevant reception descriptor with charge free and in the TS3 transmit queue, distribute the transmission descriptor.
Note, can insert the PSI of any kind dynamically, comprise new program definition, EMM, ECM, CAT or NIT.
Consider to produce new user now and stipulate to illustrate the situation of stipulating to take place again division multiplexing simultaneously according to previous user.Whether as mentioned above, controller 20 begins to verify has enough bandwidth to satisfy new user's regulation.If have, then new user's regulation is downloaded to processor 160.New user regulation may need processor 160 to extract different program and ES, and PID is differently shone upon, and perhaps produces: (a) new PSI, (b) descriptor that has the transmission package of this new PSI and (c) point to the transmission package that has this new PSI.Be included under the situation of program among the TS3 or ES in modification, processor 160 stipulates to revise the PID filter map according to new users, with reservation transmission package to be kept and abandon transmission package to be abandoned.These new filter map are sent to each cache memory 114, and these cache memories 114 dynamically switch to immediately according to new user's regulation and extract transmission package.Processor 160 is also by revising the pointer that keeps the relevant reception PID processor subroutine pointer table 402 of the PID of transmission package with new waiting, for new waiting keeps the suitable reception PID processor subprogram of transmission package selection.Also can be to making amendment by the pointer of the reception PID processor subroutine pointer table 402 of the PID index of transmission package now to be dropped.Under the situation that new PID remaps, the suitable subprogram of processor 160 selections is carried out new PID and is remapped.
This change may need to produce new PSI, for example new PAT.Processor 160 selects suitable substance P ID processor subprogram to produce new PSI.For example, under the situation of new PAT, PID processor subprogram can be triggered by the PID of the PAT of TS1 and TS2.Processor 160 produces new PSI and this new PSI is inserted transmission package.Descriptor in each PSI formation is distributed to these new PSI transmission package.Processor 160 stops to serve any PSI descriptor queue of pointing to the transmission package that comprises old PSI (that is, refresh and therefrom transmit transmission package), but serves new PSI descriptor queue.
When each changed, in the time of can obtaining each PID processor subprogram of newly choosing (each PSI inserts and revises or each new PID filter map), suitable data link control circuit 112 or processor 160 seamlessly changed its operation.When carrying out these and change, data link control circuit 112 or processor 160 just formerly user stipulate down that continuation operates.Must be noted that when when each changes generation, sorting, thereby the TS of division multiplexing again of output always meets MPEG-2.For example, preferably postpone any change that the mapping of the PID among the TS, PID filtration, program, (they influence PMT or PAT) such as ES, ECM are carried out, up to the redaction that can in TS, export PMT (or its specific program definition) and/or PAT and when indication switches to the indication of new PMT, program definition or PAT in TS.Equally,, then postpone the introducing of this EMM, up to the redaction that in TS, can send CAT if comprise or lose the EMM of a condition visitation system.Prudent ordering that change is added is wanted in management to the inter-process of resource, before the PID filter map such as each adapter 110 that is used to keep transmission package in change, a pointer is stored into reception PID processor subprogram in the suitable reception PID processor subroutine pointer table of PID index of transmission package to be retained (it before had been dropped) etc. with this PID.
It below is an example revising again division multiplexing according to new user's regulation.New user's regulation of supposing the user to provide indication should abandon program B and F and answering prewired program C and D.Response with it, controller 20 is at first determined the new PSI that whether has enough bandwidth to hold all new procedures data and be necessary for its generation in the TS of division multiplexing again (TS3) of output when stipulating to revise again the TS (TS3) of division multiplexing according to new user.Supposing has, and then this new user regulation is downloaded to division multiplexing device node 100 again.The PID filter map that processor 160 is revised in first adapter 110, thereby abandon the have PID transmission package of (PID (VB), PID (AB), PID (b)), and keep and have the PID (transmission package of PID (VC), PID (AC), PID (ECMC), PID (c), PID (VD), PID (A1D), PID (A2D), PID (DD) and PID (d).Equally, processor 160 is revised the PID filter map in second adapter 110, thereby abandons the have PID transmission package of (PID (VF), PID (AF), PID (DF) and PID (f)).Processor 160 selects to comprise the PID processor subprogram that is used for PID (PID (VC), PID (AC), PID (ECMC), PID (c), PID (VD), PID (A1D), PID (A2D), PID (DD) and PID (d)), comprise and be used for PID (each program definition of PID (c) and PID (d) is upgraded the control word of handling, be used for PID (ECMC) and upgraded the descrambled control words information of each the scrambling ES (for example, PID (VC)) that handles, is used for program C and insert and handle.Processor 160 for example during the PID processor subprogram of the PID (0) of each, also produces the different PAT3 of substituting that comprise program definition a, b, c, d and g in carrying out first and second adapters 110.
Another new user-defined situation that consideration now provides the VA video ES of indication reply program A to carry out scrambling.Moreover, whether there are enough bandwidth to hold the new procedures definition of the ECM and the program A of the transmission package that has VA among the at first definite TS3 of controller 20.Supposing has, and then this new user regulation is downloaded to division multiplexing device node 100 again.Processor was used in the formation of the descriptor of storing the transmission package of pointing to the ECM that comprises VA in 160 minutes.Processor 160 is that PID (VA) selects suitable substance P ID processor subprogram, comprises the scrambling control word is inserted in the descriptor that points to the transmission package that comprises VA.Processor 160 also produces and comprises as the transmission package of the control word of the ECM of VA and distribute the descriptor that points to these transmission package.This interrupt handler subprogram that can use timer to drive realizes.Perhaps, additional firmware (not shown) or software cycle ground generation control word and the interrupt handler of carrying out by processor 160 160 when these control words are ready to.Processor 160 responds to these interruptions by an obtainable control word being placed one or more transmission package, the ECM descriptor of an ECM formation being distributed to these transmission package also the control word table that it is suitable that new control word is packed into.In addition, processor 160 also selects to be used for the reception PID processor subprogram of PID (a), comprises information among the extraction procedure definition a and the information (for example, PID (ECMA), the ES of its encryption etc.) of adding relevant ECMA.
Scrambling/descrambling control
A problem relevant with scrambling and descrambling is that each transmission package is selected correct control word or key.That is, can PID special-purpose control word or the control word that is exclusively used in one group of PID are carried out scrambling to the transmission of packet data through scrambling.Can when changing constantly, control word use Spin Control word scheme.In brief, can there be a large amount of control words (for example, key) and periodic variation these control words relevant with each TS.Under the situation of descrambling, must provide to receive continuously to be used for each control word for the treatment of that descrambling ES or ES organize and to select the mechanism of suitable control word constantly at each.Under the situation of scrambling, what must be provided for selecting the correct control word that the scrambling of ES or ES group uses and enough be ahead of formation like this anyly inserts mechanism among the TS of division multiplexing again of output through the control word that the ES of scrambling data are used this ES scrambling.
Can use these descriptors and the ordering in reception and transmit queue thereof to simplify scrambling and the descrambling of TS.Especially, each receives descriptor and has the field 129-9 that wherein can store the information of relevant scrambling or descrambling, these information such as employed control word when transmission package is carried out scrambling or suitably control the word table pointer of (comprising the control word that is used for transmission package is carried out scrambling or descrambling).
At first consider step performed when a transmission package is carried out descrambling.The TS that comprises the transmission package for the treatment of descrambling comprises the transmission package that has ECM (ES special use have ready conditions visit) and EMM (being exclusively used in the visit of having ready conditions of whole ES group).Indicate the pairing ES of EMM group carry EMM in the transmission package of exclusive PID, indicate the pairing specific ES of each ECM carry ECM in the transmission package of exclusive PID.Can be relevant the PID of EMM with the pairing specific ES group of EMM with reference to CAT.Can be relevant the PID of ECM with pairing each the specific ES of ECM with reference to PMT.Processor 160 is selected PID processor subprogram, in order to:
(1) recover each CAT and PMT that in TS, sends and the version of discerning presently used CAT or PMT,
(2), recover to be carried the ECM table of PID index of the transmission package of the pairing ES of ECM with reference to PMT.
Then, processor 160 defines the series of processing steps that will carry out on each transmission package and descriptor.That is, the data link control circuit 112 of processor 160 definition reception adapters 110, the descrambler 115 that (choosing wantonly) receives adapter 110, dma control circuit 116, (choosing wantonly) descrambler 170 and the processor 160 that receives adapter 110 can be handled the particular order that a reception descriptor or receives the bag of descriptor sensing.For this reason, processor 160 can be sent to suitable control information each in device 112,115 and 116, so that they are handled transmission package according to the particular order of the series of processing steps of definition as described below and point to the descriptor of this transmission package.
If use the descrambler 115 of adapter 110, then as the processing sequence in this sequence of giving a definition.The data link control circuit 112 of adapter 110 receives transmission package and distributes for the transmission package of choosing in those transmission package that the PID filter map does not abandon as described above and receives descriptor.After depositing in the transmission package of each reservation in the cache memory 114, the mode bit 129-7 indication that example ground, data link control circuit 112 are set in the descriptor that points to this transmission package now can be handled this transmission package by next device according to the order of defined treatment step sequence.
Descrambler 115 is periodically checked one or more descriptors then in cache memory 114, its mode bit 129-7 is set to indication and has permitted descrambler 115 to revise transmission package.Example ground, descrambler 115 is access cache 114 after having handled m 〉=1 descriptor.Descrambler 115 begins each descriptor of access cache 114 successively from the descriptor of before being visited by descrambler 115, up to having visited m 〉=1 descriptor or up to arriving this descriptor, its mode bit 129-7 is set to previous step has been carried out in indication to the transmission package of descriptor and sensing thereof according to the order of defined treatment step sequence processing.
When handling descriptor and transmission package, descrambler 115 uses the PID of the transmission package of current checked descriptor sensing to come index to be arranged in the descrambling mapping of cache memory 114.Example ground, the processor 160 descrambling mappings that are updated periodically in the cache memory 114 as described below.Provide the position of descrambling mapping by being arranged in the plot of descriptor up to 129-9.Example ground, processor 160 distribute when receiving descriptor queue the plot of descrambling mapping pack into each descriptor up to 129-9.The indexed entry of descrambling mapping indicates whether transmission package is carried out scrambling and can be used one or more control words of transmission package being carried out descrambling when the scrambling.The indexed entry of descrambling mapping can comprise corresponding to the control word of the PID of transmission package or point to the pointer of the memory cell that wherein stores each control word.If the indexed entry indication of descrambling mapping is not carried out descrambling to the transmission package that accessed descriptor points to, then descrambler 115 is set at indication to the mode bit 129-7 of descriptor simply and can carries out next treatment step to the transmission package of descriptor and sensing thereof according to the order of defined treatment step sequence.
If the indexed entry indication of descrambling mapping will be carried out descrambling to transmission package, then descrambler 115 obtains corresponding to the control word of the PID of this transmission package and uses this control word that transmission of packet data is carried out descrambling.Notice that typical descrambling scheme is used aforesaid rotation (that is odd and even number) control word.Employed correct odd number or even number control word are indicated by the control bit in the transmission package when a transmission package is carried out descrambling, such as transmission _ scrambling _ control bit.Descrambler 115 uses the PID of these and transmission package when correct control word is carried out index.That is the mapping that comes index to constitute and keep by PID and odd/even designator, by processor 160.Then, descrambler 115 is stored in the transmission of packet data through descrambling by the descriptor of current check transmission package memory cell pointed, thereby rewrites the pre-descrambling data of this transmission package.Then, descrambler 115 is set at indication to the mode bit 129-7 of this descriptor and can carries out next treatment step to the transmission package of descriptor and sensing thereof according to the order of defined treatment step sequence.
Dma control circuit 116 is periodically write the data of the descriptor of transmission of packet data and this transmission package of sensing each memory cell 122 and 129 of main storage 130 from cache memory 114.When doing like this, dma control circuit 116 is periodically checked in the cache memory 114 by being connected on the sequence that one or more descriptors of (according to the order that receives formation) constitute behind dma control circuit 116 handled last descriptor.If the mode bit 129-7 of checked descriptor indication can be carried out the processing of dma control circuit 116 to checked descriptor, then dma control circuit 116 is set at indication to the appropriate state position 129-7 in this descriptor and can carries out next treatment step to the transmission package of this descriptor and sensing thereof according to the order of defined treatment step sequence.Then, dma control circuit 116 is write main storage 130 to the data of the transmission package of the data of this descriptor and sensing thereof.Yet, if being set to indication, mode bit 129-7 will carry out treatment step before the performed processing of dma control circuit 116 to descriptor, dma control circuit 116 avoids handling the transmission package of this descriptor and sensing thereof.Example ground, when being enabled, dma control circuit 116 is checked descriptor, write the sequence of i 〉=1 descriptor and the data of the transmission package that these descriptors point to up to dma control circuit 116, or up to running into such descriptor, its mode bit 129-7 indication is still carried out last treatment step according to the order of defined treatment step sequence to this descriptor.When dma control circuit 116 had transmitted i 〉=1 transmission package, dma control circuit sent an interruption.
Processor 160 is by carrying out suitable reception PID processor subprogram, the interruption of being sent in response to for example dma control circuit 116.Processor 160 begins to check one or more descriptors corresponding to the reception formation of the adapter 110 that therefrom receives interruption from processor 160 handled last descriptor.Example ground, processor 160 is only carried out suitable reception PID processor subprogram to such descriptor, and the mode bit 129-7 of these descriptors is set to the processing that indication can be carried out processor 160 to descriptor.When processor 160 is interrupted, example ground, processor 160 is handled the transmission package of descriptor and sensing thereof, up to i 〉=1 transmission package having been carried out PID processor subprogram or up to running into a such descriptor, its suitable mode bit 129-7 is set to last treatment step (according to the order of defined treatment step sequence) still carried out in indication to this descriptor processing.。
During carrying out suitable reception PID processor subprogram, processor 160 recovers all control words of all ES and upgrades by descrambler 115 (or as described below 170) employed descrambling and control word table or mapping.In Spin Control word scheme, processor 160 is kept for a plurality of (that is odd and even number) key of each PID in control word table or mapping.Processor 160 also can enable carry out the processing (as described below) of follow-up scrambling through the transmission package of descrambling.After having handled the reception descriptor, processor 160 is by being set at the mode bit 129-7 of these descriptors indication descriptor invalid (data link control circuit 112 is next devices of handling these descriptors then), wiping or reset choosing field and making stem pointer 123-3 enter the distribution that next descriptor storage 129 is removed these descriptors of descriptor.
Consider on adapter 110, not to be provided with or not use the situation of descrambler 115 now.Replace, use the descrambler 170 that is positioned on the bus 130.Carry out and before very similar process.Yet, in the case, so change the order of the treatment step of institute's defined nucleotide sequence, thereby dma control circuit 116 is handled descriptor (and corresponding transmission package) after data link control circuit and before descrambler, and descrambler 170 is handled descriptor (and corresponding transmission package) after dma control circuit 116 but before processor 160.Then, descriptor is distributed to transmission package and set suitable mode bit 129-7 with after enabling next treatment step performed to them at data link control circuit 112, dma control circuit 116 is handled the transmission package of this descriptor and sensing thereof.As mentioned above, dma control circuit 116 is set at indication to mode bit 129-7 can carry out next treatment step to descriptor, and this transmission package and descriptor are write main storage 130.
Descrambler 170 is periodically checked the descriptor that receives in the formation, is set to the descriptor that indication can be carried out scramble process (according to the order of defined treatment step sequence) to the transmission package of descriptor and sensing thereof to discern its mode bit 129-7.Descrambler 170 is handled the transmission package that these are identified with the above similar mode that descrambler 115 is discussed.After having handled these transmission package, descrambler 170 is set at indication to one or more mode bit 129-7 can carry out next treatment step (according to the order of defined treatment step sequence) to the transmission package of descriptor and sensing thereof now.
Processor 160 carries out aforesaid processing in response to the interruption that dma control circuit 116 is sent, and comprises carrying out suitable reception PID processor subprogram.Best, the queue length of the reception formation relevant with the adapter 110 of interrupt handler 160 is with respect to the processing time long enough of descrambler 170, thereby makes processor 160 check and handle the descriptor that descrambler 170 has been finished processing.In other words, processor 160 had better not attempt visiting simultaneously identical descriptor with descrambler 170.Moreover processor 160 point place different with descrambler 170 in receiving formation begins to handle descriptor.
Consider the processing of relevant scrambling now.As scramble process, use the mode bit 129-7 in the descriptor, the treatment step that the transmission package of each descriptor and the sensing of these descriptors is carried out according to the order of defined treatment step sequence sorts.Different with descrambling, scrambling is preferably in processor 160 and carries out after descriptor is distributed to the transmission package for the treatment of scrambling sending.Use control word field 129-9 like this, in one of two ways.As descrambling, can place control word descriptor field 129-9 to the plot of scrambling mapping.Yet, since scrambling occurs in processor 160 handle descriptor in the transmit queues after, so preferably correct control word itself is placed control word descriptor field 129-9.
At first consider to be undertaken the scrambling processing of scrambling by the scrambler 115 that sends adapter 110.Processor 160 obtains to comprise the ECM transmission package of control word (preferably encrypted).These ECM transmission package were lined up in each corresponding connection in the formation, and they are dispatched to export in the correct time.That is, these ECM transmission package are dispatched, these ECM transmission package are inserted among the TS of output, so that decoder recovers this control word before the transmission package that receives its descrambling with the transmission package that enough is ahead of their institute's descramblings.
Comprise the appropriate time after the ECM transmission package of control word in transmission, processor 160 changes the control word tables so that use corresponding to the new key of the control word of nearest transmission data are encrypted.When o adapter sends transmission package, processor 160 carry out with checked connection formation in the relevant transmission PID processor subprogram of PID of descriptor transmission package pointed.Treat to send in the transmission package of scrambling each PID processor subprogram and comprise the processing that is used for control word information is inserted the descriptor of relevant this transmission package for these.Control word information can simply be the plot with employed scrambling mapping when control word is used in the scrambling of identification transmission package.Yet control word information can also be with employed correct control word in the transmission package scrambling.Processor 160 also can switch back and forth in (toggle) transmission package such as transmission _ scrambling _ control bit equipotential, should use in the control word of nearest transmission which that the transmission package at decoder place is decrypted or descrambling with indication.In addition, example ground, processor 160 are set at this transmission package that sends descriptor and sensing thereof of indication reply to one or more mode bit 129-7 of newly assigned transmission descriptor and carry out next treatment step (according to the order of defined treatment step sequence).
Send dma control circuit 116 transmission package that periodically retrieval descriptive data and these descriptors point to from transmit queue of adapter 110.When doing like this, dma control circuit 116 inspection is connected on dma control circuit 116 and descriptive data is sent to descriptor in the transmit queue of last descriptor back of cache memory 114.Dma control circuit 116 only transmits these data that send descriptor, and these mode bit 129-7 that send descriptor are set to indication and can carry out the processing of dma control circuit 116 (according to the order of defined treatment step sequence) now.For example, dma control circuit 116 can be checked the transmission descriptor, up to discerning a certain number k 〉=1 transmission descriptor that permission dma control circuit 116 is handled, or up to having discerned a such descriptor, its mode bit 129-7 is set to indication and still the transmission package that sends descriptor and sensing thereof is carried out last treatment step.After the transmission package of the data that these sent descriptor and these transmission descriptor sensings was sent to cache memory 114, dma control circuit 116 is set at indication to the mode bit 129-7 of the transmission descriptor that these transmitted can carry out next treatment step (according to the order of defined treatment step sequence) to these transmission package that sends descriptor and sensing thereof.
Then, periodically check the sequence of one or more descriptors to be processed and the transmission package of sensing thereof in the descriptor of scrambler 115 in cache memory 114.Scrambler 115 is only handled those accessed descriptors, and these descriptors have one or more state 129-7 that the indication of being set to can be carried out scrambling treatment step (according to the order of defined treatment step sequence) to these descriptors.Scrambler 115 access control word information field 129-9 also use information wherein that each transmission package for the treatment of scrambling is carried out scrambling.As mentioned above, use control word information in one of two ways.If control word information is the plot of scrambling mapping, then scrambler 115 uses the pid information of this plot and this transmission package that index is carried out in the scrambling mapping.The indexed entry of scrambling mapping indicates whether and will carry out scrambling and the scrambling transmission package is used in the time will carrying out scrambling control word to transmission package.Perhaps, the control word information among the field 129-9 itself indicates whether and will carry out scrambling and the employed control word of scrambling transmission package in the time will carrying out scrambling to this transmission package.If the transmission package of processed descriptor is not carried out scrambling, then scrambler 115 is set at indication to suitable mode bit 129-7 simply and can carries out next treatment step (according to the order of defined treatment step sequence) to the transmission package that sends descriptor and sensing thereof now.If the transmission package of processed descriptor is carried out scrambling, then scrambler at first carries out scrambling to this transmission of packet data, and this transmission package is stored in the transmission package that replaces not scrambling in the cache memory, sets suitable mode bit 129-7 then.
Periodically check in the transmission descriptor of data link control circuit 112 in cache memory 114 to send descriptor, these descriptors have one or more mode bit 129-7 that the indication of being set to can be carried out the processing of data link control circuit 112 to these descriptors.Send descriptor for these, data link control circuit 112 is actually sent the time with charge free and is sent these descriptors transmission package pointed with indicated in these descriptors.Then, data link control circuit 112 is removed the distribution (it is invalid also mode bit 129-7 to be set at) of these descriptors.Example ground, when data link control circuit 112 sent the sequence of k 〉=1 descriptor, data link control circuit 112 produced the transmission that is received by processor 160 and interrupts.
Do not exist or do not use under the situation of scrambler 115, example ground replaces and uses scrambler 170.So change the sequence of described treatment step, thereby scrambler 170 is in processor 160 back but each sends the transmission package of descriptor and sensing thereof in dma control circuit 116 pre-treatments, and dma control circuit 116 is in scrambling 170 backs but each sends the transmission package of descriptor and sensing thereof in data link control circuit 110 pre-treatments.
Bandwidth optimization
As mentioned above, in having the TS of program, insert empty transmission package usually.The existence of these sky transmission package is because program coder distributes unnecessary bandwidth must for usually each program.This is because can only control so many to the quantity of the coded data that each ES produced that produces constantly.Do not have this " overhead bandwidth ", encoded ES data can surpass the amount of bandwidth that it distributed continually, thereby make the encoded ES data of omission in TS.Perhaps, ES encoder (the especially video ES encoder) data that not necessarily always when the transmission package time slot takes place, can obtain to be output.For example, the coding of special pattern may unexpectedly occupy than the previous desired longer time, thereby caused delay when producing encoded video ES data.These time slots are filled by the transmission package of sky.
Though existence that must the empty transmission package of tolerance in division multiplexing device node 100 again wants to reduce the number of the empty transmission package of these waste bandwidths.Yet, in doing so, should not change the bit rate of each program and should make the end-end of these programs postpone to keep constant.According to an embodiment, thereby utilized a kind of technology to replace empty transmission package with other transmission of packet data (if the obtainable words of these other transmission of packet data) for the treatment of again division multiplexing.This is following realization.
The at first existing a plurality of connection formations of considering processor 160, these formations comprise the descriptor for the treatment of the scheduled transmission bag, promptly also are not sent to the descriptor in the reception formation, PSI formation, other data queue etc. of transmit queue.As mentioned above, these descriptors can point to that the transmission package relevant with the Incoming TS that receives or processor 160 produced such as other adjective streams such as PAT stream, PMT stream, EMM stream, ECM stream, NIT stream, CAT streams.Yet, existing can be other type treat scheduled transmission bag and descriptor 129 thereof, such as the transmission package of the proprietary data of " burst " that have non-time-sensitive or " (best effort) tries one's best ".For example, these extra transmission package can comprise the transaction computer data, for example the data that transmit between Web browser and Web server.(division multiplexing device node 100 can be a server, a terminal or be an intermediate node of linking in the communication system of " internet " simply again.Can use modulator-demodulator, adapter 140 or 150 to wait to realize being connected of this and internet.) requirement that do not have constant end-end to postpone of these data.But as long as can obtain bandwidth, these data just can send by burst (burst).
Processor 160 at first makes each empty transmission package be dropped.This can by use by processor 160 abandon be the reception PID processor subprogram of free transmission package to realize.Example ground, this technology is to use when the device of (such as interface 140 or 150) receives the sky transmission package beyond adapter 110.Perhaps, if empty transmission package receives from adapter 110, then processor 160 can offer data link control circuit 112 to a PID filter map to abandon each empty transmission package.Then, assign the e.t.d and the internal damping delay in the division multiplexing device node 100 again of the function of a time of reception as transmission package (being recorded in its descriptor) according to receiving PID processor subprogram, give each the Incoming transmission package that in TS, to export.In comprising each connection formation for the treatment of the scheduled transmission bag, the time departure of being assigned can not be the continuous transmission package transmitting time (corresponding to adjacent time-slots) of the TS of output.Moreover the e.t.d of two continuous descriptors of the transmission package that will export in unified output TS may separate one or more transmission package transmitting times (or time slot) of the TS of division multiplexing again (wherein will send these transmission package) of output.
Best, the descriptor that sensing is had the descriptor of the transmission package of routine data, the descriptor that points to the transmission package that has PSI, ECM or EMM and sensing bursty data all remains in the separated connection formation.In realization, connect formation to each and assign a service priority, the data type in this priority and the descriptor of lining up the therein transmission package pointed is relevant.Best, assign the highest priority for the routine data that (for example, via receiving adapter 110 or interface 140 or 150) receives from multiplexer node outside.Also can give and store again PSI, ECM that division multiplexing device node 100 produced or same priority is assigned in the connection formation of EMM stream.At last, assign lowest priority for connection formation with the descriptor that points to this transmission package (comprise do not have specific continuity, bursty data that propagation delay or bit rate require).In addition, different with program, PSI, ECM with the EMM data, assign e.t.d or this time be not recorded in wherein for the descriptor of the transmission package that has bursty data.
When carrying out transmission PID processor subprogram, processor 160 treats that relevant the descriptor of scheduled transmission bag is sent to a transmit queue from their connection formations separately.In doing so, before processor 160 was preferably in the connection formation of lower priority appealed to service, each of serving given priority connected formation (that is, check wherein descriptor).When checking descriptor, processor 160 is determined the high connection formation of priority (promptly, whether the descriptor that comprises the transmission package that has program PSI, ECM or EMM data) any is examined descriptor and points to and must actually send the transmission package that the time sends with charge free at next, and this determines according to the e.t.d that is assigned to these transmission package.If like this, then processor 160 sends descriptor to one and distributes to each such transmission package, copying to for information about in the transmit queue descriptor that is distributed in the connection queue descriptor, and give and assign the suitable time of sending with charge free sending each transmission package that descriptor distributed.As mentioned above, once in a while, two or more transmission package are competed same Actual Departure Time (that is, the same transmission package time slot of the TS of division multiplexing again of output), in the case, a sequence of transport packets are assigned to continuous slot and Actual Departure Time.Where necessary, these transmission package being carried out PCR regulates.
At All Other Times, when processor 160 is served when connecting formation, the e.t.d of the transmission package of the connection formation of higher priority can not make processor 160 this transmission package is assigned to next the obtainable time slot among the TS of division multiplexing again of output and actually send the time with charge free.Usually, this can produce empty slot in the TS of division multiplexing again of output.Yet in the case, processor 160 is preferably served the connection formation of lower priority.Processor 160 is checked the connection formation (order that begins according to pointer 124-3 from the head) of lower priorities, optionally be assigned in the sequence that one or more transmission package that these checked descriptors point to constitute each and copying to for information about on the transmission descriptor that is distributed checked descriptor sending descriptor.Processor 160 is optionally distributed to each transmission package that these checked descriptors point to (other) empty slot, and relevant time slot of being assigned actual sent with charge free the time is stored in the corresponding transmission descriptor that is distributed.
Once in a while, can not distributed to the time slot of the TS of division multiplexing again of output by the transmission package of the descriptor indication in the high or low connection formation of priority.The reason of this generation may be that the e.t.d of the high transmission package of priority is not sent the time with charge free and the transmission package that has bursty data do not cushioned the transmission of waiting for again division multiplexing device node 100 places corresponding to the actual of time slot.Perhaps, the transmission package that has bursty data is cushioned, but processor 160 is because discussed below former thereby select in this particular moment it not to be assigned to send descriptor.In the case, the descriptor in the transmit queue will have the actual transmitting time corresponding to the discontinuous transmission package sequence of time slots of the TS of division multiplexing again that exports.When the data link control circuit 112 that sends adapter 110 run into such when discontinuous, the transmission package that data link control circuit 112 has sent at each empty slot that is not assigned transmission package (utilize send descriptor is actual sends the time with charge free).For example, the time of sending with charge free the indication of supposing two relevant with first and second transmission package in the transmit queue continuous descriptors will send first transmission package and will send second transmission package at the 6th transmission package time slot place at the first transmission package time slot place.Data link control circuit 112 sends first transmission package at the first transmission package time slot.Second, third, each time slot place in the 4th and the 5th transmission package time slot, data link control circuit 112 has automatically sent transmission package.At the 6th transmission package time slot place, data link control circuit 112 sends second transmission package.
Attention happens suddenly or the data of trying one's best do not have strict reception buffer constraint usually.That is, the great majority bursts or the not regulation maximum buffer size of data sink and receiver application program of trying one's best, data fill rate etc.Replace, can utilize such as transmission control protocol host-host protocols such as (TCP), thereby when the receiver buffer was filled, receiver abandoned the data that receive subsequently simply.Receiver does not confirm to receive the bag that is abandoned, and the source resends and is not identified the bag that has data that receives.This has controlled the valid data transmission rate to receiver effectively.Though this restraining technology can realize the accurate data transmission rate to receiver effectively, it has two problems.At first, network must be supported two-way communication.In all cable TV networks only some and do not have the two-way communication that (do not have the phone return path) between direct broadcasting satellite network support transmitter and the receiver.Under the situation of any support two-way communication, the bandwidth of the return path from the receiver to the transmitter is basically less than the forward path from the transmitter to the receiver, and this return path must be shared by a plurality of receivers usually.Thereby, TCP is used as the major part that restraining mechanism has utilized return path (it also must be used for the communication of other receiver to transmitter) energetically.In addition, do not wasted the bandwidth that sends the forward path of the transmission package that is dropped with not wanting.
Best, happen suddenly or the insertion of the data of trying one's best should not make these buffer overflows.Example ground, suppose the unsettled property of a certain (or typical) occupation rate of receiver buffer and data wherein, PID processor subprogram may command is inserted rate of burst data, realizing a certain Mean Speed, thereby be no more than a certain peak rate or even prevent the receiver buffer overflows simply.Thereby, even when processor 160 can obtain to insert the burst of transmission package time slot of one or more skies or the data of trying one's best (can not obtain other and insert wherein data), processor 160 can be selected only bursty data to be inserted in some empty transmission package time slot, selection is inserted bursty data in the transmission package time slot that replaces or separate, or select bursty data not to be inserted in any empty transmission package time slot, thereby the data that are adjusted to the receiver bursty data buffer of supposition send, or prevent the overflow of this buffer.In addition, the transmission package itself that is intended to a plurality of different receivers can be (interleaved) that interlocks, and with they when produce irrelevant, to keep a certain data transmission rate of receiver.
Under any circumstance, division multiplexing device node 100 all provides the straightforward procedure of optimizing the bandwidth of TS again.There is free transmission package in the institute that abandons among the Incoming TS.If can obtain transmission package, then they are inserted and to distribute in the time slot of the empty transmission package that is dropped usually.If can not obtain transmission package, then stay the space for these time slots by normally sending time appointment process with charge free.Should not send this transmission package at next obtainable time slot place of the TS of division multiplexing again that exports if the time of sending with charge free of transmission package does not indicate, then data link control circuit 112 automatically inserts this time slot to empty transmission package.
The advantage of this bandwidth optimization scheme is dual.The first, with regard to the TS of division multiplexing again of output, realized bandwidth gain.Now the bandwidth of being wasted usually is used for transmission information on the transmission package of sky.The second, can in TS, export and try one's best or bursty data, and it not distributed bandwidth (or the bandwidth of distributing much less) particularly.For example, the bandwidth of the TS of division multiplexing again of supposing an output is 20Mbits/sec.To the TS (each is 5Mbits/sec) that have four programs be carried out division multiplexing again and they are outputed to the TS of division multiplexing again of 20Mbits/sec.Yet, can distribute to empty bag to about 5% of each bandwidth among the TS that has these four programs.Like this, transmit have try one's best or the transmission package of bursty data can obtain (nominally) up to 1Mbit/sec, yet the constancy that postpones for end-end is without any assurance or limit.
Data to not timing are retimed
As mentioned above, can receive the routine data for the treatment of again division multiplexing via asynchronous interface 140.Thereby because of interface 140 and the communication link that connected thereof not being designed to send data and will introduce convertible tip-end delay in the data that transmitted at any special time to cause problem.In comparison, can carry out such hypothesis to the routine data that receives at division multiplexing device node 100 places again via asynchronous communication links (receiving adapter 110) such as linking, be about to export its all transmission package that receive and not shake.This is because all these wrap in division multiplexing device node 100 places again and all cause same delay (promptly, internal damping postpones), if perhaps they do not cause same delay (because of the result of aforesaid time slot competition), then know the delay that adds, regulate these PCR to remove any shake that these additional delay are introduced.In addition, further proofread and correct of the skew of the internal clocking mechanism of PCR with respect to the system timing clock of each program, and between the scheduling output time of proofreading and correct PCR and the actual output time with respect to the misalignment of the boundary of time slot of the TS that exports.Yet, receiving from interface 140 under the situation of transmission package, sentence variable-digit speed and the inconstant shake time receives these transmission package at division multiplexing device node 100 again.Thereby if the basis left of the actual reception time of transmission package as the estimation transmission package, then shake will keep.The PCR of shake not only causes decoding and presents discontinuously at the decoder place, and they also make buffer overflows and underflow.This is because the bit rate of each program is carefully adjusted (suppose and will remove these data being used for decoding from decoder buffer, and present with respect to the system timing clock of program).
According to an embodiment, as described belowly overcome these problems.The PCR of each program of the TS that processor 160 identifications receive.Use these PCR, processor 160 determine PCR between the segment transmissions packet rate of transmission package of each program.The transmission package speed of each of given each program (interlocking) sequence of transport packets, then processor 160 can be assigned e.t.d according to the time that should receive each transmission package.
Example ground when interface 140 receives routine data, is sent to the routine data that receives the bag buffer 122 of main storage 120 from interface 140.Specifically, interface 140 is stored the routine data that receives with the reception formation of certain form.Best, the routine data that receives is the form of transmission package.
Interface 140 interrupt handler 160 periodically when receiving data.Interface 140 can be at interrupt handler when receiving any amount of data 160, perhaps can be after receiving the data of some interrupt handler 160.As adapter 100, be that interface 140 designs receive PID processor subroutine pointer table 402 specially.Be similar in many aspects by the pointer subprogram pointed in the reception PID processor subroutine pointer table relevant by these pointers subprogram pointed with receiving adapter 110.Yet these subprograms are different at least in the following areas.At first, asynchronous interface 140 needn't distribute the descriptor with form shown in Figure 2, nor must receive routine data with the form of transmission package.For example, routine data can be PES bag data or PS bag data.In this case, example ground, the subprogram that the PID of 160 pairs of transmission package that kept of processor carries out comprises the processing that is used for routine data is inserted transmission package.In addition, a reception descriptor that is assigned to the formation of this adapter 140 can be set and distribute to the transmission package that each receives.Processor 160 is stored in the pointer of the memory cell of pointing to the respective transmissions bag among the pointer field 129-4 of each descriptor that distributes.Example ground, initial, it is blank making actual reception time field 129-5.
In addition, each transmission package that comprises PCR also comprises following processing.When receiving the transmission package of the PCR that has any program for the first time, processor 160 obtains a time mark from the reference clock generator 113 (or by genlocing any other reference clock generator 113 in the reference clock generator 113 of adapter 110) of any adapter 110.As described below, reference clock 113 is by genlocing.The time mark that obtains is assigned to the time of reception of the transmission package of first PCR that has a program that once received as this transmission package.Note, before this first transmission package that has PCR that receives, may receive the transmission package that other treats division multiplexing again.Can add the known internal buffer delay at division multiplexing device node 100 places again on this time of reception mark to, be assigned to the transmission package e.t.d of (comprising the PCR that first of a specific program once received) with generation.
Behind the second subsequent transmission bag that receives the PCR that has a specific program, processor 160 can estimate to have the transmission package speed between the PCR of this program that asynchronous interface 140 receives.This is following realization.Processor 160 forms two of these programs PCR poor in succession.Then, processor this difference divided by comprising the transmission package of a PCR in the same program and comprising transmission package number between the transmission package of the 2nd PCR of this program.This has produced the transmission package speed of this program.Processor 160 by the transmission package speed of this program be multiply by each such transmission package and comprise a PCR transmission package skew or depart to come the time departure of each transmission package of program between these PCR of estimation routine.This skew is to determine by the transmission package queue position that deducts the transmission package that has a PCR from the transmission package queue position of calculating e.t.d.(notice that the queue position of a transmission package is with respect to all transmission package that receive of all streams that receive.) then, processor 160 is added to the e.t.d that is assigned to the transmission package that comprises a PCR in the amassing of generation like this.Example ground, processor 160 deposit the e.t.d of each such transmission package in the field 129-10 of the descriptor that points to them.
After an e.t.d mark was assigned to the transmission package of a program, processor 160 is discardable did not want the transmission package (according to user's regulation) exported in TS.Then, each of each program of carrying among the TS is repeated above process continuously to PCR in succession.Then, during processor 160 is carried out transmission PID processor subprogram, can be sent to suitable transmit queue to the data of descriptor with e.t.d.Note, may before receiving a PCR of this program, receive some initial transmission package of this program.For these transmission package, only transmission package speed be estimated as transmission package speed between first and second PCR of this program (even these bags not first and the transmission package of PCR between).Then, determine e.t.d as mentioned above.
As from receiving PCR,, proofread and correct each program clock and be used for assigning skew between the local reference clock 113 of estimating time of reception mark and output transmission package the PCR that receives via asynchronous interface 140 such as synchronous interface such as adapter 110 grades.Different with the transmission package that receives from adapter 110, the transmission package that receives from interface 140 does not have the actual reception time mark that writes down for them.Like this, there is not the reference clock that therefrom to measure relevant each transmission package of skew exactly.Replace, processor 160 uses transmit queue measurement of length or the current delay wherein in the division multiplexing device node 100 to estimate skew again.Ideally, transmit queue length should be not from division multiplexing device node 100 again predetermined known delay and change.Any change of transmit queue length all is the indication of the reference clock generator 113 of adapter 110 with respect to the skew of the program clock of this program.Like this, processor 160 is regulated the measurement of skew up or down according to the difference of current transmit queue length and desired desirable transmit queue length.For example, when sending descriptor to one and distribute to a transmission package, processor 160 is measured current transmit queue length and deducting in its desirable transmit queue length from division multiplexing device node 100 again.This difference is offset exactly.Use the skew of so calculating to regulate PCR and carry the e.t.d of the transmission package of these PCR.That is, deduct the skew of calculating like this from the PCR of the transmission package that receives via asynchronous interface, this interface places corresponding to the time slot after the time slot of the e.t.d of this transmission package.Equally, can actually from the e.t.d of the transmission package that has PCR, deduct this skew before sending the time with charge free assigning.Notice that the skew of this estimation only is used for the transmission package that receives from asynchronous interface 140, and is not used in other transmission package that receives via such as synchronous interface such as adapter 110 grades.
Consider the problem of competition now.When the transmission package that receives as two (or more) emulatively will be assigned to the same transmission package time slot (sending the time with charge free with actual) of the TS of division multiplexing again of output, a transmission package is assigned to this time slot, and another transmission package is assigned to next time slot.If another transmission package comprises PCR, then the timeslot number that departs from its desirable time slot with this PCR is regulated this PCR, is assigned to afterwards time slot with reflection.
Auxiliary output regularly
As mentioned above, interface 140 does not receive transmission package at any special time.Equally, interface 140 does not send transmission package at any special time.Yet,, but want to reduce as much as possible the variation that end-end postpones even interface 140 and continuous communication link do not provide constant end-end to postpone.Division multiplexing device node 100 provides minimum mode is reduced in this variation again.
According to an embodiment, 160 pairs of processors will distribute a transmission descriptor of the transmit queue that is assigned to interface 140 via each transmission package of interface 140 outputs.This can use one group of suitable in the transmit queue of the output port that is assigned to interface 140 transmission PID processor subprogram.In addition, processor 160 assigns one to be used to manage the adapter 110 of the data output of interface 140 from then on.Though, give interface 140 transmit queue " appointment " technically, in fact, obtain control to the descriptor of the descriptor queue that is assigned to interface 140 by being assigned to be used for managing from the dma control circuit 116 of the adapter 110 of the output of interface 140.Data link control circuit 112 these descriptors of visit, as described below, these descriptors can be kept in the cache memory 114.Thereby in fact, the interruption that is produced by the data link control circuit 112 of checking this formation triggers this group transmission PID processor subprogram that is assigned to this formation and is carried out by processor 160.
As mentioned above, in response to this interruption, processor 160 is checked descriptor to be scheduled, promptly in connecting formation, from treat from these of the output port output of interface 140 connect select formations one or more descriptors and send descriptor distribute to the output port that is positioned at relevant interface 140 the transmit queue afterbody the connection formation choose descriptor.Different with the aforesaid transmission package of output, processor 160 also can be collected the relevant transmission package of choosing descriptor that connects formation, and in fact their tissues is become the buffer (if these buffers are interface 140 necessary words) that is similar to formation.
As mentioned above, dma control circuit 116 obtains to be docked at the control of the sequence of the one or more descriptors behind last descriptor that dma control circuit 116 obtains control, and this sequence is relevant with the output port of interface 140.(notice that the transmission package of whether retrieving corresponding to these descriptors all has nothing to do.Because the output of the transmission package at data link control circuit 112 control interfaces 140 places is not so export transmission package from the output interface of linking this data link interface 112.Perhaps, data link control circuit 112 can be operated fully as mentioned above, thereby produces mirror image (mirror) copy of output TS.In the case, also must provide second copy of each transmission package that can be visited by adapter 110).As mentioned above, each descriptor in the data link control circuit 112 retrieval cache memories 114, and send the time with charge free and determine will when send corresponding transmission package with respect to the 113 indicated times of reference clock generator according to being recorded in indication among the field 129-5.Roughly when the time of reference clock generator 113 equaled this and sends the time with charge free, 112 pairs of processors of data link control circuit 160 produced one and interrupt, and should send transmission package to indicate now.This can be the identical interruption that is produced when sending k 〉=1 transmission package with data link control circuit 112.Yet this produces when interrupting preferably every k=1 transmission package.Response with it, processor 160 is checked the suitable pointer gauge that sends PID processor subprogram, and carries out correct transmission PID processor subprogram.When carrying out this transmission PID processor subprogram, processor 160 sends and makes interface 140 send the order or the interruption of a transmission package.This makes that the output port from interface 140 sent just next transmission package when the time of sending with charge free that roughly writes mated in the current time of reference clock generator 113 and the descriptor corresponding to transmission package.Notice that some bus and interrupt latency will occur in time link control circuit 112 and send between interruption and the interface 140 output transmission package.In addition, some stand-by period may occur in (because it becomes busy because of conflict waits) on the communication link that links to each other with interface 140.Cautiously select time of sending with charge free of transmission package by processor 160, can adapt to the stand-by period of par to a certain extent.In any case the output of transmission package can quite approach orthochronous, even if this degree of closeness is less than using adapter 110 or interface 150 attainable degree.In addition, processor 160 also is sent to one or more descriptors the transmit queue of the output port that is assigned to interface 140 as mentioned above.
Reference clock locking between adapter
Utilize the particular problem of any synchro system of a plurality of clock generators to be that time of each generator or counting and other clock generator are incomplete same.What is more, and the counting of each clock generator may depart from the result of manufacturing tolerance, temperature, variable power etc. (for example, because of).This worry also exists in environment 10.Each again division multiplexing device node 100, data injector (injector) 50, data extractor 60, controller 20 etc. all can have a reference clock generator, such as the reference clock generator 113 of adapter 110 in the division multiplexing device node 100 again.Each node 50,60 at least in the same TS signal flow path of hope locking or 100 reference clock generator, thus they have the identical time.
In broadcast environment, all devices that makes generation, editor or router information is useful synchronously.In analog broadcasting, this can use black burst (black burst) generator or SMPTE time code generator.This real-time video is presented can seamless combination, and reduced the relevant noise that is coupled that asynchronous video is presented.
In division multiplexing device node 100 again, even more important to synchronous demand.This is because dispatch leaving of the transmission package that receives according to a reference clock, and in fact retrieves sending with charge free of the transmission package that receives according to second reference clock.Suppose that the more caused any stand-by period of transmission package in the division multiplexing device node 100 is all identical.Yet, this hypothesis only when estimating only to have insignificant skew between reference clock that bag leaves institute's foundation and the actual reference clock of sending transmission package institute foundation with charge free just effectively.
According to an embodiment, provide multiple locking promptly allow the synchronous technology of reference clock generator 113.In each technology, with respect to " master " reference clock generator periodically regulate each " from " time of reference clock generator.
According to first kind of technology, a reference clock generator 113 of an adapter 110 is appointed as the Primary reference clock generator.Other reference clock generator 113 of each of each other adapter 110 is appointed as from reference clock generator.Processor 160 periodically obtains the current system time of each reference clock generator 113 (comprise the Primary reference clock generator and from reference clock generator).Example ground, this is to use in special time " dormancy " (that is free time) in the cycle, wakes up and the process that makes processor 160 obtain the current time of each reference clock generator 113 realizes.Processor 160 is compared each from the current time of reference clock generator 113 with the current time of Primary reference clock generator 113.According to these relatively, processor 160 is regulated each from reference clock generator 113, so that they are synchronous with respect to Primary reference clock generator 113.This adjusting can be simply by on the system time that reference clock generator 113 is reloaded, the time value of regulating is added to reference clock generator 113 or (filtration) quicken or slow down that the pulse of voltage-controlled oscillator (it offers clock pulse in the counter of reference clock generator 113) realizes.Last a kind of form class of regulating is similar to the phase-locked loop feedback regulation described in the MPEG-2 system regulation.
Consider now the Primary reference clock generator with from reference clock generator not same node but situation about linking to each other by a communication link.For example, the Primary reference clock generator can be arranged in the first division multiplexing device node 100 again, can be arranged in the second division multiplexing device 100 again from reference clock generator, wherein first and second again division multiplexing device node link to each other at first and second communication links that extend between each adapter 110 of division multiplexing device node 100 again by one.Periodically, in response to the timer process, processor 160 sends the order of the current time that obtains Primary reference clock generator 113.Adapter 100 responds by this current time is offered processor 160.Then, processor 160 through communication link thus this current time send to each other from reference clock.Then, for example regulate from reference clock as mentioned above.
It should be noted that and to be used as the Primary reference clock generator to any time source or time server.Sent to each other node that comprises from reference clock the time of this Primary reference clock generator via dedicated communication link with constant end-end delay.
If two or more nodes 20,40,50,60 or 100 of division multiplexing device 30 separate very big distance geographically again and again, then making the reference clock generator of each node and the reference clock generator of any other node is impossible synchronously.This is because any signal that sends on a communication link may experience some limited propagation delay.This delay causes the stand-by period in transmission package especially has the transmission of transmission package of mark lock in time.Replace, use one with the equidistant reference clock of each node source of division multiplexing device 30 again be possible.As everyone knows, U.S. government keeps ground and satellite reference clock generator.These sources transmitting time reliably on known carrier signal.Wait each node can be provided with such as gps receiver 180 receivers such as grade such as division multiplexing device node 100 again, this receiver can receive the reference clock of broadcasting.The processor 160 (or other circuit) at each node 20,40,50,60 or 100 places periodically obtains reference clock from receiver 180.Processor 160 can be sent to adapter 110 to the time that obtains, in the reference clock generator 113 of packing into.Yet best, processor 160 sends the order of the current time that obtains reference clock generator 113 to adapter 110.Then, processor 160 sends the order according to the voltage-controlled oscillator of different adjusting the between the current time of the time that obtains from receiver 180 and reference clock generator 113 (for example, quicken or slow down) reference clock generator 113.
Networking is division multiplexing again
Provide aforesaid operation, can on a network, distribute again the various functions of division multiplexing.For example, can make a plurality of device of division multiplexing again node 100 interconnection by various communication links, adapter 110 and interface 140 and 150.Can by controller 20 (Fig. 1) control these again each in the division multiplexing device node 100 to play the effect of the single device of division multiplexing again 30 jointly.
For convenience or for the purpose of the flexibility, may want this network distribution type division multiplexing device 30 again.For example, can link a plurality of file servers or memory device 40 (Fig. 1) to division multiplexing device node 100 again and again.Can second again division multiplexing device node 100 link a plurality of other input sources, such as video camera or demodulator/receiver.Can be each other the device of division multiplexing again node 100 link one or more transmitter/modulators or register.Perhaps, can so connect again division multiplexing device node 100 with provide redundancy feature then division multiplexing device node again and again 100 lost efficacy or situation that it is on purpose taken out from service under fault-tolerant.
Consider first network shown in Figure 3 again division multiplexing device 30 '.In the case, via such as asynchronous networks such as 100BASE-TX Ethernet a plurality of device of division multiplexing again nodes 100 ', be connected with each other 100 ", 100 ' ".Preceding two again division multiplexing device node 100 ', 100 " in each output TS (TS18 or TS19) that receives four TS (TS10-TS13 or TS14-TS17) and produce single division multiplexing again.The 3rd division multiplexing device node 100 ' " receive TS (TS18 and TS19) and produce and export division multiplexing TS (TS20) more again.In example shown in Figure 3, division multiplexing device node 100 ' " receive the TS (TS10-TS13) that sends in real time from demodulator/receiver via its adapter 100 (Fig. 2) again.On the other hand, division multiplexing device 100 " receives the TS (TS14-TS17) of storage in advance via sync cap 150 (Fig. 2) from a memory device again.Again division multiplexing device node 100 ' and 100 " in each via to division multiplexing device node 100 again ' " asynchronous (100BASE-TX Ethernet) interface 140 (Fig. 2) asynchronous (100BASE-TX Ethernet) interface 140 (Fig. 2) its output separately again division multiplexing TS be TS18 or TS19 send to again division multiplexing device node 100 ' ".Advantageously, again division multiplexing device node 100 ' and 100 " in each use above-mentioned auxiliary output timing technology, the variation of the caused end of this communication-end delay is reduced at least.Under any circumstance, division multiplexing device node 100 ' " use the above-mentioned technology that timing data is not retimed to estimate the bit rate of each program among TS18 and the TS19 and TS18 and TS19 are gone shake (dejitter) again.
Randomly, system 30 ' at least one communication link on also can comprise the burst device 200.For example, as in LAN, can carry out general data with other terminal common share communication medium and handle.Yet, also for data are injected TS (for example, TS20) in and/or therefrom extract data and burst device 200 be set.For example, burst device 200 can provide the server, Web server, Web terminal etc. of access to the Internet.
Certainly, this only is a network distribution type example of division multiplexing device again.Other configuration also is possible.For example, the communication protocol that is connected with the network of these nodes can be TAM, DS3 etc.
Should note network distribution type again division multiplexing device 30 ' two important properties.The first, shown in particular network in, any input port can receive from any output port such as data such as bursty data or TS data.Promptly, division multiplexing device node 100 ' can receive is from the data of division multiplexing device node 100 again " or 100 ' " or burst device 200 again, the data of division multiplexing device node 100 " can receive from division multiplexing device node 100 again ' or 100 ' " or burst device 200 again, again division multiplexing device node 100 ' " can receive from division multiplexing device 100 again ' or 100 " or burst device 200 in any data, burst device 200 can receive from division multiplexing device node 100 again ', any data in 100 " or 100 ' ".The second, the device of the division multiplexing again node of carrying out data extract and abandoning, promptly again division multiplexing device node 100 ' " can on same communication link, receive from a more than source promptly again division multiplexing device 100 ' or 100 " or the data of the device 200 that happens suddenly.
Because these two character, so the network topology structure that " the signal flow pattern " of the transmission package of the destination node in from source node to division multiplexing device again is connected with node has nothing to do.In other words, network distribution type again division multiplexing 30 ' in the node that transmission package traveled through and communication link path and node irrelevant by the accurate physical connection of communication link.Thereby, can use very common network topology structure--can be basically arbitrarily topological structure (bus, ring, chain, tree, star etc.) connect division multiplexing device node 100 again, and these again division multiplexing device node still can carry out division multiplexing again to TS, with node-node signal flow pattern of realizing actual any kind.For example, node 100 ', be connected with bus topolopy with 200 for 100 ", 100 ' ".Any of signal flow pattern that is used for the data that sent below also can realizing: from node 100 ' ", arrive then node 100 ' " to node 100; From node 100 ' and 100 ' " each arrive node 200 abreast; From node 200 and 100 ' arrive abreast node 100 ", then from node 100 " to node 100 ' " etc.In the transmission of this type, may need interlock signal flow between the different set of communication nodes of time division multiplexing.For example, in signal flow shown in Figure 3, time division multiplexing TS18 and TS19 on the communication medium of sharing.
More than discuss and be intended to that the present invention will be described.Those skilled in the art can design a large amount of alternate embodiments, and do not deviate from the spirit and scope of following claims.

Claims (10)

1. one kind is used at least one transport stream of transmission package is carried out dynamically the method for division multiplexing again, each transmission package has identical length, each transmission package has the pay(useful) load that only is used for a specific stream and carries information or system information, said method comprising the steps of:
(a) from the transport stream that at least one receives, extract the transmission package of choosing,
(b) produce new transmission package, described new transmission package comprises the new system information that described at least one transport stream that receives is not carried,
(c) in the transmission package of described extraction at least one is made into an output transport stream with the described new transmission packing that comprises system information, and exports described output transport stream, described assembling is according to first regulation of the stream that will carry in described output transport stream,
(d) receive to carry out the request of second regulation, described second regulation is different from first regulation of described output transport stream, and described second regulation indication is with respect to first variation that is defined in stream entrained in the described output transport stream,
(e) determine whether second regulation is suitable for producing effective output transport stream,
(f) be suitable for producing effective output transport stream if determine second regulation, then:
(1) optionally change the specific transmission package of being extracted according to second regulation,
(2) generation that optionally changes new transmission package is stipulated to carry out second, and
(3) from the assembling of stipulating that is assembled to of foundation first regulation according to second, optionally change the assembling of the together new transmission package of being extracted of transmission package,
Thereby guarantee when changing to from extraction, generation and assembling, seamlessly to keep the continuity of output transport stream, and guarantee the time other entrained stream during system information entrained in the output transport stream is effectively with reference to output transport stream according to the extraction of first or second regulation, generation and assembling according to the extraction, generation of second regulation and assembling according to first regulation.
2. the method for claim 1, it is characterized in that carrying out described generation and assembling, thereby according to first regulation extract according to first regulation have the transmission package that flow metamessage and be assembled into output transport stream the time, do not indicate the current stream metamessage of stipulating according to second that carries of described output transport stream according to second regulation new system information that produce and that be assembled into output transport stream.
3. the method for claim 1 is characterized in that also comprising, when the required bit rate of the output transport stream of assembling surpasses the maximum bitrate of output transport stream if determine to send foundation second regulation, determines to be suitable for second step of stipulating.
4. the method for claim 1 is characterized in that also comprising:
(g) determine to treat at least a portion of the new system information that produces according to second regulation among one or more from the transmission package of being extracted in the entrained system information.
5. method as claimed in claim 4, it is characterized in that extracting the transmission package of at least one the program definition that carries program map table, new system information comprises at least one program definition, and described program definition comprises the new procedures definition that obtains from described at least one program definition.
6. one kind is used at least one transport stream of transmission package is carried out dynamically the device of division multiplexing again of division multiplexing again, each transmission package has identical length, each transmission package has the pay(useful) load that only is used for a specific stream and carries information or system information, and the described device of division multiplexing again comprises:
(a) at least one adapter, described adapter can extract the transmission package of choosing from the transport stream that at least one receives,
(b) processor, described processor can produce new transmission package, and described new transmission package comprises the new system information that described at least one transport stream that receives is not carried,
Described at least one adapter can also be made into an output transport stream in the transmission package of described extraction at least one with the described new transmission packing that comprises system information, and export described output transport stream, described assembling is according to first regulation of the stream that will carry in described output transport stream
(c) controller, described controller can receive the request of carrying out second regulation, described second regulation is different from first regulation of described output transport stream, the indication of described second regulation is with respect to first variation that is defined in stream entrained in the described output transport stream, described controller can also determine whether second regulation is suitable for producing effective output transport stream
Be suitable for producing effective output transport stream if wherein determine second regulation, then: (1) according to second regulation, described at least one adapter can also optionally change the generation that the described processor of specific transmission package (2) that is extracted can also optionally change new transmission package and carry out second regulation; And (3) described at least one adapter can also be from the assembling of stipulating according to second that is assembled to according to first regulation, optionally change the assembling of the together new transmission package of being extracted of transmission package, thereby guarantee when changing to from extraction, generation and assembling, seamlessly to keep the continuity of output transport stream, and guarantee the time other entrained stream during system information entrained in the output transport stream is effectively with reference to output transport stream according to the extraction of first or second regulation, generation and assembling according to the extraction, generation of second regulation and assembling according to first regulation.
7. the device of division multiplexing more as claimed in claim 6, it is characterized in that carrying out described generation and assembling, thereby according to first regulation extract according to first regulation have the transmission package that flow metamessage and be assembled into output transport stream the time, do not indicate the current stream metamessage of stipulating according to second that carries of described output transport stream according to second regulation new system information that produce and that be assembled into output transport stream.
8. the device of division multiplexing more as claimed in claim 6, it is characterized in that described controller can also determine to be suitable for second regulation when determine sending according to second regulation that the required bit rate of the output transport stream of assembling surpasses the maximum bitrate of output transport stream.
9. the device of division multiplexing more as claimed in claim 6, it is characterized in that described processor can also be from the transmission package of being extracted one or more in determine to treat at least a portion of the new system information that produces according to second regulation in the entrained system information.
10. the device of division multiplexing more as claimed in claim 9, it is characterized in that described at least one adapter can also extract the transmission package of at least one the program definition that carries program map table, described new system information comprises at least one program definition, and described program definition comprises the new procedures definition that obtains from described at least one program definition.
CNB998039942A 1998-01-14 1999-01-07 Video profram bearing transport stream remultiplexer Expired - Lifetime CN100380853C (en)

Applications Claiming Priority (20)

Application Number Priority Date Filing Date Title
US720498A 1998-01-14 1998-01-14
US733498A 1998-01-14 1998-01-14
US09/007,211 US6351471B1 (en) 1998-01-14 1998-01-14 Brandwidth optimization of video program bearing transport streams
US09/006,963 US6246701B1 (en) 1998-01-14 1998-01-14 Reference time clock locking in a remultiplexer for video program bearing transport streams
US09/006,963 1998-01-14
US09/006,964 1998-01-14
US09/007,334 1998-01-14
US09/007,212 1998-01-14
US09/007,199 1998-01-14
US09/007,212 US6292490B1 (en) 1998-01-14 1998-01-14 Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US09/006,964 US6111896A (en) 1998-01-14 1998-01-14 Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment
US09/007,198 1998-01-14
US09/007,198 US6064676A (en) 1998-01-14 1998-01-14 Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors
US09/007,210 1998-01-14
US09/007,199 US6148082A (en) 1998-01-14 1998-01-14 Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
US09/007,210 US6351474B1 (en) 1998-01-14 1998-01-14 Network distributed remultiplexer for video program bearing transport streams
US09/007,203 US6195368B1 (en) 1998-01-14 1998-01-14 Re-timing of video program bearing streams transmitted by an asynchronous communication link
US09/007,204 1998-01-14
US09/007,211 1998-01-14
US09/007,203 1998-01-14

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN200810005830.8A Division CN101287111B (en) 1998-01-14 1999-01-07 Video program bearing transport stream remultiplexer
CN200810005858.1A Division CN101299813B (en) 1998-01-14 1999-01-07 Video program bearing transport stream remultiplexer

Publications (2)

Publication Number Publication Date
CN1293845A CN1293845A (en) 2001-05-02
CN100380853C true CN100380853C (en) 2008-04-09

Family

ID=27580623

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998039942A Expired - Lifetime CN100380853C (en) 1998-01-14 1999-01-07 Video profram bearing transport stream remultiplexer

Country Status (11)

Country Link
EP (1) EP1046253A4 (en)
JP (1) JP2002510162A (en)
KR (1) KR20010034133A (en)
CN (1) CN100380853C (en)
AU (1) AU761704B2 (en)
BR (1) BR9906963A (en)
CA (1) CA2318415C (en)
HK (1) HK1036172A1 (en)
IL (1) IL137277A (en)
NO (2) NO20003599L (en)
WO (1) WO1999037048A1 (en)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948186B1 (en) * 1999-10-07 2005-09-20 General Instrument Corporation Multi-tasking message extractor
US6771657B1 (en) 1999-12-09 2004-08-03 General Instrument Corporation Non real-time delivery of MPEG-2 programs via an MPEG-2 transport stream
DE19960295B4 (en) * 1999-12-14 2012-06-21 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for changing the information content of a digital video transport stream in selected regions
EP1258144A1 (en) * 1999-12-14 2002-11-20 General Instrument Corporation Dynamic configuration of input filtering parameters for an mpeg re-multiplexer
JP2001211195A (en) * 2000-01-25 2001-08-03 Fujitsu Ltd Data communication system
US7489685B2 (en) * 2000-02-21 2009-02-10 Panasonic Corporation Digital broadcast receiving apparatus
US6801536B1 (en) * 2000-03-23 2004-10-05 International Business Machines Corporation Remultiplexing audio/video PES streams from an MPEG transport system
AU2001273897A1 (en) * 2000-03-23 2001-10-03 Thomson Multimedia A system and a process for reconstructing programs from an input transport stream and a corresponding digital receiver
JP2003529296A (en) * 2000-03-27 2003-09-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method of inserting data of a second format into an input stream of a first format
EP1139665A1 (en) * 2000-03-29 2001-10-04 Deutsche Thomson-Brandt Gmbh Method and apparatus for changing the output delay of audio or video data encoding
EP1139666B1 (en) * 2000-03-29 2010-06-02 Thomson Licensing Method and apparatus for changing the output delay of audio or video data encoding
EP1150445A3 (en) 2000-04-24 2008-06-04 Sony Corporation Method and device for transmitting media data comprising time stamp information, method and terminal device for receiving this data, method and device for receiving digital broadcasts and method and device for calculating the transmission time of the media data, based on the time stamp information
WO2001097526A1 (en) * 2000-06-12 2001-12-20 General Instrument Corporation Apparatus and method for resolution of conflicts in protocol data of multiple data streams
FR2812500A1 (en) * 2000-07-31 2002-02-01 Koninkl Philips Electronics Nv PROCESSING OF A DATA SET
FI111590B (en) * 2001-04-20 2003-08-15 Swelcom Oy Method and apparatus for locating data
JP4788081B2 (en) * 2001-08-07 2011-10-05 パナソニック株式会社 Packet data output device
US7215679B2 (en) * 2001-08-30 2007-05-08 Thomson Licensing Method, apparatus and data structure enabling multiple channel data stream transmission
US7050505B2 (en) * 2001-09-13 2006-05-23 General Instrument Corporation Aliasing and routing of plural MPEG data streams
US7343487B2 (en) 2001-10-10 2008-03-11 Nokia Corporation Datacast distribution system
US20030156108A1 (en) * 2002-02-20 2003-08-21 Anthony Vetro Consistent digital item adaptation
ES2269603T3 (en) * 2002-12-04 2007-04-01 Irdeto Access B.V. TERMINAL, SYSTEM OF DISTRIBUTION OF DATA THAT INCLUDES SUCH TERMINAL AND METHOD OF RETRANSMISSION OF DIGITAL DATA.
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
JP3856135B2 (en) * 2003-03-31 2006-12-13 日本電気株式会社 Stream converting / sending device
KR100539886B1 (en) 2004-09-10 2005-12-28 삼성전자주식회사 Digital broadcasting reception apparatus and method therefor
KR100665102B1 (en) * 2004-12-03 2007-01-04 한국전자통신연구원 Method for controlling video encoding bit rate considering transport packet length, and video coding Apparatus using it
US20060133513A1 (en) * 2004-12-22 2006-06-22 Kounnas Michael K Method for processing multimedia streams
PL1703733T3 (en) 2005-03-16 2011-11-30 Advanced Digital Broadcast Sa System for processing of television data streams and method for processing of television data streams
JP4123283B2 (en) * 2006-04-03 2008-07-23 株式会社日立製作所 Recording medium recording device
JP5352545B2 (en) * 2010-08-10 2013-11-27 株式会社日立国際電気 Digital broadcast transmission device
JP5120479B2 (en) * 2011-04-28 2013-01-16 三菱電機株式会社 Data signal recording apparatus and data signal reproducing apparatus
US20140366071A1 (en) * 2011-09-27 2014-12-11 Thomson Licensing Method and apparatus for qam modulator channel duplication
KR102174267B1 (en) * 2013-12-24 2020-11-04 주식회사 케이티 Apparatus and method for transforming video packet
KR101565438B1 (en) 2014-11-25 2015-11-03 주식회사 사이버이메지네이션 Method for renewing real time data onscreen of browser, apparaus and system using the same
CN115497273B (en) * 2022-04-22 2024-01-09 北京临近空间飞行器系统工程研究所 Binding description method and wireless instruction control method based on binding parameter linked list

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US5517250A (en) * 1995-02-28 1996-05-14 General Instrument Corporation Of Delaware Acquisition of desired data from a packetized data stream and synchronization thereto
US5535209A (en) * 1995-04-10 1996-07-09 Digital Equipment Corporation Method and apparatus for transporting timed program data using single transport schedule
CN1138801A (en) * 1995-04-10 1996-12-25 计数设备公司 Method and apparatus for conditioning and transporting timed program data, independent of transport timing
US5640388A (en) * 1995-12-21 1997-06-17 Scientific-Atlanta, Inc. Method and apparatus for removing jitter and correcting timestamps in a packet stream
US5652627A (en) * 1994-09-27 1997-07-29 Lucent Technologies Inc. System and method for reducing jitter in a packet-based transmission network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0732031B1 (en) * 1993-12-02 2000-11-15 Discovery Communications, Inc. Network manager for cable television system headends
US5566208A (en) * 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5650825A (en) * 1995-03-31 1997-07-22 Matsushita Electric Corporation Of America Method and apparatus for sending private data instead of stuffing bits in an MPEG bit stream
US5561791A (en) * 1995-04-10 1996-10-01 Digital Equipment Corporation Method and apparatus for conditioning timed program independent of transport timing
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
US5691986A (en) * 1995-06-07 1997-11-25 Hitachi America, Ltd. Methods and apparatus for the editing and insertion of data into an encoded bitstream
US5790543A (en) * 1995-09-25 1998-08-04 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
JPH09139937A (en) * 1995-11-14 1997-05-27 Fujitsu Ltd Moving image stream converter
US5966120A (en) * 1995-11-21 1999-10-12 Imedia Corporation Method and apparatus for combining and distributing data with pre-formatted real-time video
US5754783A (en) * 1996-02-01 1998-05-19 Digital Equipment Corporation Apparatus and method for interleaving timed program data with secondary data
US6219100B1 (en) * 1996-05-30 2001-04-17 U.S. Philips Corporation Communication method between stations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US5652627A (en) * 1994-09-27 1997-07-29 Lucent Technologies Inc. System and method for reducing jitter in a packet-based transmission network
US5517250A (en) * 1995-02-28 1996-05-14 General Instrument Corporation Of Delaware Acquisition of desired data from a packetized data stream and synchronization thereto
US5535209A (en) * 1995-04-10 1996-07-09 Digital Equipment Corporation Method and apparatus for transporting timed program data using single transport schedule
CN1138801A (en) * 1995-04-10 1996-12-25 计数设备公司 Method and apparatus for conditioning and transporting timed program data, independent of transport timing
US5640388A (en) * 1995-12-21 1997-06-17 Scientific-Atlanta, Inc. Method and apparatus for removing jitter and correcting timestamps in a packet stream

Also Published As

Publication number Publication date
EP1046253A4 (en) 2005-05-11
AU761704B2 (en) 2003-06-05
EP1046253A1 (en) 2000-10-25
AU2030499A (en) 1999-08-02
HK1036172A1 (en) 2001-12-21
NO20003599D0 (en) 2000-07-13
NO20084376L (en) 2000-09-13
IL137277A0 (en) 2001-07-24
JP2002510162A (en) 2002-04-02
WO1999037048A1 (en) 1999-07-22
KR20010034133A (en) 2001-04-25
CA2318415A1 (en) 1999-07-22
NO20003599L (en) 2000-09-13
CN1293845A (en) 2001-05-02
IL137277A (en) 2006-10-05
BR9906963A (en) 2001-10-30
CA2318415C (en) 2009-12-15

Similar Documents

Publication Publication Date Title
CN101299813B (en) Video program bearing transport stream remultiplexer
CN100380853C (en) Video profram bearing transport stream remultiplexer
US6195368B1 (en) Re-timing of video program bearing streams transmitted by an asynchronous communication link
US6148082A (en) Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
US6111896A (en) Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment
US6744785B2 (en) Network distributed remultiplexer for video program bearing transport streams
US6351471B1 (en) Brandwidth optimization of video program bearing transport streams
US6292490B1 (en) Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6246701B1 (en) Reference time clock locking in a remultiplexer for video program bearing transport streams
US7590237B2 (en) Time-multiplexed multi-program encryption system
US5862450A (en) Method and apparatus for delivering simultaneous constant bit rate compressed video streams at arbitrary bit rates with constrained drift and jitter
US7035278B2 (en) Method and apparatus for forming and utilizing a slotted MPEG transport stream
EP1014620A1 (en) Data transmission control method, data transmission method, data transmitter, and receiver
US6434146B1 (en) Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
CN105594219A (en) Apparatus and method for transmitting/receiving processes of a broadcast signal
KR20050109517A (en) System and method for providing multiplexing and remultiplexing of mpeg-2 streams
AU1588895A (en) Method and device for transmitting data packets
Lee et al. Implementation of MPEG-2 TS remultiplexer and data transport unit for HDTV satellite broadcasting
MXPA00006842A (en) Video program bearing transport stream remultiplexer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1036172

Country of ref document: HK

CX01 Expiry of patent term

Granted publication date: 20080409

CX01 Expiry of patent term