IP Library Granted Patent US 7,725,202
Granted Patent B2
US 7,725,202 · App. 10/744,271 · Granted May 25, 2010

Audio splice process for digital Ad insertion

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,725,202
App. No.
10/744,271
Granted
May 25, 2010
Kind
B2
Abstract

A system and method for audio splicing (insertion) of an Ad audio stream in the compressed domain, where variable early delivery of the Ad audio stream and variable bit rate are allowed, without creating audio distortion, glitches, or other digital artefacts or errors, in the resultant audio stream is disclosed. The present system and method provides for a splice delay buffer which delays the first five Ad audio frames until transmission of the last frame of the primary audio stream, but before the splice time. Subsequent Ad audio frames are delayed by a fixed amount, where the fixed amount is greater than the frame delay of the primary audio stream, to allow for ease of splice back to the primary audio stream.

Claims (49)

1. A system for splicing of a second transport stream into a first transport stream, said system comprising:

a splice processor, said splice processor receiving frames of first and second transport streams, and said splice processor also determining a target audio decoder buffer delay

D G =D L +FrameDuration/4,

wherein D G is said target audio decoder buffer delay and D L is a frame delay of the first transport stream; and

a splice delay buffer coupled to said splice processor, said splice delay buffer delaying transmission of a first five frames of said second transport stream until transmission of a last packet of said first transport stream prior to a splice time, in response to instructions from said splice processor.

2. The system of claim 1 , wherein said splice processor assigns each of said first five frames of said second transport stream a hardware tag evenly across a time period from t 1 to t 2 , wherein t 1 is the transmission time of the last packet from said first transport stream; and wherein t 2 is the transmission time of the first packet of the sixth frame from said second transport stream.

3. The system of claim 2 , further comprising buffering and transmitting the first five frames of second transport stream from said splice delay buffer in a shorter time span T of 4¾ frame duration to build up a target decoder buffer delay.

4. The system of claim 1 , wherein said splice processor assigns a first packet of each of said sixth through last frames of said second transport stream a hardware tag of

fpHw Tag= PTS−D G ,

wherein said PTS is the presentation time of the current frame;

said hardware tag containing a time of the first packet of each of said sixth through last frames will be transmitted from an audio delay buffer.

5. The system of claim 4 , wherein said splice processor assigns the remaining packets of each of sixth through last frames of said second transport stream a hardware tag of

hw Tag= fpHw Tag+ n *deltaTag

where n denotes the nth transport packet of the current frame;

wherein fpHwTag is the hardware tag of the first packet of the current frame; and said deltaTag

deltaTag=frameDuration/(2*(frameSize/packetPayloadSize))

said hardware tag containing a time of the remaining packets of each of said sixth through last frames will be transmitted from said audio delay buffer.

6. A method for splicing of a second transport stream into a first transport stream, said method comprising:

receiving frames of a first and second transport streams, wherein transmission of a first five frames of said second transport stream are delayed until transmission of a last frame of said first transport stream prior to a splice time, in response to instructions from a splice processor;

determining a target audio decoder buffer delay

D G =D L +FrameDuration/4,

wherein D G is said target audio decoder buffer delay and D L is a frame delay of the first transport stream.

7. The method of claim 6 , further comprising assigning each of said first five frames of said second transport stream a hardware tag evenly across a time period from t 1 to t 2 , wherein t 1 is the transmission time of the last packet from said first transport stream; and t 2 is the transmission time of the first packet of the sixth frame from said second transport stream.

8. The method of claim 7 further comprising buffering and transmitting said first five frames of said second transport stream from a splice delay buffer in a shorter time span T of 4¾ frame time to build up a target decoder buffer delay without a sudden change of the decoder buffer fullness.

9. The method of claim 6 , further comprising assigning the first packet of each of said a sixth through last frames of said second transport stream a hardware tag of

fpHw Tag= PTS−D G ,

wherein PTS is the presentation time of the current frame,

said hardware tag containing a time of said first packet of each of said a sixth through last frames will be transmitted from an audio delay buffer.

10. The system of claim 6 , further comprising assigning the remaining packets of each of a sixth through last frames of said second transport stream a hardware tag of

hw Tag= fpHw Tag+ n *deltaTag

wherein n denotes the nth transport packet of the current frame; wherein fpHwTag is the hardware tag of the first packet of the current frame; and wherein said deltaTag

deltaTag=frameDuration/(2*(frameSize/packetPayloadSize))

said hardware tag containing a time of the remaining packets of each of said sixth through last frames will be transmitted from an audio delay buffer.

11. A computer-readable medium for storing computer program instructions for splicing of a second transport stream into a first transport stream that instruct a computer to perform the steps of:

receiving frames of a first and second transport streams, wherein transmission of a first five frames of said second transport stream are delayed until transmission of a last frame of said first transport stream prior to a splice time, in response to instructions from a splice processor

determining a target audio decoder buffer delay

D G =D L +FrameDuration/4,

wherein D G is said target audio decoder buffer delay and D L is a frame delay of the first transport stream.

12. The computer-readable medium for storing computer program instructions of claim 11 , further comprising assigning each of said first five frames of said second transport stream a hardware tag evenly across a time period from t 1 to t 2 , wherein t 1 is the transmission time of the last packet from said first transport stream; and t 2 is the transmission time of the first packet of the sixth frame from said first transport stream.

13. The computer-readable medium for storing computer program instructions of claim 12 further comprising buffering and transmitting said first five frames of second transport stream from a splice delay buffer in a shorter time span T of 4¾ frame time to build up a target decoder buffer delay without a sudden change of the decoder buffer fullness.

14. The computer-readable medium for storing computer program instructions of claim 11 , further comprising the step of assigning the first packet of each of said sixth through last frames of said second transport stream a hardware tag of

fpHw Tag= PTS−D G ,

wherein PTS is the presentation time of the current frame;

said hardware tag containing a time of the first packet of each of said sixth through last frames will be transmitted from an audio delay buffer.

15. The computer-readable medium for storing computer program instructions of claim 11 , further comprising the step of assigning the remaining packets of each of sixth through last frames of said second transport stream a hardware tag of

hw Tag= fpHw Tag+ n *deltaTag

wherein n denotes the nth transport packet of the current frame; wherein fpHwTag is the hardware tag of the first packet of the current frame; and said deltaTag

deltaTag=frameDuration/(2*(frameSize/packetPayloadSize))

said hardware tag containing a time of the remaining packets of each of said sixth through last frames will be transmitted from an audio delay buffer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034244/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →