# US 7,610,553 B1 · Method and apparatus for reducing data events that represent a user's interaction with a control interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,553 B1
- Document ID: US7610553B1
- Status: Granted
- Kind: B1
- Application number: 10/407,976
- Filed: 2003-04-05
- Granted: 2009-10-27
- Earliest claimed: 2003-04-05
- Assignees: Apple Inc.
- Inventors: Kelly B. Jacklin; Alan C. Cannistraro; Roger A. Powell
- Web page: https://patentgrep.com/patent/US7610553B1

## CPC

- H04H 60/04: Studio equipment; Interconnection of studios
- H04H: BROADCAST COMMUNICATION (multiplex communication H04J; pictorial communication aspects of broadcast systems H04N)

## Abstract

A method for reducing data events representing a parameter of a signal as adjusted by a user through a control interface during a time period. The method includes receiving a series of data events where each data event has a parameter value of the signal and a time-based value associated with the parameter value that corresponds to an instance in time during the time period. The method further includes processing three data events in the series of data events and eliminating one of the three data events based in part on the parameter values of the three data events relative to each other.

## Claims

### Claim 1

For a media editing application stored on a computer readable medium of a computer system comprising a processor for executing operations of the media editing application, a method comprising:
receiving a plurality of data events representing a parameter of a signal during a time period, each data event of the plurality of data events comprising a parameter value of the signal and a time-based value for the parameter value that corresponds to an instance in time during the time period;
receiving a user selected display preference specifying a reduced display representation that comprises a smaller set of the plurality of data events;
iteratively processing sets of three data events in the plurality of data events to identify the smaller set of data events by eliminating one of the three data events for at least one set by comparing a parameter value of one of the three data events to parameter values of the other two data events; and
displaying the reduced display representation on a display interface of the computer system, the reduced display representation comprising the smaller set of the plurality of data events that excludes eliminated data events.

### Claim 2 (depends on 1)

The method of claim 1 wherein the plurality of data events represent the parameter of the signal as adjusted by a user through a control interface during the time period.

### Claim 3 (depends on 1)

The method of claim 1 wherein the sets of three data events in the plurality of data events have time-based values adjacent to each other relative to the time-based values of all other data events in the plurality of data events.

### Claim 4 (depends on 1)

The method of claim 1, wherein iteratively processing comprises, after eliminating a data event in a set of three data events, processing the remaining two data events of the three data events that have not been eliminated and a next data event in the plurality of data events having a time-based value adjacent, relative to the time-based values of the data events in the plurality of data events that have not been eliminated, to the time-based value of one of the remaining two data events.

### Claim 5 (depends on 1)

The method of claim 1 wherein displaying the reduced display representation comprises
displaying a graph for the reduced display representation, the graph being defined along two axes, a first axis representing parameter values of the signal and a second axis representing time-based values for the parameter values;
displaying in the graph a data event that has not been eliminated; and
excluding from the graph a data event that has been eliminated.

### Claim 6 (depends on 1)

The method of claim 1 wherein:
the three data events of a set are comprised of a first data event having a first parameter value and a first time-based value, a second data event having a second parameter value and a second time-based value, and a third data event having a third parameter value and a third time-based value, the first time-based value being lower than the second time-based value and the second time-based value being lower than the third time-based value.

### Claim 7 (depends on 6)

The method of claim 6 wherein the processing comprises:
determining a mathematically defined function between the first data event and the third data event, the mathematically defined function being in terms of parameter values and time-based values;
determining a difference of the second data event to the mathematically defined function, the difference being in terms of parameter values and time-based values; and
determining whether the difference is within a predetermined threshold difference.

### Claim 8 (depends on 7)

The method of claim 7 wherein the processing further comprises:
eliminating the second data event upon determining that the difference is within the predetermined threshold difference.

### Claim 9 (depends on 7)

The method of claim 7 wherein the mathematically defined function is a line.

### Claim 10 (depends on 7)

The method of claim 7 wherein the mathematically defined function is a logarithmic curve.

### Claim 11 (depends on 7)

The method of claim 7 wherein the mathematically defined function is determined by a type of parameter and a type of signal.

### Claim 12 (depends on 6)

