text:
|Publication number
|Publication type
|Application number
|Publication date
|Jul 16, 2002
|Filing date
|Oct 5, 2000
|Priority date
|Oct 8, 1996
|Fee status
|Also published as
|Publication number
|Christopher J. Bennett, Maximilien d'Oreye de Lantremange
|Original Assignee
|Tiernan Communications, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (12), Non-Patent Citations (11), Referenced by (71), Classifications (17), Legal Events (5)
|External Links: USPTO, USPTO Assignment, Espacenet
This application is a Divisional application of U.S. application Ser. No. 08/944,902 filed Oct. 6, 1997 which claims priority to U.S. Provisional Application Nos. 60/028,010, filed Oct. 8, 1996 and 60/031,168, filed Nov. 19, 1996 each of which is incorporated herein by reference in its entirety.
The International Organization for Standardization (ISO) has adopted a standard (ISO/IEC 13818-1) that addresses the combining of one or more "elementary streams" of video and audio, as well as other data, into single or multiple streams suitable for storage or transmission. The ISO/IEC 13818-1 standard, hereinafter referred to as the "MPEG-2 Systems" standard, is described in detail in the ISO draft document "Generic Coding of Moving Pictures and Associated Audio", ISO/IEC JTC1/SC29/WG11 N0801 ( Nov. 13, 1994), which is incorporated herein in its entirety by reference.
The MPEG-2 Systems standard defines an individual coded video, audio or other coded bitstream as an "elementary stream". The contents of an elementary stream may be broken into a sequence of discrete units, in which case the elementary stream is structured as a Packetized Elementary Stream (PES). The individual units, or packets, are known as PES packets, which can be of large and variable size. The MPEG-2 Systems standard defines generic structures for PES packet formats and specifies particular rules for creating PESs from digital video and audio elementary streams. Allowance is made for creating PESs for private data formats, i.e., data formats not defined by the MPEG-2 Systems standard.
The MPEG-2 Systems standard defines two methods of creating a multiplex of PESs. In a Program Stream (PS), all components in the multiplex are assumed to belong to a single "Program", that is, a collection of elementary streams which may sensibly be presented as a unity to a user, all components being referenced to a common time base, together with certain coordinating control information. PES packets from component PESs are multiplexed by PES packet. The PS is rigidly structured so that at most one PES of a specified format may carry a private data elementary stream.
In a Transport Stream (TS), the components of the multiplex may belong to many programs. Each PES is assigned a "packet identifier" (PID). A sequence of packets identified by the same value of the PID field represents a single service component, typically a video or an audio component, or a user data component. The PES packets are broken into small, fixed-size units called transport packets, which may be multiplexed with transport packets from other PESs. The Transport Stream is transmitted at a constant rate, the transport rate, which is sufficient to accommodate the bandwidth requirements of all components carried within the Transport Stream. Since the transport rate may, either momentarily or in aggregate, exceed the bandwidth requirements of the constituent component, the MPEG-2 Systems standard has reserved PID 0×1FFF as the "null PID". Packets in this PID are "null packets" and do not carry any component. An MPEG decoder may discard them with impunity.
Coordination and control of the PESs and the Programs in the TS is managed via control data called Program Specific Information (PSI). PSI is structured as a set of tables according to a section format which differs from and is incompatible with the PES packet. The defined tables include the following:
A Program Association Table (PAT) is carried in PID 0, which is reserved exclusively for this purpose. The PAT identifies the Programs or services available via a program_number field, and, for each service, identifies the PID carrying the PMT applicable to that service.
A Program Map Table (PMT) for each service is carried in a PID identified within the PAT. The PMT identifies all the components belonging to the service and may provide additional information describing the components.
A Conditional Access Table (CAT) is carried in PID 1, which is reserved exclusively for this purpose. The CAT identifies PIDs carrying authorization streams for decoders implementing different conditional access systems. This information may include Entitlement Control Messages (ECMs) or Entitlement Management Messages (EMMs) used for encryption and authorization.
In addition, the Digital Video Broadcasting (DVB) committee has defined a number of additional tables for transport of Service Information (SI), including a Service Definition Table (SDT).
Thus, a Transport Stream can be understood as a multiplex of service components combined with descriptive service control information. However, the MPEG-2 Systems standard does not define how the Transport Stream multiplex is to be formed.
It is desirable to be able to combine two or more transport streams into a single transport stream that contains all of the components of the source transport streams. A problem encountered in combining transport streams is that the transport stream PIDs associated with one source stream typically conflict with the PIDs associated with one or more other source streams. Other identifying information, such as the program_number, assigned to a service may also conflict with that assigned to a service in another transport stream. Additionally, multiplexing two transport streams may cause embedded timing information, such as the Program Clock Reference (PCR), to be rendered inaccurate.
The above and other problems are solved by the multi-service transport multiplexing apparatus and method of the present invention. The present invention defines a process for creating a transport stream by addition of services, one at a time, to a pre-existing transport stream multiplex. The invention provides a capability for building a common set of service control information from the service control information tables of the individual streams being combined that avoids PID conflicts.
Accordingly, apparatus for multiplexing transport streams includes first and second transport demultiplexers for demultiplexing first and second input transport streams to their respective service components and service control information tables. Each demultiplexer filters the respective service components and service control information tables according to a particular filter set that specifies PID processing actions. A processor coupled to the first and second demultiplexers comprises means for examining the first and second service control information tables to determine whether any PID of one of the first and second transport streams overlaps or conflicts with any PID of the other of the first and second transport streams. The processor further includes means for generating output service control information tables from the first and second service control information tables that have been modified to avoid any overlapping or conflicting PIDs. The processor further provides the first and second filter sets to the first and second demultiplexers based upon the output service control information tables. A transport remultiplexer coupled to the processor and the first and second demultiplexers multiplexes the output service control information tables and the filtered first and second service components to provide an output transport stream.
According to an aspect of the invention, the processor changes or discards PIDs that overlap or conflict in the input transport streams.
According to another aspect of the invention, an encoder is combined with a transport multiplexer to provide an encoder/multiplexer. The encoder encodes a program source to provide a local transport stream. The transport multiplexer multiplexes the local transport stream with an input transport stream to provide an output transport stream. First and second encoder/multiplexers are series coupled wherein the output transport stream of the first encoder/multiplexer is coupled to provide the input transport stream to the multiplexer of the second encoder/multiplexer. Additional encoder/multiplexers can be series coupled to provide a daisy-chain configuration. In this manner, a general solution to the generation of a multi-service transport stream can be provided from the multiple local streams. In a preferred embodiment, a bypass circuit couples the input transport stream directly to the output transport stream which is activated in the event of failure of a given encoder/multiplexer.
According to another aspect of the invention, one or more redundant encoder/multiplexers can be connected in series at the end of a daisy-chain configuration to provide a hot-spare redundant mode of operation. The redundant encoder/multiplexer monitors the input transport stream to determine whether a failure has occurred in an upstream encoder/multiplexer. Upon a failure, the program source associated with the failed encoder/multiplexer can be switched to the redundant encoder/multiplexer which encodes the program source to provide a redundant local transport stream for multiplexing with the input transport stream.
In accordance with the present invention, a method of transport stream multiplexing includes receiving first and second transport streams, wherein each stream comprises a multiplex of service components and service control information, and demultiplexing the received transport streams to provide first and second demultiplexed transport streams. First and second service control information is extracted from the respective first and second demultiplexed streams and a determination is made whether any overlap or conflict exists between the first and second service control information. Output service control information is generated from the first and second service control information modified to avoid any overlap or conflict. The demultiplexed streams are filtered according to the output service control information. The output service control information and the filtered demultiplexed streams are then multiplexed to provide an output transport stream.
While the preferred embodiments are described with reference to MPEG-2 Systems standard Transport Streams, the principles of the present invention are intended to encompass the multiplexing of any data streams that comprise fixed length packets and have a self-contained directory structure which describes the multiplex. Thus, while the term "transport stream" is used herein to denote a Transport Stream as defined by the MPEG-2 Systems standard, the principles of the present invention are also applicable to systems using similar transport structures such as Asynchronous Transfer Mode (ATM) systems.
The principles of the present invention also apply to a configuration in which an output of the last multiplexer in the chain is provided as the first transport stream to the first multiplexer in the chain to form a ring, and in which each multiplexer is extended to provide a feedback path to the encoder for relaying information that is passed around the ring concerning the bandwidth requirements of all other participating encoders, in order to provide bandwidth allocation by statistical multiplexing.
According to another aspect of the invention, an optimal multiplexing method is provided which allows buffers to be two packets in depth. Accordingly, for a plurality of buffers, each buffer associated with a packetized data stream, packets are received at respective buffer input rates. The buffers are serviced at a service rate at least equal to a sum of the buffer input rates. For each buffer, once a full packet has been received therein, a time interval until that buffer is expected to reach its buffer depth is determined. The buffer having the least time interval is then serviced first, such that overflow of the buffers is avoided.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views.
FIG. 1 is a schematic block diagram of an elementary transport multiplexer in accordance with the present invention.
FIG. 2A is a flow diagram of a multiplexing method in accordance with the present invention.
FIG. 2B is a flow diagram of table information processing in the elementary multiplexer of FIG. 1.
FIG. 3 is a schematic block diagram of a single-service encoder/multiplexer in accordance with the present invention.
FIG. 4 is a schematic block diagram of a series configuration of single-service encoder/multiplexers of FIG. 2 in accordance with the invention.
FIG. 5A is a schematic block diagram of a redundancy configuration of single-service encoder/multiplexers of the type shown in FIG. 3 in accordance with the invention.
FIG. 5B is a schematic block diagram of another redundancy configuration in accordance with the invention.
FIG. 6 is a schematic block diagram of an NxM configuration of encoder/multiplexers.
FIG. 7 is a schematic block diagram of a single-service encoder and elementary statistical multiplexer configuration of the present invention.
FIG. 8 is a schematic block diagram of a ring configuration of encoder/statistical multiplexers of FIG. 7 in accordance with the invention.
Referring now to FIG. 1, an elementary two-stream multiplexer 10 is shown which illustrates the principles of the present invention. The elementary multiplexer 10 receives as input two transport streams on lines 12 and 14, respectively, which have been fully formatted externally to the multiplexer. The multiplexer 10 also receives on line 16 management and control input that is used to configure the multiplexer as described hereinbelow.
The elementary multiplexer 10 comprises four processing elements: a pair of transport demultiplexers 18, 20; a processor 22; and a transport remultiplexer 24. The demultiplexers 18, 20 demultiplex the transport streams to their constituent service components and service control information tables. The service control information tables are routed to the processor 22 which combines and reconfigures the information contained in the tables to provide a single set of output service control information tables. The demultiplexers 18, 20 filter the service components based on the combined and reconfigured information in the service control information tables. The transport remultiplexer 24 multiplexes the output service control information tables with the filtered streams to provide an output transport stream on line 26. A copy of the output transport stream may optionally be made available on line 28.
As noted above, the input transport streams 12, 14 have been fully formatted externally to the multiplexer 10. As described further hereinbelow, one of the input streams 12, 14 can be generated by a local encoder while the other can be an output transport stream from a separate multiplexer. In general, one or more of the PIDs of one input transport stream 12, 14 will conflict with the PIDs in the other input stream 12, 14. To avoid this conflict, the multiplexer 10 of the present invention preferably re-maps or changes the PIDs for every conflicting packet to a new value that avoids the conflict before it is passed on to the output stream 28. This process is referred to as automatic PID re-mapping. Other modes of managing this conflict include transparent PID re-mapping and hot-spare redundant PID re-mapping. The transparent mode simply passes all of the components from both input streams 12, 14 whether or not there is a conflict. In the transparent mode, it is then up to an external management system to ensure that the components in each stream 12, 14 do not conflict. The hot-spare redundant mode disables components of the second input transport stream 14 as long as all components declared by the PSI and SI tables to be present in the first transport stream 12 are detected to be present. If the loss of any such components is detected, then the missing component is replaced with the component of corresponding type from the second input transport stream 14, which is assigned the PID properly belonging to the missing component. Each of these operational modes is useful for differing configurations and are described further hereinbelow.
Each demultiplexer 18, 20 receives one of the two input transport streams and includes a set of programmable filters 30 that specifies for each input PID how transport packets identified by that PID value are to be processed by the demultiplexer. Four possible actions can be specified:
1. discard the packet entirely,
2. route the packet to the processor,
3. route the packet to the transport remultiplexer, or
4. route the packet to both the processor and the transport remultiplexer
If an input PID is to be routed to the transport remultiplexer 24, the value of the PID may be changed according to a programmable Lookup Table (LUT) 32 held by the demultiplexer 18, 20. The LUT 32 is programmed by the processor 22 either automatically, as described below, or through the intervention of an external system such as a management system.
The default destination for an unused PID is to remove it from the transport stream entirely. If a particular PID is not defined in the output PAT, the output PMTs or the output CAT, then the entry for that PID in the LUT 32 is set to remove all of the packets with that PID from either transport stream entirely. Packets with undefined PIDs are not allowed to reach the output transport stream.
The LUT 32 also includes a thirteen bit output field that is substituted to set the PID value for the packet in the output transport stream. The default value for this field is the input PID value. It may be changed to some other value in the event a conflict is detected between PIDs in both transport streams.
Packets routed to the transport remultiplexer 24 are time stamped and placed in FIFO buffers 34, 36 which are read by the transport remultiplexer 24. Packets containing control tables routed to the processor 22 are placed in control FIFOs 40, 42. Packets generated by the processor 22 to transport control tables for the output transport stream are placed in a control FIFO 37, which is read by the transport remultiplexer 24. All packets read by the transport remultiplexer are then placed in output FIFO 38.
The processor 22 is responsible for configuring the LUT 32 and the PID actions performed by the demultiplexers 18, 20 by means of setting the PID filters 30 using Filter Set commands 41 according to the modes selected by the external management device. To initialize the LUT 32, the processor 22 begins by setting all of the PID Look-up Table destination field entries in both transport streams to none (no output).
Next, the processor 22 enables the destination field entries for the PAT (PID=0×0000) from each transport stream to route all PAT packets to the processor 22 only. The PATs from each transport stream are read and all of the PIDs for all of the PMTs are collected. The same process is performed for the CAT (PID=0×0001) to obtain the PIDs used for CA streams. The destination fields for the PID entries for all of the PMT PIDs are then set to read the PMTs to the processor only. Finally, the PMTs are interpreted to obtain a complete list of the PIDs used by all of the streams defined in the PMTs. At this point, the processor 22 can check for PID conflicts between the two transport streams and resolve them according to whether the system is in automatic PID re-map mode or hot-spare redundant PID re-map mode. Then the entries in the PID Look-up Table for these PIDs are set up for the appropriate destinations and PID re-mappings.
The processor 22 causes the demultiplexers to route the control tables contained within the input transport streams to it, including at least the PAT, the PMTs and the CAT. In a DVB-compatible system, the processor 22 also causes the SDT and other DVB tables to be routed to it. Optionally, the processor 22 may extract transport packets contained in other PIDs.
Certain of these tables (e.g., the PAT) are routed exclusively to the processor 22, while certain others (e.g., the PMTs) are either routed to the processor or to both the processor and the transport remultiplexer 24, depending on circumstances described hereinbelow.
By examination of the PAT, CAT and PMTs, the processor 22 determines whether any PIDs used in either transport stream are also used in the other. Depending on the specific operational mode (i.e., automatic, transparent, or hot-spare redundant re-mapping), the processor 22 may either cause one or the other such PID value to be changed or discarded.
By examination of the PATs, the processor 22 also determines whether any program_number used in either transport stream is also used in the other. Again, subject to operational mode, the processor 22 may either cause one or other such program_number value to be changed or discarded. Any change to a program_number effected in the PAT requires a change to a corresponding service_number in the SDT in DVB-compatible systems. In addition, other DVB tables, e.g., the Bouquet Association Table and the Event Information Table, may be managed and processed through the processor 22.
The preferred method of program_number and PID re-mapping in the automatic mode is to select the smallest unused value and assign it.
The processor 22 builds a PAT for the output transport stream, combining the PATs from the input streams, and incorporating any changes to PIDs used to transport PMTs or program_number values which may have occurred.
If PID remapping has occurred for a PID containing an EMM stream, or if a CAT is present in both input transport streams, then the processor 22 rebuilds the CAT for the output transport stream, otherwise the input CAT may be passed through unchanged. If PID remapping has occurred for a PID containing information other than a PMT or an EMM stream, the processor 22 rebuilds the PMT(s) describing the services containing the component(s) whose PID(S) have been remapped, otherwise the input PMTs may be passed through unchanged (subject to any PID remapping which may be applicable).
The processor 22 also rebuilds DVB tables as appropriate, if such tables are present. The tables created by the processor are formatted as a sequence of transport packets which are then placed into a FIFO 38 for transmission by the transport remultiplexer 24.
The transport remultiplexer 24 reads each transport packet from the FIFOs 34, 36, 38 and determines how long the packet has been delayed within the multiplexer by reading the multiplexer's time stamp placed onto the packet when it arrived at the input and comparing it to the present time. The Program Clock Reference (PCR) field is adjusted to compensate for this delay if necessary, as specified by MPEG-2, and then the remultiplexer 24 transmits the packet.
It can be shown, as described hereinbelow, that, if the sum of the input data rates and the data rate of control packets generated by the processor 22 does not exceed the data rate generated by the output remultiplexer, then the depth of each of the FIFOs 34, 36 and 37 can be made as small as two transport packets. If these conditions are met on average, but the sum of the input data rates may, on a burst basis, exceed the output data rate, then larger FIFOs will be needed in order to ensure that no transport packets are lost. The maximum FIFO depth is dependent on the maximum burst size in this instance.
The present invention provides a multiplexing method that is optimal because it requires minimum size buffers of two packets and, therefore, introduces minimum delay. However, it may be desirable to increase the buffer sizes to three packets to account for clock jitters and other imperfections in the system. In general, the optimal multiplexing method of the present invention can be applied to any multiplexing system with N-input packetized data streams of packet size P.
In the preferred embodiment, the multiplexer 10 receives transport packets in the first and second input transport streams at fixed rates rF and rS respectively. As noted above, the demultiplexers 18, 20 and processor 22 route transport packets to FIFO buffers 34, 36, 37 respectively. We denote by rF′, rS′ and rC′ the rates at which data reach the respective FIFOs. The rates rF′ and rS′ are less than the original input data rates rF and rS. Once a packet reaches FIFOs 34, 36, 37, the packet bits are clocked into the buffers with rates rF, rS, rC respectively. The service rate R at which the transport remultiplexer 24 services the buffers 34, 36, 37 is such that
It is helpful to imagine the worst case where there are no gaps between packet arrivals. In this case, bits are being loaded into each of the FIFOs at the constant rates rF, rS or rC, respectively. In this worst case, there exists an optimal service algorithm such that the buffers are of minimum two-packet size. As it is known, the delay introduced by a multiplexing system increases when buffer size increases. Therefore, the optimal service policy introduces the minimum delay. Such a small delay is desirable in an MPEG stream, since it can provide a higher performance at the decoder level.
Starting with size 2 buffers, the present invention provides a service policy wherein at any service time, if none of the buffers has a full packet, a null packet is sent until at least one of the buffers reaches the packet size P or exceeds P. Then, the buffer with the least time left until overflow occurs is serviced first. If more than one buffer has the same minimum time, then the buffer with the fastest input rate is serviced first.
FIG. 2A outlines the steps involved in the optimal service algorithm. In the general case of N input FIFO buffers Bi with respective clock rates ri (i=1,2 . . . N), the rates are ordered such that r1≧r2≧ . . . ≧rN−1≧rN. Packets reach the buffer Bi at random intervals, but once a packet reaches the buffer the bits are loaded at the rate ri without interruption.
The time axis can be digitized to intervals of size 1/R, with the index k referring to the time tk=k/R seconds. Starting with an initial state of buffer meter BMi(0)=0 bits, time is incremented from tk to tk+1, i.e., k→k+1 at steps 250, 252. During the interval [tk, tk+1] at step 256, the algorithm performs the following functions on each of the N buffers:
The algorithm checks if another bit has been added to the buffer Bi i.e. if BMi(k)>BMi(k−1) at step 260. At step 270, if BMi(k)=BMi(k−1), that is, no new bits are inserted in the ith buffer, the algorithm checks if the buffer can be serviced. If the buffer cannot be serviced, a relatively long time interval is associated with the buffer to ensure that it will not be serviced, for instance, COi, the time left until buffer overflow, is set to COi=10*P/rN at step 274. If the buffer can be serviced, then the time COi is unchanged because the buffer size BMi(k) is the same as BMi(k−1).
If BMi(k)>BMi(k−1), then the number of full packets is checked at step 262. The algorithm checks if another packet has been added to the buffer Bi, i.e., if PMi(k)>PMi(k−1). If PMi(k)=PMi(k−1), i.e., the number of full packets is the same, then the algorithm checks if the buffer could be serviced at step 270. If the buffer cannot be serviced (SFi=0), then the time left until the Bi buffer overflows is set to COi=10*P/rN at step 274. If the buffer can be serviced (SFi=1), i.e., the buffer includes at least one full packet, then the algorithm decreases the time left until the Bi buffer overflows by updating the equation COi=(2P−BMi(k))/ri at step 272. If PMi(k)>PMi(k−1) at step 262, i.e., the number of full packets is increased by one, then, the Packet_Rate_i is computed by evaluating PRi=R/(k−PCi), the Packet_Count_i is updated PCI=k and the time left until the buffer Bi overflows is set as COi=(2P−BMi(k))/ri, and flag SFi=1 is set at step 264.
The buffer with the minimum COi is serviced first. After analyzing all N buffers, the algorithm checks if the time tk+1 is a multiple of P/R, i.e., a full packet can be serviced at step 266. If true, the algorithm compares the times COi and services the buffer with the minimum COi that is less than 10*P/rN. If the I buffer is serviced, where I is set to the value of i having the minimum COi, then the Service_Flag_I is reset to zero (SFI=0), the Bits_Meter_I is decreased by 188×8 bits (BMI=BMI−188×8) and the Packet_Meter_I is decreased by one packet (PMI=PMI-1) at step 268.
The preceding method guarantees that PMi=0, 1 if the steps are performed during the interval [tk, tk+1] of length 1/R seconds. In case the interval 1/R is too small, the optimal service algorithm can be modified to set time intervals of size 8/R, instead of 1R (8/R is the time it takes to service one byte, and 1/R is the time it takes to service one bit). Therefore, the index k refers to the time tk=k 8/R seconds.
Further, the optimal service algorithm can be applied with P/R time intervals, instead of 1/R or 8/R, and buffers of size 2-packets will not overflow (PMi=0). However, P/R could be very tight to update the FIFOs status.
The foregoing terms are summarized in the following table:
rF′, rS′ or rC′
The data rates at which packets reach
the FIFOs 34, 36, 37 respectively
rF′, rS or rC
The clock rates at which the bits of a
given packet are loaded into the FIFOs
34, 36, 37 respectively (bits/s)
The service clock rate at which bits
of a given packet are being extracted
from any of the FIFOs 34, 36, 37
The packet size, MPEG specification is
188 × 8 bits (bits)
Sercice_Flag_i: SFi = 0 implies that B1
cannot be serviced, SFi = 1 implies that
Bi has a full packet and can be
Packet_Count_i: Time at which a full
packet has been inserted into the Bi
buffer (seconds)
Count_overflow_i: The time left until
overflow occurs in 2-packet size
buffer Bi (seconds)
BMi (k)
Bits_Meter_i: The size of the Bi FIFO
in bits (bits)
Packet_Meter_i: The size of the Bi
FIFO in packets (packets), PMi = 0 or 1
Packet_rate_i: the rate at which
packets reaches the FIFO Bi
The processing of table information will now be described. The flow of table information in the processor 22 is shown in the flow diagram of FIG. 2B. This diagram traces the table information flow from the input FIFO buffers 40, 42 through processing blocks 300, 302, 304, 306, 308 and shared data structures 310, 312, 314, 316 to the output table buffer 37. The processor 22 reads table packets from the FIFO buffers 40, 42 in process blocks 300, 302 respectively. If the transport_error bit in the transport packet header is true, the packet is thrown away. If the packet is a copy of a previously received table packet, the packet is discarded. If it is new, the processor 22 checks it to verify that it was read correctly by computing the CRC at the end of each section. A signal that a change has occurred in the corresponding input table is sent on 318, 320 to block 304, indicating that the output tables require updating. The section is used to modify the corresponding version of the specified table maintained in the processor memory in block 304. The conflicts between the two input transport streams 12, 14 (FIG. 1) are resolved according to the operating mode (automatic, transparent, or hot-spare redundant). The output tables are generated accordingly and sent to Table Packetizer 306. The completed new version of a table is sent to a Packetized Table Replay 308 for continuous replay to the FIFO buffer 37 for inclusion in the output transport stream 28. The delay between receiving a new version of any input table to the forwarding of the updated version of the output table to buffer 37 is kept as short as possible.
Example algorithms for table regeneration performed by the processor 22 include the following:
Each table is maintained as a single section.
Upon obtaining the section, the processor 22 appends the descriptor for the service created by it, and adjusts the section_length and CRC_32 fields appropriately.
Each table is maintained as a set of sections, where each section describes the transport stream components being added. The processor 22 then increments the last_section_number field on all sections of the table received on the input transport stream, and adjusts the CRC_32 field appropriately. The processor also inserts a section containing the descriptors applicable to the components in the additional transport stream, giving it a section_number value equal to the last_section_number.
If the second input transport stream 14 is disabled for any reason, such as a PID conflict while in transparent or hot-spare redundant mode, then the transport demultiplexer 18 stops extracting table packets from the first input transport stream 12 and allows them to propagate directly through to the output transport stream 28 unchanged. This removes the propagation delay associated with PSI/SI table updates through the processor 22. While disabled, the multiplexer 10 continues to monitor some of the PSI packets by copying them to both the buffer 34 and the table buffer 40 so that the processor 22 can monitor which PIDs are presently assigned in the first input transport stream 12. This information is used by the PID re-mapping algorithm.
The present invention may be used to provide a number of system architectures, as will now be described. In the simplest case, the elementary multiplexer 10 may be combined with a single channel encoder 50 to provide an encoder/multiplexer 100, as shown in the block diagram of FIG. 3.
The encoder 50 accepts as inputs on lines 52, 54, 56, a set of components to be inserted into a transport stream. A typical component set consists of a video input, two stereo audio channels, and two user data channels. Ordinarily, the set of components are intended to form a single service, although in some cases they may form more than one service. Service control data, describing and configuring the components and service(s) added to the multiplex by the encoder 50, is passed on line 58 to the encoder processor 60, which uses this information to create a set of tables to be inserted into an additional transport stream 62 generated by the encoder 50.
The components are each encoded, in a fashion specific to each component type, into a format suitable for inclusion in a transport stream by component encoders 64, 66, 68. Typically, this format will be based on the Packetized Elementary Stream (PES) encoding defined by MPEG-2. The encoded components are then passed to a transport multiplexer 70, wherein they are combined with each other and with the control tables provided by the processor 60 into the additional transport stream 62.
The additional transport stream 62 is then passed to the elementary multiplexer 10, which combines it with an externally supplied input transport stream 12, as described above, to create an output transport stream 26 which adds the contributions of the encoder 50 to the input transport stream 12. In the preferred embodiment, the input transport stream 12 is provided at a rate that is either fixed externally or is measured within the elementary multiplexer. The sum of this rate, the rates of the contributions of the encoder 50, and the rate of the output transport stream control tables 43 does not exceed the rate of the output transport stream 26 and 28. In an alternate embodiment, with the provision of sufficient FIFO to accommodate the presence of bursts of data other than null packets, the input transport stream 12 is provided at a fixed known rate, equal to the output transport stream 26, including bandwidth allocated to null packets that is sufficient to accommodate the service(s) being added by the encoder 50. The input transport stream 12 may indeed be absent, in which case it is considered to consist entirely of null packets. In the preferred embodiment, PID and program number conflicts are always resolved in favor of the input transport stream 12 over the additional transport stream 62.
A transport stream containing an arbitrary number of services can be provided by a set of encoder/multiplexers 100 of the present invention connected in series. In such a configuration, the output transport stream of each elementary multiplexer is provided as the input transport stream of the next. This configuration of encoder/multiplexers 100A, 100B, 100C, 100D is shown in FIG. 4. No input stream (or a set of null packets) need be provided to the first encoder/multiplexer 100A. The output of the last encoder/multiplexer 100D is the final transport stream 108. The number of encoder/multiplexers 100 which can be so daisy-chained together is limited only by the capacity of the transport stream and by any physical limitations imposed by the interface drivers.
A problem with automatic PID re-mapping is that the user may have a difficult time determining which encoder's PIDs have been re-mapped to which new values. For example, if the encoder 50 (FIG. 3) at the beginning of the chain fails, then the rest of the multiplexers 10 throughout the chain notice the transport stream from the first multiplexer 10 is gone and the rest of the chain will automatically readjust their PIDs. Another scenario is if the user decides to add an extra encoder to the end of the chain, or even if the user merely configures an extra audio or data channel to the encoder at the end of the chain. Then the extra PIDs associated with these extra services cause the multiplexers 10 throughout the rest of the chain to re-map their PIDs to accommodate these new PIDs. This constant movement of the PIDs in the output transport stream can cause problems for the decoders at the other end of a transmission link. For this reason, some users may prefer to map the PIDs for each encoder 50 by themselves, rather than letting the multiplexer 10 do so.
For those users, the multiplexer 10 can be put into either transparent mode or hot-spare redundant mode which leaves the PIDs in their original locations. If there is a PID conflict between the input transport stream 12 and the additional transport stream 62, then, in the case of hot-spare redundant mode, the transport stream 62 is disabled until the user manually changes the PID assignments throughout the chain to remove the conflicts. This allows the user to set up the PID assignments for the decoders at the other end of the link and know that the multiplexers 10 will not be reassigning the PID values whenever a problem occurs within any encoder 50 in the chain.
In the transparent mode, the two input transport streams 12, 14 are combined transparently with no regard for PID conflicts. If a PID conflict occurs between any of the elementary streams, the decoders receiving those elementary streams will fail, but the non-conflicting elementary streams in the multiplex will be unaffected. In this case, it is up to an external management system to resolve the conflicts by manually reassigning the input transport stream PIDs until no conflicts exist.
Two encoder/multiplexers 100 incorporating the present invention, and each additionally equipped with a passive bypass relay 44A, 44B connecting the input transport stream directly to the output transport stream, can be used to provide a simple redundancy configuration, as shown in FIG. 5A. In this configuration, the elementary multiplexers 10A, 10B act as switches, each selecting one of two transport streams. The output of the second elementary multiplexer 10B can be provided to an external modulator (not shown).
In the configuration shown in FIG. 5A, the input of the first encoder/multiplexer 100A is left unconnected. If the elementary multiplexer provides two copies of the output transport stream, then the second output of the multiplexer 10A in the first encoder/multiplexer 100A may be used to drive a redundant modulator (not shown). In this configuration, the second output of the second encoder/multiplexer 100B is either unused or is used for monitoring purposes.
In order for this configuration to provide redundancy, identical video and audio input must be supplied to each encoder 50A, 50B, and each encoder must be configured to provide the same sets of PIDs to the services generated by the encoder. The multiplexers 10A, 10B are then configured so that the video and audio PIDs generated by the associated encoder 50A, 50B are discarded unless the same PIDs are absent on the input transport stream 12A, 12B respectively. This is the hot-spare redundant operational mode noted above. The absence of these PIDs can be determined through a timeout mechanism. Once a PID is determined to be absent, then the corresponding PID as generated by the local encoder 50A, 50B is passed through to the output transport stream until the PID is determined to be present on the external input transport stream 12A, 12B again. In an alternate embodiment, hot-spare redundant mode is triggered by detecting the absence of a service from the input PAT, rather than detecting loss of input PID.
In a system so configured, the output 62A of the first encoder 50A is normally passed through to the output stream of the second elementary multiplexer 10B. If the first encoder 50A or elementary multiplexer 10A fails, then the output 62B of the second encoder 50B is selected by the second elementary multiplexer 10B. If the second elementary multiplexer 10B fails, then the bypass relay 44A, 44B of unit 100B is deactivated and the output of the first elementary multiplexer 10A is passed directly to the output transport stream 28B. The relay 44A, 44B remains deactivated until either a power-up reset occurs or a command to reactivate the relay is received from a user interface (not shown).
In a variation of this scheme based on elementary multiplexers each providing two outputs, the second output transport stream of the second multiplexer 10B is connected to the input transport stream of the first multiplexer 10A as shown in FIG. 5B. The two multiplexers 10A, 10B must then be configured to operate differently. The first multiplexer 10A is configured to discard a PID received on the input transport stream 12A unless a corresponding PID in the transport stream 62A generated by the encoder 50A is not detected. The second multiplexer 10B is configured oppositely, that is, to discard a PID received on the transport stream 62B generated by the encoder SOB unless a corresponding PID in the input transport stream 12B is not detected. Successful operation of this configuration requires that the two encoder/multiplexers 100A and 100B are powered up or reset at different times.
The automatic PID re-mapping mode can be combined with the hot-spare redundant mode, in conjunction with an external audio/video switch, to provide NxM redundancy or hot-spare redundant capability to the configuration of FIG. 4, as shown in FIG. 6. In this configuration, a chain of encoder/multiplexers 100A, 100B, 100C, 100D operate in the automatic re-mapping mode as described above for FIG. 4. The last encoder/multiplexers 100E, 100F are used to provide NxM redundancy, where N=4 and M=2 in this configuration. The output transport stream 102, 104, 106, 110, 112 of each elementary multiplexer is provided as the input transport stream of the next. A conventional crosspoint matrix switch 200 is configured to connect service control, video, audio, and data input signals 158A, 152A, 154A, 156A to respective inputs 58A, 52A, 54A, 56A of encoder/multiplexer 100A. The input signals for encoder/multiplexers 100B, 100C, and 100D are similarly configured through the switch 200. The input signals 58E, 52E, 54E, 56E and 58F, 52F, 54F, 56F of encoder/multiplexers 100E and 100F, respectively, are configured normally in a standby state until a failure occurs in one of the upstream encoder/multiplexers 100A, 100B, 100C, 100D. In the standby state, the encoder/multiplexers 100E, 100F monitor the tables in the chain on 110, 112 to determine the PIDs in use by upstream encoders, but do not normally insert any components.
If any PIDs associated with an upstream encoder/multiplexer (100A, 100B, 100C, 100D) are determined to be absent (via timeout), then encoder/ multiplexers 100E, 100F generate an alarm which is supplied to an external management system (not shown) or to the NxM audio/video switch, which then configures the NxM audio/video switch to route the missing component to either of the encoder/multiplexers 100E, 100F. A transport stream is created by the redundant encoder/multiplexer 100E, 100F using the missing PIDs, and then inserted into the output transport stream 112 or 114. The inclusion of M=2 redundant encoder/multiplexers 100E, 10OF provides backup of two of the N=4 source streams A, B, C, D. When the failed upstream encoder/multiplexer is restored, the redundant encoder/multiplexer 100E, 100F returns to the standby state.
The compression algorithms for video encoding defined by MPEG permit the bandwidth required by video components to be variable, according to the complexity of the scene being encoded, for a given level of picture quality. Therefore, it is possible to configure a system having average bandwidth requirements that meet the bandwidth available in a transport stream, but which may instantaneously exceed the bandwidth available in certain circumstances. One path to avoiding this problem is to ensure that the transport stream bandwidth supplied exceeds the peak needs of all input video streams, even if these occur simultaneously. However, this solution will normally waste bandwidth in the output transport stream.
In systems where these considerations are a concern, the present invention permits an optimization of the quality of the video encoding according to the bandwidth instantaneously available. That is, a tradeoff may be made between the ideal bandwidth for the set of video components and the actual bandwidth available, and one or more video components may be required to reduce their respective coding quality to that appropriate for a lower bandwidth, on an instantaneous basis. This aspect of the present invention is referred to as statistical multiplexing.
An embodiment of an encoder 50′ combined with an elementary statistical multiplexer 10′ embodying the present invention is shown in FIG. 7. The elementary statistical multiplexer 10′ incorporates the features of the elementary multiplexer 10. In addition, to provide for bandwidth flexibility, the syntax of the transport stream is extended to include information about requests for bandwidth made by the encoder 50′ and by other elementary statistical multiplexers. The Filter Set 41 is also extended to allow input bandwidth requests to be extracted from the input transport stream 12′. The processor 22 makes use of the Filter Set 41 to ensure that transport packets for all components inserted by the encoder 50′ are discarded if they are present on the input transport stream 12′.
In operation, processor 60 of the encoder 50′ notifies the processor 22 of multiplexer 10′ of the bandwidth desired by the video encoder 64 in a local bandwidth request. The processor 22 determines a bandwidth allocation from the local bandwidth request and from bandwidth requests on the input stream 12′ and then notifies the processor 60 of the bandwidth allocated to the video encoder 64. Similarly, any other component having a data rate sufficiently variable can participate in the statistical multiplexing process. The processor 60 may inform other elementary multiplexers of its bandwidth requests and bandwidth allocations via a packet inserted into the additional transport stream 62. In an alternate embodiment, the processor 22 may provide a packet to FIFO 38 (FIG. 1) to inform the other elementary multiplexers of its bandwidth requests and allocations.
In a preferred embodiment, two output transport streams 26′, 28′ are required which are identical in content. Optionally, one output can be structured to omit the bandwidth request and allocation data described below, so that this is not passed to decoders which are incapable of interpreting it, however, this is not necessary with the syntax used for this data in the preferred embodiment.
It is apparent from the foregoing disclosure that a set of encoder/elementary statistical multiplexers 400A, 400B, 400C, 400D may be connected in a ring, as shown in FIG. 8. By means of this arrangement, each encoder can be informed of the bandwidth requirements of other participating encoders. The transport stream resulting from the statistical multiplexing process may be obtained for purposes of transmission or further processing from the second output transport stream of any participating elementary statistical multiplexer. Each encoder/elementary statistical multiplexer 400A, 400B, 400C, 400D is provided with a unique identity to distinguish it from other participating encoder/elementary statistical multiplexers.
The bandwidth request data is passed around the ring in a message, using a delivery mechanism which is compatible with MPEG but transparent to MPEG encoders not embodying the demultiplex capability of the present invention. An example of such delivery means is a message contained in a packet contained in PID 0×1FFF (the null PID), the data_byte fields of which can take any value according to the MPEG specifications. By this means, it can be ensured that the presence of this packet in the output transport stream will be ignored by decoders which are incapable of processing it. At most, one set of bandwidth request data for each encoder is present on the ring at any given time.
The format for the bandwidth request packets, of the protocols for transmitting them, and the algorithms for processing them to determine actual bandwidth allocation can be modeled closely on similar procedures used in ring-based data networks, e.g., Token Ring or FDDI.
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. For example, while the preferred embodiments have been described with reference to series coupled or chained encoder/multiplexer configurations, the principles of the present invention also apply to configurations in which both the first transport stream and second transport stream are provided to the multiplexer through external input ports.
|Cited Patent
|Filing date
|Publication date
|May 23, 1989
|Sep 18, 1990
|Advanced Micro Devices, Inc.
|System for transmitting and receiving asynchronous nonhomogeneous variable width parallel data over a synchronous high speed serial transmission media
|Dec 20, 1990
|Jun 16, 1992
|Hughes Aircraft Company
|Daisy chain multiplexer
|May 23, 1991
|Oct 27, 1992
|At&T Bell Laboratories
|Buffer control for variable bit-rate channel
|Nov 2, 1992
|Jun 7, 1994
|Scientific Atlanta
|System and method for multiplexing a plurality of digital program services for transmission to remote locations
|Oct 30, 1992
|Mar 21, 1995
|Scientific Atlanta, Inc.
|System and method for transmitting a plurality of digital services
|Mar 29, 1994
|May 30, 1995
|Scientific-Atlanta, Inc.
|Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
|Mar 15, 1995
|May 28, 1996
|Electronics And Telecommunications Research Institute
|Elementary stream packetizing unit for MPEG-2 system
|Dec 19, 1994
|Jul 30, 1996
|Motorola, Inc.
|Multimedia multiplexing device and method using dynamic packet segmentation
|Mar 17, 1994
|Oct 15, 1996
|Philips Electronics North America Corp.
|Encoder buffer having an effective size which varies automatically with the channel bit-rate
|Feb 8, 1996
|Jan 12, 1999
|Advanced Micro Devices, Inc.
|Network interface having adaptive transmit start point for each packet to avoid transmit underflow
|Jun 27, 1996
|Jun 22, 1999
|Zenith Electronics Corporation
|MPEG transport mux for independently clocked transport streams
|Feb 23, 1995
|Sep 8, 1995
|Philips Electronics N.V.
|Method and device for transmitting data packets
|"Der MPEG-2-Standard Generische Codierung Für Bewegtbilder und zugehöriger Audio-Information," Fernesh Und Kinotechnik, vol. 48(10), pp. 545-553 Oct. 1, 1994.
|"Digital Broadcasting Systems for Television, Sound and Data Services; Specification for Serive Information (SI) in Digital Video Broadcasting (DVB) Systems," European Telecommunication Standard, prETS 300 468, pp. 1-62 (Oct., 1994).
|"Guidelines on Implementation and Usage of Service Information," TM1324 Rev. 1, Final Draft, pp. 1-30 (Mar. 17, 1995).
|"Hardware Implementation of the Transport Stream Demultiplexer for the HDTVT Demonstrator," Stammnitz et al; Signal Processing of HDTV, VI, 435-441 (1995).
|"Implementation Guidelines for the Use of MPEG-2 Systems, Video and Audio in Satellite and Cable Broadcasting Applications in Europe, DVB-TS (Geneva)" pp. 1-14 (Jun., 1994).
|"Information Technology-Generic Coding of Moving Pictures and Associated Audio: Systems Recommendation H.222.0," ISO/IEC 13818-1, International Organization for Standardization Organization Internationale de Normalization, pp. 1-146 (Nov. 13, 1994).
|"MPEG-2: A Tutorial Introduction to the Systems Layer," P. Sarginson, IEE 4/1-4/13, Jan. 1, 1995.
|"Transmultiplexing, Transcontrol and Transscrambling of MPEG-2/DVB Signal," O.W. Bungum, International Broadcasting Convention, Sep. 12-16, 1996 pp. 288-293.
|"Information Technology—Generic Coding of Moving Pictures and Associated Audio: Systems Recommendation H.222.0," ISO/IEC 13818-1, International Organization for Standardization Organization Internationale de Normalization, pp. 1-146 (Nov. 13, 1994).
|Liu, C. L. and Layland J. W., "Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment," Journal of the Association for Computing Machinery, vol. 20, No. 1, pp 46-61, (Jan., 1973).
|Tiernan, J. C., and Wechselberger, T., "Description of a Universal Packet Multiplex Transport for the Transmission for Broadcast Applications of Digital Services, including Video, Audio, and Data Programs," Technical Proposal, International Organization for Standardization Organization Internationale de Normalization, pp. 1-14 (Jan. 9, 1993).
|Citing Patent
|Filing date
|Publication date
|Nov 23, 1999
|Nov 4, 2003
|International Business Machines Corporation
|Method and apparatus for MPEG-2 program ID re-mapping for multiplexing several programs into a single transport stream
|Apr 26, 2000
|Oct 12, 2004
|Nec Corporation
|Digital broadcast receiver
|Dec 6, 2000
|Dec 14, 2004
|International Business Machines Corporation
|System and method for remultiplexing of a filtered transport stream
|Dec 10, 1999
|Jun 6, 2006
|Sedna Patent Services, Llc
|Multiplexing structures for delivery of interactive program guide
|Apr 6, 1999
|Mar 6, 2007
|Sharp Laboratories Of America, Inc.
|System for presenting synchronized HTML documents in digital television receivers
|Mar 24, 2003
|Sep 11, 2007
|International Business Machines Corporation
|System and method for providing multiplexing and remultiplexing of MPEG-2 streams
|Apr 4, 2003
|Jan 22, 2008
|Electronics And Telecommunications Research Institute
|Apparatus and method for inserting null packet in digital broadcasting transmission system
|Mar 24, 2004
|Jul 1, 2008
|Sony United Kingdom Limited
|Common interface controller and method of descrambling transport stream channels
|Aug 30, 2002
|Dec 16, 2008
|Panasonic Corporation
|Apparatus of a flexible and common IPMP system for MPEG-2 content distribution and protection
|Jul 25, 2008
|May 18, 2010
|Scientific-Atlanta, Llc
|Mapping transport streams
|Nov 5, 1999
|Jun 1, 2010
|Thomson Licensing S.A.
|Signalling of bouquet information in a digital transmission system
|Mar 21, 2005
|Jul 27, 2010
|Newtec Cy
|Managing traffic in a satellite transmission system
|Apr 23, 2007
|Aug 3, 2010
|International Business Machines Corporation
|System and method for improved Ethernet load balancing
|May 6, 2008
|Sep 7, 2010
|International Business Machines Corporation
|Method for applying stochastic control optimization for messaging systems
|May 14, 2004
|Feb 8, 2011
|International Business Machines Corporation
|Recovery in a distributed stateful publish-subscribe system
|Sep 16, 2004
|Mar 22, 2011
|Broadcom Corporation
|Packetization of non-MPEG stream data in systems using advanced multi-stream POD interface
|May 6, 2008
|Jun 14, 2011
|International Business Machines Corporation
|Continuous feedback-controlled deployment of message transforms in a distributed messaging system
|Oct 4, 2000
|Aug 2, 2011
|Cox Communications, Inc.
|Method and systems for multicast using multiple transport streams
|Oct 24, 2003
|Oct 11, 2011
|Bigband Networks Inc.
|Method and apparatus of mutliplexing media streams
|Oct 26, 2004
|Mar 6, 2012
|Panasonic Corporation
|Apparatus for receiving broadcast signal
|Nov 6, 2007
|Mar 13, 2012
|Samsung Electronics Co., Ltd.
|Method and apparatus for multiplexing and demultiplexing asynchronous bitstreams
|May 12, 2005
|Jan 1, 2013
|Brian Crookes
|Digital program mapping
|Sep 30, 2009
|Jul 9, 2013
|Cisco Technology, Inc.
|Digital program management
|Oct 7, 2010
|Aug 27, 2013
|Comcast Ip Holdings I, Llc
|Interactive user interface
|May 2, 2008
|Sep 10, 2013
|International Business Machines Corporation
|Distributed messaging system supporting stateful subscriptions
|Feb 16, 2005
|Nov 5, 2013
|Comcast Ip Holdings I, Llc
|Server-centric customized interactive program guide in an interactive television environment
|Mar 12, 2012
|Dec 24, 2013
|Samsung Electronics Co., Ltd.
|Method and apparatus to multiplex and demultiplex asynchronous bitstreams
|Aug 5, 2010
|Feb 25, 2014
|Comcast Ip Holdings I, Llc
|Apparatus and method for combining realtime and non-realtime encoded content
|Oct 28, 2003
|May 27, 2014
|Comcast Ip Holdings I, Llc
|Data structure and methods for providing an interactive program guide
|Dec 22, 2011
|Jun 3, 2014
|Panasonic Corporation
|Apparatus for receiving broadcast signal
|Dec 7, 2007
|Aug 5, 2014
|Lg Electronics Inc.
|Method of transmitting and receiving status report in a mobile communication system
|May 17, 2013
|Nov 18, 2014
|Lg Electronics Inc.
|Method for constructing data format in mobile communication and terminal thereof
|Aug 31, 2011
|Jan 6, 2015
|Comcast Ip Holdings I, Llc
|Method and system for providing a program guide and multiple video streams using slice-based encoding
|Oct 11, 2011
|Feb 10, 2015
|Arris Solutions, Inc.
|Method and apparatus of multiplexing media streams
|Feb 19, 2010
|May 26, 2015
|Comcast Ip Holdings I, Llc
|Temporal slice persistence method and apparatus for delivery of interactive program guide
|Jun 9, 2011
|Oct 6, 2015
|Comcast Cable Communications, Llc
|Multiple video content in a composite video stream
|Dec 7, 2007
|Oct 27, 2015
|Lg Electronics Inc.
|Method of transferring data in a wireless communication system
|May 24, 2011
|Nov 10, 2015
|Daniel H. Abelow
|Reality alternate
|Jan 9, 2014
|Feb 16, 2016
|Comcast Ip Holdings I, Llc
|Apparatus and method for combining realtime and non-realtime encoded content
|Aug 3, 2001
|Mar 15, 2016
|Comcast Ip Holdings I, Llc
|Video and digital multimedia aggregator content suggestion engine
|Jan 10, 2008
|Aug 30, 2016
|Lg Electronics Inc.
|Method of generating data block in wireless communication system
|Nov 1, 2013
|Sep 27, 2016
|Comcast Ip Holdings I, Llc
|Server-centric customized interactive program guide in an interactive television environment
|Mar 20, 2013
|Jun 6, 2017
|Comcast Ip Holdings I, Llc
|Data structure and methods for providing an interactive program guide
|Jun 3, 2015
|Nov 7, 2017
|Comcast Ip Holdings I, Llc
|Method and apparatus for targeting of interactive virtual objects
|Dec 6, 2000
|Jun 6, 2002
|David Coupe
|System and method for remultiplexing of a filtered transport stream
|Nov 29, 2001
|Apr 10, 2003
|Kazuhrio Matsuzaki
|Storage digital broadcasting apparatus and storage digital broadcasting receiver
|Apr 4, 2003
|Jan 15, 2004
|Byungjun Bae
|Apparatus and method for inserting null packet in digital broadcasting transmission system
|Aug 30, 2002
|Mar 18, 2004
|Ming Ji
|Apparatus of a flexible and common ipmp system for mpeg-2 distribution and protection
|Mar 24, 2003
|Sep 30, 2004
|International Business Machines Corporation
|System and method for providing multiplexing and remultiplexing of MPEG-2 streams
|Mar 24, 2004
|Dec 16, 2004
|Milner Jonathan Richard
|Common interface controller and method of descrambling transport stream channels
|Sep 24, 2004
|Mar 31, 2005
|Kaku Vicky B.
|Method and apparatus for high-speed data multiplexing
|Oct 26, 2004
|Apr 28, 2005
|Matsushita Electric Industrial Co., Ltd.
|Apparatus for receiving broadcast signal
|Sep 16, 2004
|Aug 11, 2005
|Kevin Patariu
|Packetization of non-MPEG stream data in systems using advanced multi-stream POD interface
|May 14, 2004
|Dec 1, 2005
|International Business Machines Corporation
|Recovery in a distributed stateful publish-subscribe system
|May 12, 2005
|Dec 28, 2006
|Brian Crookes
|Digital program mapping
|May 2, 2008
|Aug 28, 2008
|Roman Ginis
|Distributed messaging system supporting stateful subscriptions
|May 6, 2008
|Oct 2, 2008
|Robert Evan Strom
|Method for applying stochastic control optimization for messaging systems
|May 6, 2008
|Oct 2, 2008
|Roman Ginis
|Continuous feedback-controlled deployment of message transforms in a distributed messaging system
|Nov 6, 2007
|Oct 16, 2008
|Samsung Electronics Co., Ltd
|Method and apparatus for multiplexing and demultiplexing asynchronous bitstreams
|Jul 25, 2008
|Nov 13, 2008
|Penk Mark D
|Mapping Transport Streams
|Mar 21, 2005
|Feb 26, 2009
|Dirk Breynaert
|Managing Traffic in a Satellite Transmission System
|Oct 29, 2007
|Apr 30, 2009
|Lindsay Steven B
|Method and system for reducing the impact of latency on video processing
|Nov 30, 2007
|Jun 4, 2009
|Texas Instruments Incorporated
|Systems and methods for prioritized channel access hardware assistance design
|Sep 16, 2004
|Jun 11, 2009
|Kevin Patariu
|Packetization of non-MPEG stream data in systems using advanced multi-stream POD interface
|Sep 30, 2009
|Jan 28, 2010
|Brian Crookes
|Digital program management
|Dec 7, 2007
|Feb 11, 2010
|Young Dae Lee
|Method of transferring data in a wireless communication system
|Dec 7, 2007
|Apr 22, 2010
|Young Dae Lee
|Method of transmitting and receiving status report in a mobile communication system
|Aug 12, 2010
|Nov 17, 2011
|Seachange International
|Method and system for validating interactive multimedia applications for use in enhanced or interactive television systems
|Oct 11, 2011
|May 17, 2012
|Arris Group, Inc.
|Method and Apparatus of Multiplexing Media Streams
|Mar 12, 2012
|Jul 5, 2012
|Samsung Electronics Co., Ltd.
|Method and apparatus for multiplexing and demultiplexing asynchronous bitstreams
|May 21, 2014
|Apr 28, 2016
|Yahoo! Inc.
|Methods and systems for data traffic control and encryption
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification
|Jul 23, 2002
Owner name: VENTURE BANKING GROUP, A DIVISION OF CUPERTINO NAT
Free format text: UCC - 1 FORM; LOAN & SECURITY AGREEMENT;ASSIGNOR:TIERNAN COMMUNICATIONS, INC.;REEL/FRAME:013117/0001
Effective date: 20000424
Owner name: TIERNAN RADYNE COMSTREAM, INC., CALIFORNIA
Free format text: UCC - 1 FORM; LOAN & SECURITY AGREEMENT;ASSIGNOR:TIERNAN COMMUNICATIONS, INC.;REEL/FRAME:013117/0001
Effective date: 20000424
|Dec 2, 2002
Owner name: TIERNAN RADYNE COMSTREAM, INC., CALIFORNIA
Free format text: AGREEMENT TO DELIVER COLLATERAL;ASSIGNOR:TIERNAN COMMUNICATIONS, INC.;REEL/FRAME:013542/0927
Effective date: 20010413
|Feb 1, 2006
|Maintenance fee reminder mailed
|Jul 17, 2006
|Lapse for failure to pay maintenance fees
|Sep 12, 2006
|Expired due to failure to pay maintenance fee
Effective date: 20060716


