<<

US 20140088745A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2014/0088745 A1 Dudek et al. (43) Pub. Date: Mar. 27, 2014

(54) REMOVING NETWORK DELAY IN A LIVE Publication Classi?cation BROADCAST (51) Int. Cl. (71) Applicant: International Business Machines H04H 20/10 (2006.01) Corporation, Armonk, NY (US) (52) US. Cl. CPC ...... H04H 20/10 (2013.01) (72) InventorSI Clark A- Dudek, Raleigh, NC (US); USPC ...... 700/94 Phillip D. Jones, Raleigh, NC (U S); Eric Woods, Durham, NC (US) (73) Assignee: International Business Machines (57) ABSTRACT Corporation, Armonk, NY (US) (21) APPL NO, 14/073 215 A ?rst stream of audio data is received a into a data store. ’ Excess pauses are identi?ed in the audio data. A second (22) Filed: NOV- 6, 2013 stream of audio data is transmitted from the data store com . . prising the ?rst stream of audio data With the excess pause Related U's' Apphcatlon Data removed, the second stream of audio data transmitted after a (63) Continuation of application No. 13/626,640, ?led on delay that is approximately equal to but no less than the Sep. 25, 2012. duration of the removed excess pause.

100

Q1 Q2

112 110 108 \ \ $104 JITTER _ _ BUFFER CODEC ROUTER INTERVIEWEE

INTERVIEWER Patent Application Publication Mar. 27, 2014 Sheet 1 0f6 US 2014/0088745 A1

EPZQV NO

.GEF

"U802 Nor

wow

N:we?0:. I1 MEL-.51EmEbOmOwQOO| Mm-HEDm Mw>>m__>w_m_._.z_ Patent Application Publication Mar. 27, 2014 Sheet 2 0f6 US 2014/0088745 A1 Patent Application Publication Mar. 27, 2014 Sheet 3 0f6 US 2014/0088745 A1 Patent Application Publication Mar. 27, 2014 Sheet 4 0f 6 US 2014/0088745 A1

FFFF

g x