The method of claim 6 wherein the processing comprises:
determining a first slope value for a first line connecting the first data event and the second data event, the first slope value and the first line being in terms of parameter values and time-based values;
determining a second slope value for a second line connecting the second data event and the third data event, the second slope value and the second line being in terms of parameter values and time-based values;
determining a difference in slope values between the first slope value and the second slope value, the difference in slope values being in terms of parameter values and time-based values; and
determining whether the difference in slope values is within a predetermined threshold difference.

### Claim 13 (depends on 12)

The method of claim 12 wherein the processing further comprises:
eliminating the second data event upon determining that the difference in slope values is within the predetermined threshold difference.

### Claim 14 (depends on 6)

The method of claim 6 wherein the processing comprises:
determining a first slope value for a first line connecting the first data event and the second data event, the first slope value and the first line being in terms of parameter values and time-based values;
determining a second slope value for a second line connecting the second data event and the third data event, the second slope value and the second line being in terms of parameter values and time-based values; and
determining whether the first slope value has a same sign as the second slope value.

### Claim 15 (depends on 14)

The method of claim 14 wherein the processing further comprises:
eliminating the second data event upon determining that the first slope value has the same sign as the second slope value.

### Claim 16 (depends on 1)

The method of claim 1 wherein the signal is an audio signal and the parameter is a gain level of the audio signal.

### Claim 17 (depends on 1)

The method of claim 1 wherein the signal is a video signal and the parameter is a brightness level of the video signal.

### Claim 18 (depends on 1)

The method of claim 1 wherein the signal is an audio signal and the parameter is panning level of the audio signal.

### Claim 19 (depends on 1)

The method of claim 1 wherein the signal is a video signal and the parameter is a contrast level of the video signal.

### Claim 20 (depends on 1)

The method of claim 1 wherein processing the sets of three data events occurs during a real-time generation of the set of data events.

### Claim 21

A computer readable medium storing a computer program for editing media content, said computer program for execution by at least one processor, the computer program comprising sets of instructions for:
receiving a plurality of data events representing a parameter of a signal during a time period, each data event of the plurality of data events comprising a parameter value of the signal and a time-based value for the parameter value that corresponds to an instance in time during the time period;
receiving a user selected display preference specifying a reduced display representation that comprises a smaller set of the plurality of data events;
iteratively processing sets of three data events in the plurality of data events to identify the smaller set of data events by eliminating one of the three data events for at least one set by comparing a parameter value of one of the three data events to parameter values of the other two data events; and
displaying the reduced display representation on a display interface, the reduced display representation comprising the smaller set of the plurality of data events that excludes eliminated data events.

### Claim 22 (depends on 21)

The computer readable medium of claim 21 wherein the plurality of data events represent the parameter of the signal as adjusted by a user through a control interface during the time period.

### Claim 23 (depends on 21)

The computer readable medium of claim 21 wherein the sets of three data events in the plurality of data events have time-based values adjacent to each other relative to the time-based values of all other data events in the plurality of data events.

### Claim 24 (depends on 21)

The computer readable medium of claim 21, wherein the set of instructions for iteratively processing comprises, after eliminating a data event in a set of three data events, a set of instructions for processing the remaining two data events of the three data events that have not been eliminated and a next data event in the plurality of data events having a time-based value adjacent, relative to the time-based values of the data events in the plurality of data events that have not been eliminated, to the time-based value of one of the remaining two data events.

### Claim 25 (depends on 21)

The computer readable medium of claim 21, wherein the set of instructions for displaying the reduced display representation comprises a set of
instructions for displaying a graph for the reduced display representation, the graph being defined along two axes, a first axis representing parameter values of the signal and a second axis representing time-based values for the parameter values;
instructions for displaying in the graph a data event that has not been eliminated; and
instructions for excluding from the graph a data event that has been eliminated.

### Claim 26 (depends on 21)

The computer readable medium of claim 21 wherein:
the three data events in a set are comprised of a first data event having a first parameter value and a first time-based value, a second data event having a second parameter value and a second time-based value, and a third data event having a third parameter value and a third time-based value, the first time-based value being lower than the second time-based value and the second time-based value being lower than the third time-based value.

### Claim 27 (depends on 26)

The computer readable medium of claim 26 wherein the set of instructions for processing comprises:
instructions for determining a first slope value for a first line connecting the first data event and the second data event, the first slope value and the first line being in terms of parameter values and time-based values;
instructions for determining a second slope value for a second line connecting the second data event and the third data event, the second slope value and the second line being in terms of parameter values and time-based values; and
instructions for determining whether the first slope value has a same sign as the second slope value.