text:
Tune Up Philly Library Concert!Library Concert Countdown!June 18th, 2013
Hours & Info215-545-0504Our program runs from 3PM - 6PM, 5 days a week.
Tune Up Philly
Our Videos!
Search Our Blog
Recent Posts
Flickr Photos
Post Topics
Blog Stats
- 15,750 hits
Blog Archives
Hi, my name is Elizabeth, and I'm a senior at Friends Select School. At my school, internships are a graduation requirement. I chose to do my internship at Tune Up Philly because music education is very important to me. I … Continue reading
Hi, I'm Adina and I'm a senior at JR Masterman High School. Before they graduate every year, seniors are required to leave the very familiar surroundings of the school and of teachers they know, and venture out into the "real" … Continue reading

subset: commoncrawl


text:
Body Harmonics has always been about helping people transform their lives through movement. We have been at it for almost 20 years and the miracles I've witnessed have been awe inspiring. I love what I do more now than when I started and the group of teachers and support staff around me make work seem like play.
Movement re-education
Post Rehab
Creative choreography for functional outcomes
Pilates Mat Certification: Pilates Downtown
Pilates Equipment Certification: Pilates Downtown
B.A., B.Ed., M.Ed.
Studio Founder
Director of Education
Teacher Trainer
Pilates Teacher


