IP Library Granted Patent US 9,824,717
Granted Patent B2
US 9,824,717 · App. 14/521,598 · Granted Nov 21, 2017

Adjusting occupancies of a set of buffers

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 9,824,717
App. No.
14/521,598
Granted
Nov 21, 2017
Kind
B2
Abstract

The respective occupancies of a set of audio buffers are controlled via a common target occupancy value common to all the buffers in the set. This common target may take non-integral values. For each buffer, the difference is taken between the occupancy value of the buffer and the common target occupancy value. A sample is dropped or repeated as the difference exceeds half a sample. A recursive sum is formed of the fractional parts of the difference measures from the set of buffers and the recursive sum is used to adjust the common target occupancy value, within a selected range of values.

Claims (39)

1. A method for controlling a buffer apparatus, the buffer apparatus comprising a set of buffers for holding samples, each buffer having an occupancy value and being adapted for the dropping or adding of a sample to adjust the occupancy value of the buffer, the method comprising the steps of:

providing an adjustable common target occupancy value common to all the buffers in the set;

adjusting the occupancy of each buffer toward a respective buffer target occupancy value for that buffer which is based on said common target occupancy value;

forming for each buffer a difference measure from the difference between the occupancy value of the buffer and the buffer target occupancy value for the buffer;

forming a summation of the set of difference measures; and

adjusting said adjustable common target occupancy value within a selected range of values in response to said summation,

in which the summation is a recursive sum and each difference measure is attenuated by a common proportionality factor prior to summation.

2. The method according to claim 1 in which the said summation is used to adjust the phase of a clock that is used to control the timing of buffered data output from at least one of the said buffers.

3. The method according to claim 1 in which the said summation is an average difference measure for the said set of difference measures.

4. The method according to claim 1 in which each of the said differences between the occupancy value of the buffer and the buffer target occupancy value for the buffer is expressed as the sum of an integer number of samples and a fractional number of samples and said difference measure comprises the fractional number of samples and said summation is a recursive sum with each difference measure attenuated by a common proportionality factor prior to summation.

5. A method for controlling buffer apparatus, the buffer apparatus comprising a set of buffers for holding samples, each buffer having an occupancy value and being adapted for the dropping or adding of a sample to adjust the occupancy value of the buffer, the method comprising the steps of:

providing an adjustable common target occupancy value common to all the buffers in the set;

adjusting the occupancy of each buffer toward a respective buffer target occupancy value for that buffer which is based on said common target occupancy value;

forming for each buffer a difference measure from the difference between the occupancy value of the buffer and the buffer target occupancy value for the buffer;

forming a summation of the set of difference measures; and

adjusting said adjustable common target occupancy value within a selected range of values in response to said summation in which each of the said differences between the occupancy value of the buffer and the buffer target occupancy value for the buffer is expressed as the sum of an integer number of samples and a fractional number of samples and said difference measure comprises the fractional number of samples.

6. The method according to claim 5 in which the sum of the fractional parts is made in a circular number space so that an infinitely small increase above x results in a value x′ that is less than x and an infinitely small decrease below y results in a value y′ that is greater than y.

7. The method according to claim 6 in which x′ is greater than y and y′ is less than x.

8. A buffer apparatus for use in the synchronisation of audio or other data, the apparatus comprising:

a set of buffers for holding samples, each buffer having a buffer occupancy control for comparing the occupancy of the buffer with a buffer occupancy target value based on a common buffer occupancy target common to the buffers of the set, for causing the dropping or adding of a sample where required and for outputting a fractional buffer occupancy error; and

an accumulator arrangement for receiving said fractional buffer occupancy errors from the respective buffers of the set and deriving said common buffer occupancy target value, wherein said buffer occupancy control forms an average of the occupancy of the buffer and compares the average occupancy with said buffer occupancy target value to form a buffer error magnitude.

9. The apparatus according to claim 8 , wherein said buffer occupancy control causes the dropping or adding of a sample when said buffer error magnitude exceeds a threshold.

10. The apparatus according to claim 9 , wherein said threshold which is one half sample.

11. The apparatus according to claim 8 , wherein said accumulator provides a fractional buffer occupancy target value which is added to a fixed integer buffer target occupancy value to form said common buffer occupancy target value.

12. A synchronisation apparatus comprising:

a buffer apparatus including,

a set of buffers for holding samples, each buffer having a buffer occupancy control for comparing the occupancy of the buffer with a buffer occupancy target value based on a common buffer occupancy target common to the buffers of the set, for causing the dropping or adding of a sample where required and for outputting a fractional buffer occupancy error; and

an accumulator for receiving said fractional buffer occupancy errors from the respective buffers of the set and deriving said common buffer occupancy target value,

an output clock for controlling the outputting of data; and

a clock phase adjuster which receives an accumulated fractional buffer occupancy error from said accumulator arrangement and in response adjusts the phase of said output clock.

13. The synchronisation apparatus according to claim 12 in which said phase is advanced where said accumulated fractional buffer occupancy error is positive and retarded where said accumulated fractional buffer occupancy error is negative.

14. A non-transitory computer program product adapted to cause a programmable apparatus to implement a method comprising the steps of:

providing an adjustable common target occupancy value common to all buffers in a set of buffers;

adjusting the occupancy of each buffer toward a respective buffer target occupancy value for that buffer which is based on said common target occupancy value;

forming for each buffer a difference measure from the difference between the occupancy value of the buffer and the buffer target occupancy value for the buffer;

forming a summation of the set of difference measures; and

adjusting said adjustable common target occupancy value within a selected range of values in response to said summation in which the summation is a recursive sum and each difference measure is attenuated by a common proportionality factor prior to summation.

15. A non-transitory computer program product according to claim 14 in which each of the said differences between the occupancy value of the buffer and the buffer target occupancy value for the buffer is expressed as the sum of an integer number of samples and a fractional number of samples and said difference measure comprises the fractional number of samples.

16. A non-transitory computer program product according to claim 14 in which each of the said differences between the occupancy value of the buffer and the buffer target occupancy value for the buffer is expressed as the sum of an integer number of samples and a fractional number of samples and said difference measure comprises the fractional number of samples and said summation is a recursive sum with each difference measure attenuated by a common proportionality factor prior to summation.

Assignments (7)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Dec 12, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC
To: MGG INVESTMENT GROUP LP
Reel/Frame 073959/0584 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 21, 2024
From: MGG INVESTMENT GROUP LP
To: GRASS VALLEY USA, LLC; GRASS VALLEY CANADA; GRASS VALLEY LIMITED
Reel/Frame 066867/0336 →
SECURITY INTEREST Recorded Mar 20, 2024
From: GRASS VALLEY CANADA; GRASS VALLEY LIMITED
To: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC
Reel/Frame 066850/0869 →
GRANT OF SECURITY INTEREST - PATENTS Recorded Jul 2, 2020
From: GRASS VALLEY USA, LLC; GRASS VALLEY CANADA; GRASS VALLEY LIMITED
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 053122/0666 →
CHANGE OF NAME Recorded Mar 9, 2020
From: SNELL ADVANCED MEDIA LIMITED
To: GRASS VALLEY LIMITED
Reel/Frame 052127/0795 →
CHANGE OF NAME Recorded Oct 9, 2017
From: SNELL LIMITED
To: SNELL ADVANCED MEDIA LIMITED
Reel/Frame 044149/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2014
From: BUTTERS, JEFF
To: SNELL LIMITED
Reel/Frame 034032/0935 →