### Claim 28 (depends on 27)

The computer readable medium of claim 27 wherein the set of instructions for processing further comprises:
instructions for eliminating the second data event upon determining that the first slope value has the same sign as the second slope value.

### Claim 29 (depends on 26)

The computer readable medium of claim 26 wherein the set of instructions for processing comprises:
instructions for determining a mathematically defined function between the first data event and the third data event, the mathematically defined function being in terms of parameter values and time-based values;
instructions for determining a difference of the second data event to the mathematically defined function, the difference being in terms of parameter values and time-based values; and
instructions for determining whether the difference is within a predetermined threshold difference.

### Claim 30 (depends on 29)

The computer readable medium of claim 29 wherein the set of instructions for processing further comprises:
instructions for eliminating the second data event upon determining that the difference is within the predetermined threshold difference.

### Claim 31 (depends on 29)

The computer readable medium of claim 29 wherein the mathematically defined function is determined by a type of parameter and a type of signal.

### Claim 32 (depends on 29)

The computer readable medium of claim 29 wherein the set of instructions for processing comprises:
instructions for determining a first slope value for a first line connecting the first data event and the second data event, the first slope value and the first line being in terms of parameter values and time-based values;
instructions for determining a second slope value for a second line connecting the second data event and the third data event, the second slope value and the second line being in terms of parameter values and time-based values;
instructions for determining a difference in slope values between the first slope value and the second slope value, the difference in slope values being in terms of parameter values and time-based values; and
instructions for determining whether the difference in slope values is within a predetermined threshold difference.

### Claim 33 (depends on 32)

The computer readable medium of claim 32 wherein the set of instructions for processing further comprises:
instructions for eliminating the second data event upon determining that the difference in slope values is within the predetermined threshold difference.

### Claim 34 (depends on 21)

The computer readable medium of claim 21 wherein the signal is an audio signal and the parameter is a gain level of the audio signal.

### Claim 35 (depends on 21)

The computer readable medium of claim 21 wherein the signal is a video signal and the parameter is a brightness level of the video signal.

### Claim 36

A computer readable medium storing a computer program for editing a particular content having an audio parameter, said computer program having a graphical user interface (“GUI”), said GUI comprising:
a user selectable interface tool for adjusting a gain level of the audio parameter to produce a plurality of time based parameter values representing adjustments to the gain level over a duration;
a display area for displaying a first display representation comprising a first set of data events for representing the plurality of time based parameter values; and
a particular selectable display preference which when selected causes the computer program to perform an automated machine process that (i) identifies a set of data events to eliminate from the first display representation, and (ii) generates a second display representation comprising a second set of data events for alternatively representing the plurality of time based parameter values within the display area by using a smaller set of data events than the first display representation.

### Claim 37 (depends on 36)

The computer readable medium of claim 36 wherein each of the plurality of time based parameter values comprises a time-based value for a value of the parameter, the time-based value corresponding to an instance in time during a time period.

### Claim 38 (depends on 37)

The computer readable medium of claim 37 wherein the second set of data events comprises a peaks-only representation for the plurality of time based parameter values, the peaks-only representation being in terms of parameter values and time-based values.

### Claim 39 (depends on 38)

The computer readable medium of claim 38 wherein the peaks-only representation comprises displaying a data event for a highest parameter value in a set of time based parameter values with increasing parameter values and a data event for a lowest parameter value in a set of time based parameter values with decreasing parameter values.

### Claim 40 (depends on 37)

The computer readable medium of claim 37 wherein the second display representation produces a simplified representation of the plurality of time based parameter values by eliminating one of three data time based parameter values based in part on parameter values of the three time based parameter values relative to each other.

### Claim 41 (depends on 36)

The computer readable medium of claim 36, wherein the computer program stores the plurality of time based parameter values in order to switch between the first and second display representations based on subsequent selections of the particular selectable display preference.

### Claim 42