text:
So, the 2015 RWC is upon us and a combination of long-standing fans and head-scratching newcomers made up an ITV peak audience of 9.4m (only just half of which were male) who tuned in on Friday night for the opening ceremony and England vs. Fiji game.
In a case of the social sphere mirroring real life, the All Blacks have dominated, being rated the 'Most Social Rugby Union Team' by Adobe when ranked on mentions, sentiment and following – perhaps not surprising when their on-field prowess and crowd-pleasing Haka are taken into consideration.
From a brand perspective, Heineken's replacement of the fans favourite, Guinness, has caused some waves online. However, Guinness has launched an emotive campaign tying together its strapline 'Made of More' featuring well-known rugby stars such as Gareth Thomas overcoming adversity, alongside the distribution of large volumes of glassware and Point of Sale kits in supermarkets and pubs to drive adoption. Also working outside official sponsorship are long-standing event hijackers, Paddy Power, relishing the chance to fall back on their usual shock tactics to disrupt the betting field, this time creating video content of the American dentist who killed Cecil the Lion earlier this year shooting dead the animal of the team it predicts will lose (i.e. a Springbok – more on that next). Men's clothing brand Jacamo must have been watching closely as they released their 'Hakarena' viral video which also provoked the (assumedly) desired reaction.
After some predictable scores, the greatest shock on-field came in the form of Japan's narrow win over South Africa, an event that sparked the tournament into life, not least on Twitter which instantly lit up with astonished and delighted tweets, including a pithy "You couldn't write this" from JK Rowling and (predictably) a great responsive piece from Guinness, which garnered the most positive reception.
Stay tuned for our take on the next round of matches in the 2015 Rugby World Cup.
Images source: Guiness and ITV