Lu9: WRITE w5 a: oE Q( N S 4‘, <1 ANALYZEj—>

SKIP316 400 430

00 O 0") F7C3.1L4 432 \ 0000 308 Patent Application Publication Mar. 27, 2014 Sheet 5 0f 6 US 2014/0088745 A1

% .QIm Patent Application Publication Mar. 27, 2014 Sheet 6 0f 6 US 2014/0088745 A1

mg?

\\ US 2014/0088745 A1 Mar. 27, 2014

REMOVING NETWORK DELAY IN A LIVE hardware embodiment, an entirely software embodiment (in BROADCAST cluding ?rmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that FIELD OF THE INVENTION may all generally be referred to herein as a “circuit,” “mod [0001] The present invention relates generally to the ?eld of ule” or “system.” Furthermore, aspects of the present inven voice communication, and more particularly to removing tion may take the form of a computer-program product network delay effects during a “live” broadcast. embodied in one or more computer-readable medium(s) hav ing computer readable program code/instructions embodied BACKGROUND OF THE INVENTION thereon. [0011] Any combination of computer-readable media may [0002] In live and interviews between par be utilized. Computer-readable media may be a computer ties that are not both located in the same broadcast studio, readable signal medium or a computer-readable storage there can be a noticeable delay between when the interviewer medium. A computer-readable storage medium may be, for ?nishes asking a question and when the interviewee begins example, but not limited to, an electronic, magnetic, optical, answering, as seen from the perspective of the interviewer. In electromagnetic, infrared, or semiconductor system, appara normal conversation, delays of 200 milliseconds (ms) or less tus, or device, or any suitable combination of the foregoing. between a question and an answer are typical. As the delay More speci?c examples (a non-exhaustive list) of a computer increases, it becomes noticeable to a third party listening to readable storage medium would include the following: an the conversation, and the ?ow of the exchange begins to electrical connection having one or more wires, a portable sound unnatural. Depending on the communication technol computer diskette, a hard disk, a random access memory ogy used, “in the ?eld” interviews can experience delays of (RAM), a read-only memory (ROM), an erasable program several seconds between a question and the response. mable read-only memory (EPROM or Flash memory), an optical ?ber, a portable compact disc read-only memory (CD SUMMARY ROM), an optical storage device, a magnetic storage device, [0003] Embodiments of the present invention disclose a or any suitable combination of the foregoing. In the context of method, computer program product, and system for removing this document, a computer-readable storage medium may be excess pauses in a live broadcast caused by network delays. A any tangible medium that can contain, or store a program for ?rst stream of audio data is received a into a data store. Excess use by or in connection with an instruction execution system, pauses are identi?ed in the audio data. A second stream of apparatus, or device. audio data is transmitted a from the data store comprising the [0012] A computer-readable signal medium may include a ?rst stream of audio data with the excess pause removed, the propagated data signal with computer-readable program code second stream of audio data transmitted after a delay that is embodied therein, for example, in baseband or as part of a approximately equal to, but no less than, the duration of the carrier wave. Such a propagated signal may take any of a removed excess pause. variety of forms, including, but not limited to, electro-mag netic, optical, or any suitable combination thereof. A com BRIEF DESCRIPTION OF THE SEVERAL puter-readable signal medium may be any computer-readable VIEWS OF THE DRAWINGS medium that is not a computer-readable storage medium and that can communicate, propagate, or transport a program for [0004] FIG. 1 is a diagram illustrating certain components use by or in connection with an instruction execution system, in an example system in which interview delays are experi apparatus, or device. enced. [0013] Program code embodied on a computer-readable [0005] FIG. 2 is a message ?ow diagram illustrating where medium may be transmitted using any appropriate medium, the effects of network induced delays may be observed during including but not limited to wireless, wireline, optical ?ber a live broadcast interview. cable, RF, etc., or any suitable combination of the foregoing. [0006] FIG. 3 is a block diagram of components of a live broadcast skip delay system, in accordance with an embodi [0014] Computer program code for carrying out operations for aspects of the present invention may be written in any ment of the present invention. combination of one or more programming languages, includ [0007] FIGS. 4A and 4B are diagrams illustrating two char ing an object oriented programming language such as Java, acterizations of the frame delay buffer of FIG. 3, in accor Smalltalk, C++ or the like and conventional procedural pro dance with an embodiment of the present invention. gramming languages, such as the “C” programming language [0008] FIG. 5 is a ?owchart depicting operational steps of a or similar programming languages. The program code may live broadcast skip delay system for removing perceived net execute entirely on a user’s computer, partly on the user’s work delays in a live broadcast, in accordance with an computer, as a stand-alone software package, partly on the embodiment of the present invention. user’s computer and partly on a remote computer or entirely [0009] FIG. 6 illustrates a block diagram of a computing on the remote computer or server. In the latter scenario, the system in which the live broadcast skip delay system of FIG. remote computer may be connected to the user’s computer 1 may be implemented, in accordance with an embodiment of through any type of network, including a local area network the present invention. (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the DETAILED DESCRIPTION Internet using an Internet Service Provider). [0010] As will be appreciated by one skilled in the art, [0015] Aspects of the present invention are described aspects of the present invention may be embodied as a system, below with reference to ?owchart illustrations and/or block method or computer program product. Accordingly, aspects diagrams of methods, apparatus (systems) and computer pro of the present invention may take the form of an entirely gram products according to embodiments of the invention. It US 2014/0088745 A1 Mar. 27, 2014

will be understood that each block of the ?owchart illustra satellite-to-satellite transmissions, and delays cause by tions and/or block diagrams, and combinations of blocks in packet handling and queuing at the ground stations and sat the ?owchart illustrations and/or block diagrams, can be ellite 100. implemented by computer program instructions. These com [0020] In the example system, network 106 is a packet puter program instructions may be provided to a processor of based network, such as a TCP/IP network. Transmission a general purpose computer, special purpose computer, or delays can be introduced in network 106 by network conges other programmable data processing apparatus to produce a tion, which can cause packet queuing and rerouting, and also machine, such that the instructions, which execute via the simply by the time it takes to transmit a full packet. Trans processor of the computer or other programmable data pro mission delays can be introduced by router 108, for example, cessing apparatus, create means for implementing the func processing delays in the time it takes to read and process tions/acts speci?ed in the ?owchart and/or block diagram packet headers. Transmission delays can be introduced by block or blocks. codec 110. For example, if codec 110 uses a compression [0016] These computer program instructions may also be algorithm to reduce network traf?c, there will be a delay stored in a computer-readable medium that can direct a com caused by the processing time it takes codec 110 to apply the puter, other programmable data processing apparatus, or compression algorithm, and a similar delay at the other end of other devices to function in a particular manner, such that the the network when the data is decompressed by a second instructions stored in the computer-readable medium produce codec. Codec 110 can also cause delays because a certain an article of manufacture including instructions which imple amount of buffering of incoming data may be required in ment the function/ act speci?ed in the ?owchart and/or block order to perform data compression. Jitter buffer 112 can cause diagram block or blocks. delays by buffering received packets that arrive with a vari [0017] The computer program instructions may also be able delay, and playing them out with a ?xed amount of delay. loaded onto a computer, other programmable data processing If the extent of the variable delay between received packets is apparatus, or other devices, to cause a series of operational small, then the jitter buffer does not have to be very deep. steps to be performed on the computer, other programmable There can be many other sources of network delay in a broad apparatus, or other devices to produce a computer-imple cast network, and many more discrete components than are mented process such that the instructions, which execute on shown in the example system of FIG. 1. the computer or other programmable apparatus, provide pro [0021] FIG. 2 is a message ?ow diagram illustrating where cesses for implementing the functions/acts speci?ed in the the effects of network induced delays may be observed during ?owchart and/or block diagram block or blocks. a live broadcast interview. At time to, the interviewer starts [0018] The present invention will now be described in asking an interview question. At time t1, the interviewee detail with reference to the Figures. FIG. 1 is a diagram receives the beginning of the question. The interval tl—tO is illustrating certain components in an example system in network delay tND, which is caused, for example, by the which interview delays are experienced. In the example sys delays described with respect to FIG. 1. At time t2, the inter tem, an interviewer, for example, in a television broadcast viewer ?nishes the question, and, after network delay tND, at studio, is conducting a live interview with an interviewee who t3 the interviewee receives the end of the question. is “in the ?eld,” for example, via a mobile satellite truck. All [0022] At time t4, after a response delay tRD, the inter components in the communication path between the inter viewee begins responding to the question. From the inter viewer and the interviewee introduce transmission delays. In viewee’s perspective, the delay tRD in responding to the ques live broadcast interviews, these delays typically manifest as a tion seems natural because the effects of the network delay delay between when an interviewer in a broadcast studio aren’t observed by the interviewee at this point in the conver ?nishes asking a question, and when the interviewer begins to sation. hear the response. Many delays are typically unnoticeable. [0023] At time t5, after response delay tRD and another For example, electrical signals on a coaxial cable travel at network delay tND, the start of the interviewee’s response about 80% of the speed of light. For earthbound systems, arrives back through the network to the interviewer. From the these delays are typically very small. The delay in an audio interviewer’s perspective, the total delay tDTOTAL between signal through air, which is about a million times slower than the time the interviewer’s question completes at time t2, and the signal speed on a coaxial cable, is also typically unnotice the response from the interviewee is ?rst received at time t5, able. However, other components in the communication path is equal to twice the network delay tND plus the natural can introduce noticeable delays. response delay tRD. Because live interviews are typically [0019] The example system illustrated in FIG. 1 shows a broadcast from the interviewer’s location, listeners to the geosynchronous communications satellite 100, satellite dish broadcast will typically perceive the same delays experienced 104 located near the interviewee, satellite dish 102 located by the interviewer. At time t6, the interviewee ?nishes the near the broadcast studio, network 106, router 108, coder response, and at time t7, after network delay tND, the inter decoder (codec) 110, and jitter buffer 112. As illustrated, a viewer receives the end of the response. ?rst element that can introduce delay is satellite 100. The [0024] FIG. 3 is a block diagram of functional components minimum round trip time for a signal between satellite dish of a live broadcast skip delay system 300, in accordance with 102 and satellite 100, i.e., the time for a pulse to be transmit an embodiment of the present invention. Live broadcast skip ted up to satellite 100 and re?ectedback, is about 250 ms. This delay system 300 includes video/audio interface 302, buffer is governed by the speed of light. In the context of an inter module 304, and pause analysis program 306. In preferred view, this delay is doubled because there is a ?rst delay when embodiments, video/audio interface 302 accepts a video or the question is transmitted, indicated as paths Q1 and Q2, and audio frame stream over a video or audio input channel, a second delay when the answer is transmitted, indicated as parses the frames in accordance with a video or audio frame paths R1 and R2. Thus, the delay introduced by satellite 100 protocol, which could be, for example, a TCP/IP based net is about 500 ms. Additional delays may be introduced by work protocol or a digital video broadcast protocol, and US 2014/0088745 A1 Mar. 27, 2014

makes the frame stream available to buffer module 304. expected maximum total pause delay in live interview broad Video/audio interface 302 also accepts a frame stream from cast segments of a broadcast program. As an example, live buffer module 304, packetizes the frames in accordance with broadcast skip delay system 300 may be used primarily dur a network protocol, and transmits the frame stream onto a ing live interview segments of a news hour production. Each network over a video/audio out channel. interview segment is about three minutes long, and has no [0025] Buffer module 304 includes frame delay buffer 308, more than about ten question-response exchanges. The long write pointer 310, analyze pointer 312, read pointer 314, and est network delay between the question and response is about skip pointers 316. Buffer module 304, which will be three seconds, and the desired delay is one-half second. Thus, explained in greater detail below, receives a frame stream frame delay buffer 308 should be able to store a minimum of from video/ audio interface 3 02 into frame delay buffer 3 08, in about 25 seconds of broadcast frames. In this example, as the accordance with write pointer 310. The received data is ana broadcast frames are streamed into and read from frame delay lyzed by pause analysis program 306, in accordance with buffer 308, each question-response exchange results in a skip analyze pointer 312, to identify excessive pauses. If excessive ahead in the frame delay buffer by about 2.5 seconds. If the pauses are found, pause analysis program 306 creates a skip live interview segment has the maximum ten question-re pointer 316. Frame data is read out of frame delay buffer 308, sponse exchanges, then 25 seconds of delay will be removed in accordance with read pointer 314, into video/audio inter from frame delay buffer 308 through use of the skip pointers face 302 for broadcast transmission over the video/ audio out 316, which in this example, is the full extent of the buffer. In channel. If read pointer 314 encounters a frame delay buffer certain embodiments, an additional delay can be introduced 308 address associated with a skip pointer 316, the read via frame delay buffer 308 to allow for processing time pointer skips ahead to the buffer address indicated by the skip required by pause analysis program 306 to process the data pointer, thus skipping over excessive pauses in the frame data. frames in the frame delay buffer, determine skip addresses, To avoid sudden video or audio transitions, certain embodi and create the skip pointers 316. Frame delay buffer 308 can ments can use a fade technique to transition between the be much longer than is needed for a particular live interview frames on each side of the skip. segment, in which case only a portion of the frame delay [0026] Pause analysis program 306 receives the video or buffer will be used. For illustrative purposes, frame delay audio frame stream from frame delay buffer 308, in accor buffer 308 as shown in FIG. 4A has tick marks on the inner dance with analyze pointer 312, and identi?es data frames edge, and as shown in FIG. 4B along the bottom edge, that that contain pauses. For example, if the amplitude of audio separate the frame delay buffer into eight parts corresponding data in a data frame does not exceed an amplitude threshold to, for example, time intervals, such as seconds; and, as illus value, the frame can be classi?ed as a pause frame. If a series trated in FIG. 4B, the buffer begins at address 0x0000 and of contiguous pause frames results in a pause that has a extends to address OxFFFF. duration longer than a prede?ned value, for example, 500 ms, [0029] In the exemplary embodiment, write pointer 310 pause analysis program 306 creates a skip pointer 316. In an and analyze pointer 312 are advanced in frame delay buffer exemplary embodiment, a skip pointer 316 links the address 308 towards higher addresses at a rate that is effectively the of the ?rst pause frame after 500 ms of contiguous pause rate that frame data is received into video/ audio interface 302. frames to the address of the ?rst data frame after the contigu Read pointer 314 is also generally advanced at this same rate, ous pause frames that contains audio data with an amplitude except for when the read pointer is skipped over pause frames greater than the amplitude threshold value. As data is read out within frame delay buffer 308. However, in some embodi of frame delay buffer 308, if read pointer 314 encounters a ments, the rate that data is read from the frame delay buffer frame delay buffer address having an associated skip pointer can be faster or slower with respect to rate at which write 3 1 6, then the read pointer is advanced to the address indicated pointer 310 is advanced. In a preferred embodiment, frame by the skip pointer, after which the skip pointer is cleared. delay buffer 308 is a “circular” buffer, such that as each [0027] FIGS. 4A and 4B are diagrams illustrating two char pointer is advanced to the end of the frame delay buffer, as acterizations of frame delay buffer 308, in accordance with an indicated by address OxFFFF, the pointer is reset to the begin embodiment of the present invention. FIG. 4A illustrates ning address, indicated by address 0x0000, or another address frame delay buffer 308 logically as a circular buffer; FIG. 4B offset from the beginning address within the frame delay illustrates a physical representation in memory of frame delay buffer. Logically, read pointer 314 trails analyze pointer 312, buffer 308. In exemplary embodiments of the invention, which trails write pointer 310. The number of frames by uncompressed video or audio data frames is streamed into which read pointer 314 trails write pointer 310 at a speci?c frame delay buffer 308. Contiguous frames are identi?ed by time determines the broadcast delay introduced by live broad pause analysis program 306 as containing pause frames, for cast skip delay system 300, and the amount of total pause example, portion 400 of the frame delay buffer contents, or frame delay that can be skipped through the use of skip speech frames, for example, portion 402 of the frame delay pointers 316. buffer contents. If contiguous pause frames 400 result in a [0030] FIG. 5 is a ?owchart depicting operational steps of pause longer than a predetermined typical response delay, a live broadcast skip delay system 300, in accordance with an skip pointer 316 is created by pause analysis program 306 that embodiment of the present invention. Uncompressed video or directs read pointer 314 to skip ahead and bypass a portion of audio data frames are streamed into frame delay buffer 308 pause frames 400 such that the response delay perceived by a (step 500). Contiguous frames are identi?ed by pause analy listener will be the predetermined typical response delay. sis program 306 as containing pause frames or speech frames. [0028] In exemplary embodiments, frame delay buffer 308 When contiguous pause frames 400 result in a pause longer is a portion of bit addressable random access memory, for than a predetermined response delay (step 502), skip pointers example, a portion of RAM 606 (see FIG. 6). The minimum 316 are created by the pause analysis program 306 that directs length of frame delay buffer 308 will depend on the length of read pointer 314 to skip ahead and bypass a portion of pause individual audio or video frames, the frame rate, and the frames 400 such that the response delay perceived by a lis US 2014/0088745 A1 Mar. 27, 2014

tener will be the predetermined typical response delay (step segment, pause analysis program 306 is invoked, and excess 504). Buffer times, such as the initial delay introduced by question-response delays are removed from the buffered data frame delay buffer 308, and the amount of time skipped as a frames. In certain exemplary embodiments, the time stretch result of skip pointers 316, are tracked (step 506) and made ing component can be used to adjust the pitch of the audio available to other components in the broadcast system. component of the broadcast data such that the data that is [0031] Live broadcast skip delay system 300 can be inte broadcast while read pointer 314 is advanced at the slower grated into a broadcast system in several ways. For example, rate still sounds normal. many broadcast systems include a delay compo [0034] FIG. 6 illustrates a block diagram of a computing nent to allow certain words to be “bleeped” out. Broadcast system 600 in which live broadcast skip delay system 300 systems can also include a “time stretching” component that may be implemented, in accordance with an embodiment of “compresses” or “decompresses” the broadcast data to, in the present invention. It should be appreciated that FIG. 6 effect, lengthen or shorten the broadcast segment. Adjust provides only an illustration of one implementation and does ments are made to the audio content so that, for example, not imply any limitations with regard to the environments in voices or music don’t sound higher or lower in pitch. Live which different embodiments may be implemented. Many broadcast skip delay system 300 can be placed, for example, modi?cations to the depicted environment may be made. either before or after either of these components. [0035] Computing system 600 includes computer proces [0032] A time stretching component and live broadcast sor(s) 604, random access memory (RAM) 606, read-only skip delay system 300 can work in concert to manage the memory (ROM) 608, persistent storage 610, device drivers delay introduced by the live broadcast skip delay system. For 614, and network adapter or interface 616, all interconnected example, in certain embodiments, if a live interview segment over communications fabric 602. Communications fabric 602 is part of a 30 minute broadcast program, an estimate can be can be implemented with any architecture designed for pass made of the maximum total question-response delay that will ing data and/ or control information between processors (such be removed, for example, 45 seconds. Thus, prior to broad as microprocessors, communications and network proces casting the live interview segment, 45 seconds of broadcast sors, etc.), system memory, peripheral devices, and any other delay need to be accumulated in frame delay buffer 308 so as hardware components within a system. RAM 606, ROM 608, to allow for the estimated 45 seconds maximum total ques and persistent storage 610 are computer-readable tangible tion-response delay to be skipped by live broadcast skip delay storage media. In general, RAM 606 and ROM 608 can system 300. The estimated delay can be accumulated in frame include any suitable volatile or non-volatile computer-read delay buffer 308 by, for example, streaming the broadcast able storage media. In certain embodiments of the invention, data into the frame delay buffer while actually frame delay buffer 308, write pointer 310, analyze pointer 45 seconds of commercials, then reading out of the frame 312, read pointer 314, and skip pointers 316 can be imple delay buffer after the commercials have ended. The 45 sec mented in RAM 606. onds of commercials can be broadcast at the start of the [0036] Operating system(s) 612 and pause analysis pro minute broadcast program, or can be broadcast at different gram 306 are stored in persistent storage 610 for execution by times prior to the start of the live interview segment. If the one or more of processors 604 via one or more of RAM 606 total question-response delay of the live interview segment is and ROM 608. In this embodiment, persistent storage 610 less than the estimate, the time stretching component can be includes a magnetic hard disk drive. Alternatively, or in addi used to compress the excess delay from the broadcast data by, tion to a magnetic hard disk drive, persistent storage 610 can for example, accelerating read pointer 314 such that the include a solid state hard drive, a semiconductor storage broadcast program ends at the 30 minute mark. device, ROM, erasable programmable read-only memory [0033] In alternative embodiments, uncompressed data (EPROM), ?ash memory, or any other computer-readable frames are streamed into frame delay buffer 308 at the normal storage media that is capable of storing program instructions broadcast rate. The data frames are read out of frame delay or digital information. The media used by persistent storage buffer 308 at a slower rate such that by the time that the live 610 may also be removable. For example, a removable hard interview segment of the broadcast program is ready to air, a drive may be used for persistent storage 610. Other examples delay has been introduced into the broadcast suf?cient to include optical and magnetic disks, thumb drives, and smart allow for skipping the estimated total maximum question cards that are inserted into a drive for transfer onto another response delay caused by network delay. For example, it is computer-readable storage medium that is also part of persis estimated that a live interview segment of a broadcast pro tent storage 610. gram can have up to 45 seconds of question-response delay [0037] Network adapter or interface 616 provides for com caused by network delay. At the beginning of the broadcast, munications with other data processing systems or devices, uncompressed data frames are streamed into frame delay and may include one or more network interface cards. Net buffer 308 at the normal broadcast rate, in accordance with work adapter or interface 616 may provide communications write pointer 310. The data frames are read out of frame delay through the use of either or both of physical and wireless buffer 308 for broadcast in accordance with read pointer 314, communications links. Operating system(s) 612 and pause which initially trails write pointer 310 by a minimal amount. analysis program 306 may be downloaded to persistent stor Because read pointer 314 is being advanced at a slower rate age 610 through network adapter or interface 616. In certain than write pointer 310, the number of frames by which the embodiments of the invention, video or audio data frames are read pointer trails the write pointer will increase, which cor received and transmitted via network adapter or interface 61 6. responds to an increasing delay time in frame delay buffer [0038] Device drivers 614 allow for input and output of data 308. When the delay time corresponds to the estimated total with other devices that may be connected to computing sys maximum question-response delay caused by network delay, tem 600. For example, device drivers 614 may provide a the advance rate of read pointer 314 is adjusted to match that connection to devices such as a keyboard 620, mouse 622, of write pointer 310. At the beginning of the live interview display screen 618, and/ or other suitable input devices. US 2014/0088745 A1 Mar. 27, 2014

[0039] The programs described herein are identi?ed based stream of audio data is transmitted after a delay that is upon the application for which they are implemented in a approximately equal to but no less than the sum of the speci?c embodiment of the invention. However, it should be duration of the removed excess pauses. appreciated that any particular program nomenclature herein 3. A method in accordance with claim 1, further compris is used merely for convenience, and thus the invention should ing: not be limited to use solely in any speci?c application iden estimating a maximum duration of the excess pause; and ti?ed and/ or implied by such nomenclature. transmitting the second stream of audio data after a delay [0040] Based on the foregoing, a computer system, method equal to the estimated maximum duration of the excess and program product have been disclosed for removing net pause. work latency effects during a “live” broadcast. However, 4. A method in accordance with claim 3, further compris numerous modi?cations and substitutions can be made with ing: out deviating from the scope of the present invention. There receiving the ?rst stream of audio data at a ?rst data rate; fore, the present invention has been disclosed by way of and example and not limitation. transmitting the second stream of audio data at a second 1. A method for removing excess pauses in a live broadcast data rate that is slower than the ?rst data rate, such that caused by network delays, the method comprising: when the excess pause is encountered in the ?rst stream receiving a ?rst stream of audio data into a data store; of audio data, the second stream of audio data is trans identifying an excess pause in the audio data; and mitted with a delay equal to the estimated maximum transmitting a second stream of audio data from the data duration of the excess pause. store comprising the ?rst stream of audio data with the 5. A method in accordance with claim 3, further compris excess pause removed, wherein the second stream of ing: audio data is transmitted after a delay that is approxi receiving the ?rst stream of audio data at a ?rst data rate; mately equal to but no less than the duration of the and removed excess pause. transmitting the second stream of audio data at a second 2. A method in accordance claim 1, further comprising: data rate that is faster than the ?rst data rate in response identifying a plurality of excess pauses in the audio data; to determining that the estimated maximum duration of and the excess pause is greater than the duration of the transmitting the second stream of audio data from the data removed excess pause. store comprising the ?rst stream of audio data with the 6-15. (canceled) plurality of excess pauses removed, wherein the second