A computer readable medium of a computer system storing a computer program for editing a particular content, said computer program for execution on a computer system, said computer program having a graphical user interface (“GUI”), the GUI comprising:
a first display area for displaying the particular content, the particular content having a particular parameter for at least one of a video signal and audio signal represented by a plurality of time based parameter values;
at least one user selectable tool for editing the particular content;
a second display area for displaying at least (i) a first display representation comprising a first set of data events for representing the plurality of time based parameter values and (ii) a second display representation comprising a second set of data events for representing the plurality of time based parameter values with fewer data events than the first display representation; and
a particular selectable display preference which when selected toggles between displaying at least the first display representation and the second display representation within the second display area, wherein the GUI retains the plurality of time based parameter values in a storage device of the computer system in order to switch the display of the second display area between the first display representation and the second display representation when a user changes the display preference.

### Claim 43 (depends on 42)

The computer readable medium of claim 42 wherein the first display representation models the plurality of time based parameter values with greater accuracy than the second display representation, and wherein the first display representation requires greater processing power from the computer system to display the first set of data events than to display the second set of data events of the second display representation.

### Claim 44 (depends on 42)

The computer readable medium of claim 42, wherein the GUI further comprises a user interface tool for adjusting data events of said representations.

### Claim 45

For a media editing application stored on a computer readable medium, said media editing application for execution by a processor, a method for specifying a graphical user interface (GUI) of the media editing application to edit media content having an audio parameter, the method comprising:
providing a user selectable interface tool for adjusting a gain level of the audio parameter to produce a plurality of time based parameter values representing adjustments to the gain level over a duration;
providing a user selectable setting for graphing the plurality of parameter values within a display area of the media content editing application;
providing an automated machine process which performs:
(i) a first process to produce a first display representation comprising a first set of data events for representing the plurality of parameter values within the display area when the user selectable setting specifies displaying a larger set of the plurality of parameter values, and
(ii) a second process to produce a second display representation comprising a smaller set of data events than the first set of data events, the second set of data events for alternatively representing the plurality of parameter values within the display area, wherein the media editing application retains the plurality of data values in a storage device in order to switch between displaying the first display representation and the second display representation during runtime operation of the media editing application.

### Claim 46 (depends on 45)

The method of claim 45 wherein the second set of data events comprises displaying only data events for parameter values having a highest parameter value in a set of parameter values with increasing parameter values and parameter values with a lowest parameter value in a set of parameter values with decreasing parameter values.

### Claim 47 (depends on 45)

The method of claim 45 wherein the second display representation comprises eliminating parameter values that are within a specified range of a connecting function, said connecting function connecting two non-adjacent parameter values.

### Claim 48 (depends on 45)

The method of claim 45 wherein the plurality of parameter values comprise first, second, and third parameter values forming a set of adjacent parameter values, wherein performing the second process comprises:
determining a first slope value for a line connecting the first and second parameter values;
determining a second slope value for a line connecting the second and third parameter values;
using the first and second slope values to determine whether to eliminate the second parameter value.

### Claim 49 (depends on 48)

The method of claim 48 wherein using the first and second slope values comprises eliminating the second parameter value when the difference between the first and second slope values is within a predetermined threshold difference.

### Claim 50 (depends on 48)

The method of claim 48 wherein using the first and second slope values comprises eliminating the second parameter value when the first and second slope values both have a positive value or both have a negative value.

### Claim 51

For a media editing application stored on a computer readable medium, said media editing application for execution by a processor, a method for specifying a graphical user interface (GUI) of the media editing application to edit a particular content, the method comprising:
providing a first display area for displaying the particular content, the particular content having a particular parameter for at least one of a video signal and audio signal represented by a plurality of time based parameter values;
providing at least one user selectable tool for editing the particular content;
providing a second display area for displaying at least (i) a first display representation comprising a first set of data events for representing the plurality of time based parameter values and (ii) a second display comprising a second set of data events for representing the plurality of time based parameter values with fewer data events than the first display representation; and
providing a particular selectable display preference which when selected toggles between displaying at least the first display representation and the second display representation within the second display area, wherein the GUI retains all plurality of time based parameter values in a storage device in order to switch the display of the second display area between the first display representation and the second display representation when a user changes the display preference.

### Claim 52

For a media editing application that edits content with an associated volume, a method comprising:
providing a display area for displaying a first representation comprising a first set of data events representing a plurality of time based volume values for the volume over a duration; and
providing a user interface tool which when selected causes an automated process of the media editing application (i) to produce a second representation comprising a second set of data events representing the plurality of time based volume values with fewer data events than the first representation, and (ii) to display the second representation within the display area while storing the plurality of time based volume values in order reproduce the first representation within the display upon a subsequent selection of the user interface tool.