text:
Overall Rating:
Total Customer Reviews: (0)
List Price: $24.88
Sale Price: $18.63
Availability: Usually ships in 4-5 business days
Engrave, Decorate, Or Personalize A Wide Variety Of Materials–From Metal To Plastic To Wood And Leather–With The Dremel 290-01 7,200 Stroke Per Minute Engraver. This Handy Tool Includes A Letter And Number Template For Infinite Artistic Possibilities. It Also Features A Soft-Grip Body, Replaceable Carbide Engraving Point, And Variable Stroke Control. Powered By A 7,200 Spm, 115-Volt Motor For Reliable Performance, The 290-01 Lets You Personalize Your Valuables Or Decorate Metal, Glass, And Stone For A Unique Touch. It's Also Perfect For Ceramics, Crafts, And Jewelry Making. With The 290-01, The Only Limit Is Your Imagination. Engrave Your Wedding Date… [Read More]


text:
Over the Rainbow
Story of four performers who find themselves in the dog eat dog world of the pop music industry.
Over the RainbowStarring Ji Hyun Woo and Seo Ji Hye
If you like the husky, sexy voice of Hwan Hee and you want some b-boy action, this is the drama for you. Over the Rainbow is the story of four performers who find themselves in the dog-eat-dog world of performing. It follows their journey to stardom and their quest for romance. The soundtrack features Hwan Hee from Fly to the Sky and real dancers from the Korean b-boy scene. Competitive elbow-throwing and backstabbing abound in this gripping musical drama, as the characters attitudes change the closer they get to achieving fame—or falling from grace.
Shop Running Man at the FeverShop!
Leave a Review
Please sign in to comment.Log in / Sign up
No episodes have been released for this series.
Cast MembersShow All Show Less
Ji Hyun Wooas Kwon Hyeok Ju
Seo Ji Hyeas Ma Sang Mi
Hwan Heeas Rex
Kim Ok Binas Jeong Hee Su
Park Hee Jinas Sun Young
Kim Hye Okas Lee Mi Ja (Hyuk Joo's mother)
Jung Han Yongas Mr. Park
Kim Il Wooas Choi Nam Ki
Lee Hyung Chulas Jeong Sang Hyun
Im Ha Ryongas Kwon Sang Bok
Na Hye Mias Kwon Ji Hye
Jo Sang Gooas Jeong Hee Su's Father
Latest Casting NewsShow all
- Choi Si Won cast in Revolutionary Love
- Kang So Ra cast in Revolutionary Love
- Yang Se Jong cast in Temperature of Love
- Seo Hyun Jin cast in Temperature of Love
- Hu Ge cast in Game of Hunting
- Chris Wu cast in The Perfect Match
- Nam Joo Hyuk cast in The Bride of the Water God
- Shin Se Kyung cast in The Bride of the Water God
- Sung Hoon cast in My Secret Romance
- Gong Yoo cast in Goblin
- Lee Dong Wook cast in Goblin
- Park Bo Young cast in Strong Woman Do Bong Soon
- Lee Min Ho cast in Heirs
- Yang Mi cast in Ten Miles of Peach Blossoms
- Kim Woo Bin cast in Uncontrollably Fond


text:
Is This The June 2015 PS Plus Lineup's First PS4 Game?
The Japanese Metal Gear Twitter account has revealed that Metal Gear Solid: Ground Zeroes will be part of the Japanese PS Plus lineup in June.
Why is this relevant to us, you ask? Well, while the European and US PS Plus lineups are never exactly the same as the Japanese PS Plus lineup, there are often a few crossovers, particularly when it comes to PS4 games. For example, March's PS Plus lineup included Oddworld: New 'n' Tasty and Counterspy in both Europe and Japan.
As we still wait for official word on June's PS Plus lineup in Europe and the US, then, the Japanese PS Plus lineup may just provide us a clue. Given the similarities in the past, it's not beyond the realms of possibility that MGS 5: Ground Zeroes will be a part of the June PS Plus lineup for PS4 in the US and Europe.
Via Gamepur.
Similar posts
Play Issue 269 Out Now! »
Play #268 On Sale Now! »
More Powerful PS4 In Development »
'Drop Under 60fps & You Will Be Rejected' Says PlayStation »
PlayStation VR Details: Price, Release Date & More »
Salt & Sanctuary: The Game To Play While Waiting For Dark Souls 3 »
Fallout 4 Automatron DLC Trailer Looks Like Robot Wars »
No Man's Sky NPCs: Here's What They Look Like »


text:
Available Dogs
The following dogs are the ones we have in rescue that are still looking for their forever homes. If you are interested in any of these, please fill out an Adoption Application. Please note we don't always have the chance to post every dog that comes through our rescue, as some are adopted as early as the same day as their intake, so the best strategy is to submit an application even if there isn't a dog you want currently available. This will allow us to keep your application on hand and react quickly when the right Shiba Inu comes along.


text:
Bath & Body Works
Bath & Body Works is the apothecary of the 21st century. It is the authority dedicated to helping people find their own individual paths to well-being by bringing them the very best personal care products the world has to offer. Every item in more than 1,700 Bath & Body Works stores nationwide is created to help nourish the spirit, bring a sense of balance, and leave the customer feeling beautiful inside and out.
STORE HOURSMonday to Friday 10AM–9PM |
Saturday 10AM–10PM |
Sunday 12PM–8PM |
SPECIAL HOURS11/23–11/24/2017: 6PM–1AM (Thanksgiving)
11/24/2017: 6AM–10PM (Black Friday)
11/25/2017: 10AM–10PM (Holiday Hours)
11/26/2017: 11AM–8PM (Holiday Hours)
11/27–12/01/2017: 10AM–9PM (Holiday Hours)
12/02/2017: 10AM–10PM (Holiday Hours)
12/03/2017: 12PM–8PM (Holiday Hours)
12/04–12/08/2017: 10AM–9PM (Holiday Hours)
Dining Pavilion Entrance
Located between Dillard's and Victoria's Secret Beauty


text:
Vladimir Potapov
Chief Executive Officer
Sergey Dyudin
Co-Chief Investment Officer
Tim McCarthy
Co-Chief Investment Officer
Magomed Askhabov
Head of Venture Capital Department
Timothy Demchenko
Global Head of Private Equity and Special Situations
Elena Burova
Chief Operating Officer
Evgenia Sudets
Chief Financial Officer
Vladimir Potapov Chief Executive Officer
Vladimir Potapov assumed his current role in 2013. He is responsible for the strategic and operational development of VTB Capital Investment Management.
In July 2010 Vladimir joined VTB Capital Investment Management as the Global Head of Portfolio Management business. Under his guidance total assets under management have risen to more than 330 bln rubles. His efforts have enabled VTB Capital Investment Management to rank among the top asset management businesses in Russia.
Sergey Dyudin Co-Chief Investment Officer
Sergey Dyudin joined the VTB Group in November 2006. He is responsible for managing client portfolio investments in open-ended mutual funds, discretionary managed accounts, and corporate client accounts.
Prior to joining VTB Group, Sergey was Head of the Trade Operations Department at Solid IFC, where he was responsible for the company's proprietary investments and mutual funds. Prior to that, he was the Head of Trading at BC Raptors Group and a Trader at IR Business Services.
Sergey graduated from the Moscow Engineering and Physics Institute and the Moscow State University of Railway Engineering. Sergey holds FFMS Series 1.0, 5.0, MICEX and RTS certificates.
Tim McCarthy Co-Chief Investment Officer
Tim McCarthy joined VTB Capital Investment Management in November 2013. He is a member of the investment committee and responsible for developing new products for international investors.
Tim McCarthy has 24 years' experience in financial markets and has been based in Russia and the Middle East for over 15 years. He has a strong track record in portfolio management across a range of long-only and long/short equity and fixed-income funds and strategies.
Tim previously worked at Valartis Asset Management in Geneva, Switzerland, where he was the Head of Asset Management and PM of three Russia & CIS Funds and two GEM funds. Prior to Valartis Asset Management, Tim was the CIO and PM at Red Star Asset Management, where he managed a low volatility and market neutral hedge fund investing in Russia & CIS markets. Tim was also CIO and PM at Troika Dialog Asset Management for six years. Before moving to Russia in 1994, Tim was a senior consultant at Deloitte & Touche Management Consulting in New York.
Tim has an MBA in Finance and a BS in Economics from the State University of New York.
Magomed Askhabov Head of Venture Capital Department
Magomed joined VTB Capital Investment Management in 2013 as Deputy Head of Venture Capital department and Head of Portfolio Companies Development. Acts as Head of Venture Capital Department since January 2015.
Magomed Askhabov joined VTB Capital IM from VTB Group where he was Managing Director in Department of development of financial subsidiaries responsible for controlling and developing VTB Strakhovanie, VTB Pension Fund, VTB Factoring, VTB Leasing.
Prior to that (from 2008-2011), he was the President and CEO of Regional Alliance Insurance group.
Earlier (2000-2008) Magomed was involved in various consolidation and turnaround projects in Troika Capital Partners, KPMG and Carana Corporation.
Magomed graduated from Syktyvkar State University (Russia), holds MBA in Economics and Computer Science from University of Wyoming, USA and CFA since Aug, 2006.
Timothy Demchenko Global Head of Private Equity and Special Situations
Timothy Demchenko has over fifteen years of experience in private equity and corporate business development. In 2008, Tim founded VTB Capital's Private Equity and Special Situations business as the Managing Director. As the head of VTB Capital's Private Equity business, Tim manages a team of experienced private equity professionals, who have completed a series of market leading investments and special situations projects in excess of USD $1 billion. He sits on the board of Lenta, a leading hypermarket retail chain in Russia, Russ Outdoor, Brunswick and Tele2 Russia.
Before joining VTB Capital, Tim was responsible for the launch of Deutsche Bank's Private Equity business in Russia/CIS. In his previous positions, Tim managed multiple corporate investment projects while working for several major multinational corporations (IBM and Siemens) as a Senior Executive based in London. Prior to that,Tim was an investment officer at TD Capital Partners' Private Equity fund and focused on investments in the TMT sector across Europe and the US.
Tim holds a Masters in Finance from London Business School, a Ph.D. in Economics from the Russian Academy of Sciences' Institute of Social and Political Studies and has professional qualifications and certifications from CIMA and FSA.
Elena Burova Chief Operating Officer
Elena Burova is the Chief Operating Officer and joined VTB Capital Investment Management in August 2012. Prior to joining VTB Group Elena was Chief Operating Officer at Spectrum Partners Limited , where was responsible for the Operational activity and developing new products.
She started her professional Career at United Financial Group, an investment Company which further was bought by Deutsche Bank. From 2006 to 2009 Elena was the Head of Wealth Management Operations at UBS.
Elena is a graduate of the Russian Academy of Economics named after Plekhanov. She holds FFMS Series 1.0, 4.0, 5.0 certificates.
Evgenia Sudets Chief Financial Officer
Evgenia joined VTB Capital Investment Management as a Chief Financial Officer in August 2008. She is primarily responsible for all financial aspects including regulatory reporting, operational planning and strategic projecting of a long-term financial picture of the company as well as analysis of the company's financial data to maximize profitability. She is a Member of the Management Board of VTB Capital Asset Management.
Before joining VTB Capital Evgenia Sudets worked for more than 9 years as a CFO of Real Estate Division in one of the largest development groups.
Evgenia has graduated from the Russian Academy of Economics named after Plekhanov, specialization Finance and Credit. She holds an ACCA Diploma in International Financial Reporting (DipIFR), FFMS Series 1.0 and 5.0 certified.


text:
Posts Tagged 'National Apprenticeship Week'
It's time we start learning from our apprentices say the heads of L&D at Argos, Barclays and BT.
If you've been anywhere near the business press (or this blog) you'll already know that it's National Apprenticeship Week – and you'll hopefully know some of the benefits apprenticeships bring. How they can plug skills gaps, boost business growth and should, in time, play a critical part in reducing youth unemployment.
But at the annual Voice of Apprenticeships Conference held yesterday, another fascinating and lesser-known benefit came to light – what apprentices teach us about digital capability. Read the rest of this entry »
Apprenticeships are on the rise. The past five years have seen a marked increase in the creation of apprenticeship schemes with greater government investment and more and more organisations wising up to the business benefits that apprentices can deliver. The past few years have also seen apprenticeships evolve with the introduction of Higher Apprenticeships; these offer the equivalent of a university degree, providing a work-based learning route into professions which have traditionally been the preserve of graduates. Read the rest of this entry »
The issue of future talent is near and dear to us at Changeboard – our CEO is also the CEO of plotr, a career website for 11-to-24-year olds, and Changeboard covers the issue extensively in our print magazine and our blog.
Now in its seventh year, National Apprenticeship Week starts on March 3 and aims to raise awareness about the importance of youth employment in the UK. Apprenticeship schemes have grown in their popularity over the last few years, but we would like to hear what you think. Read the rest of this entry »


text:
Perfect pixel tool v.1 javascript miscellaneous
"pixel perfect" is an px excellent tool not only for professional web developers or frontend mock-up developers. Which perfect grid want to get highly efficient web pages that meet required goals. "pixel perfect" is grids a tool developed to simplify & facilitate pixel perfect psd to html /css conversion. Helps to code web pages as close to the original prescribed psd frontend pixel as possible. This is calculator a convenient tool to perform highly detailed psd to em html conversion with precise slicing & cross browser compatibility scale
Perfect pixel tool v.1 install
Chrome, Firefox, IE7, IE8, IE9, Opera, Safari
jQuery, Other
CSS, HTML, JavaScript JS, JavaScript JSON
Perfect pixel tool v.1 download
In Stock
0.0 /5 on 13 buyers reviews


text:
Flooring 101: Installation Environment & Conditions
Have you heard any of these comments?
"You can only use engineered wood?"
"Don't go over 5″ wide?"
" You can't install wood floors near the water?"
If you have, you are like many of the customers we speak to everyday. Don't let these comments discourage you!
The truth is that you can install a variety of wood floors in a variety of installation conditions IF:
- You have the right combination of quality and craftsmanship
- Understand what those environmental conditions mean to your floors
- Understand the proper acclimation process for your floor
- Set the proper expectations for your floors
Not all wood is created equal. That is a simple fact. You can ensure greater performance of your wood floor by taking careful steps to understand the following elements of your wood floor:
- Where does the wood come from in the country?
- Where is the wood cut from the tree?
- How is the wood dried?
- How and where is the floor made?
Watch this video for a demonstration of the Carlisle Slowcraft manufacturing to understand everything that goes into building a high quality wide plank floor.
Lets take a moment to understand how these environmental conditions can effect your floor. Then we will go into some installation methods to prepare your flooring for any environments and minimize problems.
When wood floors are exposed to humid environments the fibers of the wood take on moisture, this causes the boards themselves to get larger, expand and become wider. When boards become wider it reduces spaces between the boards and in a "worst case scenario" can cause cupping – where the sides of the boards are slightly higher then the center of the board. It is possible to minimize or prevent this altogether with proper acclimation and humidity control in the home, combined with using higher quality wood floors that have inherant characteristics, that make it more stable, in a more humid environment.
Wood floors exposed to dry environments will have less moisture in the air, which means the fibers of the wood will be dry, causing the boards to shrink and become narrower. When boards become narrower than when they were first installed this can cause spaces or gaps in between the boards. Drier climates can also cause splits or cracks in the face of the boards. Proper precautions like extended acclimation, installing humidification systems, combined with investing in higher quality wood floors can help minimize this significantly.
When wood floors are installed in environments with significant changes from season to season the boards will expand and contract from season to season. During the drier seasons, your floors may have small spaces between the boards – also known as gaps, while in the more humid months those are minimized or go away completely because the board has more moisture in it, causing it to expand. There are ways to minimize seasonal movement by first investing in a higher quality wood floor, properly acclimating the wood and understanding what the heating/cooling schedule will be for your home – if you have one at all.
When considering a wood floor for your environment having the floor prefinished can be an advantage, but only if the boards are sealed on all 4 sides. This will minimize moisture absorption into the wood. Find out more today about this unique advantage.
No matter where you are in the country, before you install your wood floor you must consider the proper acclimation for your environment. Your install should be able to provide the proper guidlance for acclimation, since the process will vary for different environments.
Whether you are a homeowner considering hardwood flooring for your own home or a professional trying to provide guidance to a customer to help them make the right decision it is important to set the right expectations for a wood floor.
There are some customers who are more comfortable with the natural movement of wood floors from season to season. In this case the design options are endless both for style of flooring and construction – solid or engineered!
There are some customers who are less tolerant of seasonal changes and want to control the "look" of the floor no matter what season it is. These customers will install high-tech humidity systems to regulate temperature and humidity throughout the year creating the most consistent environment that a wood floor could ever dream of. These customer may also benefit from considering Engineered wood flooring which may expand and contract less from season to season.


text:
Sign up to walk or run the Historic Half Marathon, Historic 10K or Historic 5K in Fort Langley. Run through the gorgeous setting of Fort Langley, to the finish line set within the Fort Langley National Historic Site of Canada.
A Kids Fun Run is being held on the Saturday, February 20th, beginning at noon and wrapping up at 2PM. Sunday, February 22nd is the big day for the marathon, 10K and 5K.
If you're interested in participating, act quickly because there is a 2000 person limit and the spaces are filling up. Visit the Try Events website to register. And if marathons aren't your thing, mark this date down anyways – all those participants need some great cheerleaders!


text:
Results 1 to 4 of 4
01-29-04, 14:40 #1Registered User
- Join Date
- Dec 2003
- Location
- Dallas, TX
- Posts
- 1,004
Unanswered: Update records in Code instead of query
Hello again,
I am shooting for a bit of smoother automation. After my transaction is completed I run an UpdateQuery to change the CheckBox from True(-1) back to False (0). I don't want to go through the process of clicking yes to prompts about running the query. Can this be done in a VBA procedure and run the Update without any user intervention? If so please show me the way. Thanks in advance.
01-29-04, 14:53 #2Registered User
- Join Date
- Sep 2002
- Location
- South Wales
- Posts
- 580
Snippet of code
Enclose your existing code (behind a button?) with
docmd.setwarnings false
(your query code)
docmd.setwarnings true
No need for anything fancy!Windows Server 2003-8 / Terminal Services / SQL 2000 / Access 2003 / Office 2003-7 / Exchange 2003-7 / Blackberry Enterprise Server / AutoCAD / Lambert And Butler / Red Bull
01-29-04, 14:55 #3Registered User
- Join Date
- Jan 2004
- Location
- Vancouver, WA
- Posts
- 41
Re: Update records in Code instead of query
I don't know how you are running your transaction, but you can just do this in code after the transaction completes:
Private Sub UpdateStuff()
Dim db1 as Database
Set db1 = CurrentDb
db1.Execute("<your update query name here>")
Set db1 = Nothing
End Sub
If you have more info on the method you are using to run your transaction, it would be easier to figure out how to put the two together.
Mark N.
01-30-04, 06:26 #4Registered User
- Join Date
- Dec 2003
- Location
- Dallas, TX
- Posts
- 1,004
Re: Update records in Code instead of query
Thanks gaerthdart and mtnorwood,
While waiting for replies I tried something that worked. Not the best way maybe but works for now. I created the code below and Called a function(PostJobCharge) that I created by converting the Macro which ran the Update queries. What I did next was went to Tools/Options/..Edit/Find tab and cleared the Confirm box for ActionQueries. Garethdart, would that be the same as you did with the SetWarnings to False? Mtnorwood, I didn't create this database but came in after creator left the company. It had 2 Update queries running in conjunction to finish the transaction.
thanks guys, you're great
Private Sub cmbProcessJobCharge_Click()
On Error GoTo Err_cmbProcessJobCharge_Click
'Revised by Bud 1-29-2004.
'This automates Posting and Updating job charges to avoid the macros
'or clicking the dialog boxes from the Update queries.
Dim stDocName As String
stDocName = "JobCharge"
DoCmd.GoToRecord , , acNewRec
DoCmd.OpenReport stDocName, acViewNormal
MsgBox "Your records have been processed.", vbExclamation
Call PostJobCharge
Exit Sub
MsgBox Err.Description
Resume Exit_cmbProcessJobCharge_Click
End Sub


text:
Ask around online and you'll discover, that everyone has their favorite method for driving website traffic. Some of these traffic strategies actually work, but some can actually do more harm than good.
No matter what you may read elsewhere, the fact is, the cornerstone for getting more traffic is in building relationships with your audience. This is the one surefire thing that will drive traffic to your website faster than anything else.
People who know and trust you will readily share your content than those who do not. When this happens:
- Your traffic goes up, and
- Your reputation improves (with humans and search engines).
Your traffic increases simply because new people are introduced to your content, who then share it with others. Additionally, search engines will send you more traffic because they see you as an authority in your niche.
[clickToTweet tweet="Don't focus on having a great blog. Focus on producing a blog that's great for your readers – Brian Clark" quote="Don't focus on having a great blog. Focus on producing a blog that's great for your readers – Brian Clark" theme="style3″]
Driving Website Traffic by Making Friends Online
It's not a big secret that friends promote friends. They also share ideas and support one another businesses.
10-12 years ago, you could have created a website in virtually any niche, exchanged links with any website with a "link exchange" page, and you could drive website traffic easily without even knowing a single other person in your niche.
Unfortunately, it just doesn't work that way anymore…
In order to get more search engine traffic, you must already be popular to some degree. The good news here is that the easiest way to be popular has always been, and continues to be, having friends in high places.
The old adage, "It's not what you know it's who you know" is certainly true when it comes to driving website traffic.
This certainly doesn't mean you have to be connected with the lead-dog in your niche. These types of relationships take time.
However, reaching out to other bloggers and product sellers in your niche is a good start. Let those relationships continue to grow as you build on new ones as you meet new people.
Three Simple Ways to Begin Making Friends Online
- Connect on social media, through their blog – Leave useful comments, ask thought-provoking questions and be a useful member of their community. However, realize you need to take this communication to a more personal level than simply liking a post or making comments.
- Attend in-person events – Face-to-face meetings are the most effective when it comes to cementing relationships. Attend conferences, meetups and other events to meet like-minded business owners.
- Offer to write guest posts and do interviews – Help others first and it often comes back to you many times over. Bloggers are ALWAYS looking for good content. Offer to write a guest post, and if approved, this can help drive website traffic like crazy. Just be sure to reciprocate when asked.
Our target audiences have the potential to bring traffic from their social media presence, personal blogs, and other sources. Connect, be personable, and give them a reason to want to share your content.
[clickToTweet tweet="The goal is to provide inspiring information that moves people to action – Guy Kawasaki" quote="The goal is to provide inspiring information that moves people to action – Guy Kawasaki" theme="style3″]
Final Thoughts
If you've got friends then driving
website traffic is so much easier, and faster.
In fact, when you have enough proactive and well-followed friends, you can potentially skip all other traffic methods. Now that's a bold statement!
And the best part about these driving website traffic strategies… They don't cost anything but time and effort.
Question: What have you done that works to make friends online?
Let us know by leaving your comments below.
While you're here why not share this article with others online? Thanks!
God bless,


text:
Silas House, in his essay The Art of Being Still, expresses beautifully the delicate equilibrium between movement and stillness.
Writing is a very active pursuit: there is the fluid flow of words, the vivid visualisations, and perhaps some brain rattling to squeeze out those ideas onto the written page.
Mr. House points out one jarring problem, however: "too many writers today are afraid to be still".
Like me, Mr. House is constantly in motion. But he also knows there can be movement in stillness: "We writers must learn how to become still in our heads, to achieve the sort of stillness that allows our senses to become heightened."
We must ingest and digest simultaneously, as Eddie from the movie Limitless put it, and as I explained here.
Most tellingly, the Chinese word for movement is 動靜 – dong jing. Dong means movement, jing means stasis and quiet. Put together you have a beautiful word that perfectly exemplifies the equilibrium between the two. Movement and stillness are not polarities – they are in fact forever in balance.
Mr. House gives his essay a roaring finale with these fine words:
I give it to you now and hope that you will take it out into the waiting world, pushing forth through all of your daily work and joys and struggles with a bit of your mind focused on reality and the larger part of it quiet, still, and always thinking like a writer.
Yes, move. But stay still, too. And hang on tight – it's going to be a hell of a ride!


text:
We love creating new products, services or technologies for consumers. Whether you're a big brand or a growing start-up we know that we can work with you to create a product they'll love and help grow your business.
We don't just build products, we solve problems.
We provide and have developed an in-house process for the design, creation and marketing of a new product or service. We use this approach as a creative sandbox to test out new ways of working, new tools, and new technology as a means to familiarize ourselves with the pros/cons of each. Processes that work well or tested tools to surpass expectations get leveraged for additional client work. Nothing is wasted, when the product is Homegrown.*


text:
Mike Krzyzewski's eight trips to the Final Four and two national championships with Duke University make him one of the most successful college basketball coaches of all time. With Donald T. Phillips, the best-selling author of Lincoln on Leadership, Krzyzewski explains the techniques that have made his program so successful and offers advice on using those same strategies to excel in both your business and personal lives.
Coach K's blueprint for success begins in the preseason by building the right team and allowing dynamic leaders to step forward. In the regular season, he stresses teamwork and finds ways to turn negative situations into something positive. His teams' postseason victories come from allowing time to refresh and renew their commitment as well as from focusing on the task at hand.
With personal examples from his life and coaching career, Krzyzewski offers unbeatable tools for success. Narrator Richard M. Davidson's conversational style perfectly matches Coach K's relaxed tone.
©2000 Mike Krzyzewski; Foreword ©2000 Grant Hill (P)2001 Recorded Books
"Coach K fan"
I've always been a Coach K fan but now that I know more of his story, I'm an even bigger fan. 💙Loved how he blended his heart for the game of basketball and coaching with the game of life.
"Great lessons by Coach K"
This book provides great lessons that can be used at any level of sports or business
Not sure who the audience is. The book is about how he runs practices and remembering some of the players he used to coach. Then he explains simple things like how players "foul out".
No. This is pretty much a complete waste of time.
I guess it wasn't his fault the book was terrible
Coach K
I really respect Coach K and was looking forward to a John Wooden type of book that transcends the court. This book didn't. His thoughts on topics that help in the business world were really basic ("When you point at someone, three fingers are pointing back"). I made it almost half way through this book without a single nugget. What makes it worse is that he reflects on previous players, building them up as examples of what works with his program. One is Quinn Snyder who coached the University of Missouri when I attended the school. The program has still not rebounded from his lack of oversight, inability to provide discipline and program ethical issues... not to mention his own struggles that put his character into question. Coach K mentioned him over a half dozen times in the first half of this book... loses credibility.
I still respect him and perhaps my expectations were too high when I was hoping it was like a John Wooden book. Just nothing of value. Lots of words and reflections on Duke basketball. If you love Duke basketball you will probably love this book. If you don't, I would recommend re-reading a Wooden book.
Report Inappropriate Content
If you find this review inappropriate and think it should be removed from our site, let us know. This report will be reviewed by Audible and we will take appropriate action.