### Claim 53 (depends on 52)

The method of claim 52, wherein providing the user interface tool comprises (i) analyzing the plurality of time based values and (ii) eliminating at least one time based value that is located within a series of consecutive increasing or decreasing time based values in order to generate the second set of data events for the second representation.

### Claim 54 (depends on 52)

The method of claim 52, wherein providing the user interface tool comprises (i) analyzing the plurality of time based values and (ii) eliminating a time based value that does not fall within a threshold defined by at least two neighboring time based values in order to generate the second set of data events for the second representation.

### Claim 55

A computer readable medium storing a computer program for editing content with an associated volume, the program comprising set of instruction for:
providing a display area for displaying a first representation comprising a first set of data events representing a plurality of time based volume values for the volume over a duration; and
providing a user interface tool which when selected causes an automated process of the media editing application (i) to produce a second representation comprising a second set of data events representing the plurality of time based volume values with fewer data events than the first representation, and (ii) to display the second representation within the display area while storing the plurality of time based volume values in order reproduce the first representation within the display upon a subsequent selection of the user interface tool.

### Claim 56

A computer readable medium storing a computer program for editing content having a particular parameter for at least one of a video signal and audio signal, said computer program comprising a graphical user interface (“GUI”), said GUI comprising:
a user interface tool for defining a plurality of parameter values for the particular parameter at different instances in time associated with playback of the content;
a display area for displaying a first display representation comprising a first set of data events for representing the plurality of parameter values; and
a particular selectable display preference from which a user selects one of at least two display preferences to cause the display area to display a second display representation comprising a smaller set of the first set of data events than the first display representation,
wherein the particular selectable display preferences causes the display area to display the second display representation by configuring a process that eliminates parameter values that are within a specified range of a connecting function, said connecting function connecting two non-adjacent parameter values.

### Claim 57 (depends on 56)

The computer readable medium of claim 56, wherein the user interface tool for defining the plurality of parameter values comprises adjusting gain levels related to an audio parameter of the particular content.

### Claim 58 (depends on 56)

The computer readable medium of claim 56, wherein the first display representation exceeds a particular display threshold of the GUI and the second display representation satisfies the particular display threshold.

### Claim 59 (depends on 58)

The computer readable medium of claim 58, wherein the particular display threshold of the GUI identifies a real-time processing ability of the computer program.

### Claim 60 (depends on 56)

The computer readable medium of claim 56, wherein the particular selectable display preferences causes the display area to display the second display representation by configuring a process that analyzes the plurality of parameter values and displays only data events for a highest parameter value in a set of parameter values with increasing parameter values and parameter values with a lowest parameter value in a set of parameter values with decreasing parameter values.

### Claim 61 (depends on 56)

The computer readable medium of claim 56, wherein the connecting function is a line.

### Claim 62 (depends on 56)

The computer readable medium of claim 56, wherein the connecting function is a logarithmic curve.

### Claim 63

A computer readable medium storing a computer program for editing a particular content having a particular parameter for at least one of a video signal and audio signal represented by a plurality of time based parameter values, said computer program having a graphical user interface (“GUI”), the GUI comprising:
a first display area for displaying the particular content;
at least one tool for editing the particular content;
a second display area for displaying a plurality of display representations for the plurality of time based parameter values; and
a particular selectable display preference comprising a plurality of selectable options, each option for producing a different display representation comprising different sets of data events for representing the plurality of time based parameter values within the second display area, the different display representations comprising at least two of
(i) a first set of data events representing the full set of the plurality of data values,
(ii) a second set of data events representing a first subset of the plurality of data values, and
(iii) a third set of data events representing a second subset of the plurality of data values, wherein the first subset comprises a greater number of time based parameter values than the second subset but fewer time based parameter values than the full set of the plurality of time based parameter values,
said particular selectable display preference for switching between the different display representations in the second display area at any time during operation of the GUI.

### Claim 64 (depends on 63)

The computer readable medium of claim 63, wherein the second set of data events represents a reduced display representation of the plurality of time based parameter values and the third set of data events represents a peaks-only representation of the plurality of time based parameter values.
