Abstract:
Audio, video, or data spiral timeline display allowing a user to visually analyze, make decisions or perform actions with regard to multiple events over time in a compact display area. Due to the spiral display of data, more data and at higher detail can be displayed in a compact area, which may be particularly useful for mobile computing displays. The spiral timeline interface can provide the ability to analyze, make decisions or perform actions with regard to large amounts of events or over a large amount of time while still maintaining a view of the far extremes of the timeline.

Description:
[0001]    This application claims the benefit of U.S. Provisional Application No. 61/751,164, filed on Jan. 10, 2013. The entire teachings of the above application is incorporated herein by reference. 
     
    
     BACKGROUND 
       [0002]    Visual audio, video, or data signal processing systems exist that allow a user to analyze, make decisions or perform actions with regard to audio, video, or data. Identifying events of interest (features of interest) within audio, video, or data streams can be difficult due to the quantity of this data and the lack of the ability to efficiently tag, segment, or index the data. While users want the ability to identify (in real time or after the fact) features of interest and determine interrelationships between features of interests in different audio, video, or data streams, the currently available timelines do not provide an efficient and user friendly solution for timeline processing. 
       SUMMARY 
       [0003]    While conventional timelines exist, they tend to suffer from several disadvantages in that they often provide a narrow field of view or display interface. In particular, such conventional timelines often allow a limited portion of the audio, video, or data timeline to be displayed into a given area. Further, if users would like to view timeline information beyond the viewable area, they often need to move the timeline left or right, taking the previous timeline area and audio, video, or data out of the users&#39; view. When used with real time data streams, conventional timelines are dynamic, and as a result, they move sequentially in order for the user to view most current portion of the audio, video, or data stream. However, this real time movement also takes the previous timeline area and previous data out of the user&#39;s view, or compresses it so small that the audio, video, or data is not useable to the user. Further, conventional timelines tend to increase in size when there is more data to display or the time range is increased, unless they compress the audio, video, or data displayed, which can make it difficult for the user to read/use. For example, the display screens on devices such as on a mobile phone, a tablet, or a computer have limited space available to display timelines, and only a portion of a conventional timeline or a compressed and often unusable conventional timeline will appear on the device display screen. 
         [0004]    The present invention overcomes the difficulty of the limited space available on and, in some cases, the limited size of the device display screens. Embodiments of the present inventions can provide a dynamic timeline that maximizes the field of view enabling the user to view and easily access previous portions of the timeline, as well as any current frames (if real time processing is used). This may be accomplished by first approaching the problem from the perspective that users are best served when they can view a maximum amount of audio, video, or data within a given area. This can particularly useful if the viewing screen has a relatively small display, such as cell phones or tablets. By presenting the audio, video, or data in a spiral form, the invention can provide the user with the ability to view more audio, video, or data in a given area. Typically, 8 times or more data can be displayed using the inventive spiral timeline interface. The inventive spiral timeline interface may further provide additional audio, video, or data information to be displayed allowing the user to analyze, make decisions, or perform actions, at a glance, while gaining access to much more audio, video, or data information. 
         [0005]    In real time audio, video, or data display situations, an embodiment of the invention can configure the spiral timeline such that it displays new audio, video, or data, without compressing the visual of the timeline (or portions thereof). 
         [0006]    If it is desired to view more or less audio, video, or data in detail, an embodiment of the invention may configure the spiral timeline to be rotated clockwise or counterclockwise (similar to turning the rings of the spiral like a knob) in order to change the time range of audio, video, or data that is displayed in the spiral. Each ring in the spiral timeline (or revolution in the spiral timeline) may represent a unit of time. In one example, each revolution may represent a half of an hour in the timeline. If the spiral timeline is turned in one direction, the amount of time represented on the timeline may be increased, and if turned in the opposite direction, the amount of time represented on the timeline may be decreased. By turning or twisting the rings of the spiral on a touch screen interface in either direction, a user may zoom in/out on the timeline to increase/decrease the time ratio represented by each ring in the spiral timeline. Preferably, this increase does not necessarily change the physical size or appearance of the spiral on the interface, but rather the unit of time represented by each circle/ring in the spiral timeline. The spiral timeline display area may be constant regardless of the amount, time, or time range, of audio, video, or data displayed, without having to compress the displayed audio, video, or data in the spiral timeline. In this way, the size of the spiral timeline on the interface may be static, while the unit of time represented by each circle/ring in the spiral (each revolution/cycle represented in the spiral) is variable. 
         [0007]    In one embodiment, the spiral timeline may be implemented such that the entire spiral timeline represents a maximum time allotment (timeline ruler) for a reference period. The maximum time allotment may correspond to a specified amount of time available on the timeline for recording. This maximum time allotment may be configured in any number of ways. For example, the amount of recording time available shown on the maximum time allotment may be configured/set/controlled by the user, or it may function of (or directly correspond to) the storage space available via the computing (recording) device. In this way, the maximum time allotment may be a function of disk space measurement. An input signal or input stream represented on the timeline may be data that has been previously recorded (non-real time) or is being recorded in real time. 
         [0008]    In some embodiments, an advancing portion of the input signal represented in the spiral timeline is represented on the spiral timeline using a first color, the first color being different from the color of the remainder of the spiral timeline. If the input stream represented on the timeline is being recorded in real time, it may be advancing, while being displayed over the maximum time allotment (reference period) represented by the spiral timeline. To show the incoming signal of audio, visual, or data being recorded, visual indicators on the spiral timeline, such as a change in color may be transposed over segments or portions of the spiral timeline may be provided as the input recording stream advances in time. 
         [0009]    The juxtaposition of the input signal over the maximum time allotment over the spiral timeline reveals to the user an amount of time that has passed in relation to the overall maximum time allotted. Thus, the spiral timeline is configured to show to the user a comparison of the amount of time represented by the input signal in relation to the maximum time allotment. Further, a multitude of additional segments or signals may be displayed over both the maximum time allotment and current time signal(s), to represent segments of recorded or marked time. This provides a visual representation of a time frame, current time in relation to that timeframe, and indications of recorded events and event durations within those time frames. 
         [0010]    A data processing system, method, computer program product or apparatus may be provided for representing an electronic input signal on a timeline. The input signal may be an audio, video or data signal. A display engine, for example, a touch interface, may be configured to generate a spiral timeline representative of an input signal. The spiral timeline may be configured to provide a representation of the input signal including parameters associated with the input stream including any of: time, current time, and a plurality of time segments. The spiral timeline interface may be configured to enable a user to access navigate to any portion of the input signal for playback. The spiral timeline may provide a representative depiction of the input signal without having to visually compress the input signal for display. In some embodiments, the spiral timeline provides a representative depiction of the input signal without having to compress the spiral timeline or portions thereof. 
         [0011]    In some embodiments, the spiral timeline interface shows the current time by advancing the signal representation in the spiral timeline during real time signal capture. 
         [0012]    The spiral timeline may be configured to show a plurality of time segments of the signal, such that the plurality of time segments represent defined portion(s) of the signal, which may be stored in permanent storage versus those portion(s) that are stored in temporary storage. A defined time segment in the spiral timeline may be defined by recorder markers signifying events in the signal. In other embodiments, the spiral timeline is configured to show a plurality of time segments of the input signal, such that each of the time segments represents the event identified in the segment of the input signal. 
         [0013]    In certain embodiments, an event in a segment of the input signal is defined on the spiral timeline using markers input by the user, the markers defining a beginning portion of the segment and an end portion of the segment such that the event is marked in the input signal. In some embodiments, the permanent storage segment is represented by a first color on the spiral timeline, and the temporary storage segment is represented by a second color on the spiral timeline. 
         [0014]    The spiral timeline may be configured to enable rotation clockwise or counterclockwise in order to change the time range of content in the signal being represented. In some embodiments, the spiral timeline may be configured to enable rotation clockwise or counterclockwise in order to change the time range of content in the signal being represented, such that the touch interface is configured to detect at least two fingers rotating on the touch interface. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee. 
           [0016]    The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention. 
           [0017]      FIG. 1A  is a schematic diagram of a computer network environment in which embodiments are deployed. 
           [0018]      FIG. 1B  is a block diagram of the computer nodes in the network of  FIG. 1A . 
           [0019]      FIG. 2  is a detailed view of an embodiment of the present invention. 
           [0020]      FIG. 3  is a detailed view of an embodiment of the present invention. 
           [0021]      FIGS. 4A-4B  are screenshots of an example interface implementation of the spiral timeline invention according to zoom in/out embodiments. 
           [0022]      FIG. 4C  is a screenshot of an example conventional timeline interface, which is corresponds to the spiral timeline interface according to an embodiment. 
           [0023]      FIG. 4D  is a screenshot of an example interface implementation of the file list for recordings stored in temporary memory/storage according to an embodiment. 
           [0024]      FIG. 4E  is a screenshot of an example interface implementation of the quick set interface for moving segments of the input signal from temporary memory/storage to permanent memory/storage according to an embodiment. 
           [0025]      FIG. 5  is a flow diagram according to an embodiment of a method of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0026]    A description of example embodiments of the invention follows. 
         [0027]    Digital Processing Environment 
         [0028]    Example implementations of the present invention may be implemented in a software, firmware, or hardware environment.  FIG. 1A  illustrates one such environment. Client computer(s)/devices  150  (e.g. mobile phone) and a cloud  160  (or server computer or cluster thereof) provide processing, storage, and input/output devices executing application programs and the like. 
         [0029]    Client computer(s)/devices  150  can also be linked through communications network  170  to other computing devices, including other client devices/processes  150  and server computer(s)  160 . Communications network  170  can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, Local area or Wide area networks, and gateways that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another. Other electronic device/computer network architectures are suitable. 
         [0030]    Embodiments of the invention may include means for displaying audio, video, or data signal information.  FIG. 1B  is a diagram of the internal structure of a computer/computing node (e.g., client processor/device/mobile phone device/tablet  150  or server computers  160 ) in the processing environment of  FIG. 1 , which may be used to facilitate displaying such audio, video, or data signal information. Each computer  150 ,  160  contains a system bus  179 , where a bus is a set of actual or virtual hardware lines used for data transfer among the components of a computer or processing system. Bus  179  is essentially a shared conduit that connects different elements of a computer system (e.g., processor, disk storage, memory, input/output ports, etc.) that enables the transfer of data between the elements. Attached to system bus  179  is I/O device interface  182  for connecting various input and output devices (e.g., keyboard, mouse, displays, printers, speakers, etc.) to the computer  150 ,  160 . Network interface  186  allows the computer to connect to various other devices attached to a network (for example the network illustrated at  170  of  FIG. 1A ). Memory  190  provides volatile storage for computer software instructions  192  and data  194  used to implement a software implementation of the present invention (e.g. spiral timeline). If implemented in software, the spiral timeline interface described herein may be configured using any known programming language, such as any high-level, object-oriented programming language. In one example, a software implementation for OS X and iOS operating systems and their respective APIs, Cocoa and Cocoa Touch maybe implemented using Objective-C or any other high-level programming language that adds Smalltalk-style messaging to the C programming language. 
         [0031]    Disk storage  195  provides non-volatile storage for computer software instructions  192  (equivalently “OS program”) and data  194  used to implement an embodiment of the spiral timeline of the present invention. Central processor unit  184  is also attached to system bus  179  and provides for the execution of computer instructions. Note that throughout the present text, “computer software instructions” and “OS program” are equivalent. 
         [0032]    In one embodiment, the processor routines  192  and data  194  are a computer program product, display engine (generally referenced  192 ), including a computer readable medium capable of being stored on a storage device  195 , which provides at least a portion of the software instructions for the spiral timeline invention system. The spiral timeline computer program product  192  can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the spiral timeline software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the invention spiral timeline software is a computer program propagated signal product  107  embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present spiral timeline invention routines/program  192 . 
         [0033]    In alternate embodiments, the propagated signal is an analog carrier wave or digital signal carried on the propagated medium. For example, the propagated signal may be a digitized signal propagated over a global network (e.g., the Internet), a telecommunications network, or other network. In one embodiment, the propagated signal is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer. In another embodiment, the computer readable medium of computer program product  192  is a propagation medium that the computer system  150  may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product. 
       Spiral Timeline Interface 
       [0034]    The present invention may be implemented as a display system for displaying audio, video, and data events over time.  FIG. 2  is a detailed view of an embodiment of the spiral timeline  200  of the present invention.  FIG. 2  shows the start point of the present spiral timeline  210  of the invention, and the end point of the spiral timeline  250 , where the continuous spiral line  240  represents the maximum time allotment signal as a function of time. In some embodiments, the start point of the spiral timeline corresponds to the zero point of time. 
         [0035]    In more detail, referring to the invention of  FIG. 3  showing an embodiment of the spiral timeline  200 , there is shown the start point of the spiral timeline  310 , and the end point of the spiral timeline  350 , where the continuous spiral line  340  represents the maximum time allotment signal as a function of time, and a plurality of signals  330  representing time segments signals as a function of time, and signal  320  representing a current time signal as a function of time. In some embodiments, a plurality of time segments is the plurality of signals  330  representing a time segments signals as a function of time. In some embodiments, the plurality of time segments is a plurality of information segments over time periods. 
         [0036]    By presenting the audio, video, or data in a spiral form, the invention can provide the ability to view more audio, video, or data in a given area. Typically, 8 times or more information can be displayed. The spiral interface may further provide additional audio, video, or data to be displayed allowing the user to analyze, make decisions, or perform actions, at a glance, while gaining access to much more audio, video, or data. 
         [0037]    As shown in  FIG. 4A , an embodiment of the spiral timeline  200 , the entire spiral timeline (from “start” to “finish”) corresponds to the maximum time allotment  440  for recording the input stream. This maximum timeline allotment serves as the reference timeline. In this example, a single coil (or revolution in the spiral) of the timeline corresponds to ¼ of an hour ( 410  to  430 ), and the maximum time allotment is 1 hour ( 440 ). 
         [0038]    The green and red segments in the hour long reference timeline represent those portions of the input stream which have been recorded either in temporary storage (shown in red, i.e.,  412 ,  414 , and  416 ) or permanent storage (shown in green, i.e.,  411 ,  413 ,  415  and  417 ). The input stream or source clip (which is stored in both temporary shown in the red segments and permanent storage shown in the green segments) totals 3 minutes and 26 seconds in length, and the input signal is represented by the ear  453  in this  FIG. 4A  example. The green recorded segments in the spiral timeline are set using timeline markers indicating where events occur in the source clip, which are features of interest that should be stored in permanent storage. For example, the duration of events in the timeline may be identified and marked by a user by assigning a color for a segment of the audio, video, or data signal. The assigned color begins at the frame (time) the event was first marked in the audio, video, or data stream and ends at the frame (time) the event was last marked in the audio, video, or data stream. In this way, the user can easily mark and navigate to key frames or segments in the timeline and ensure that those key portions are stored to a permanent storage location for later use/analysis, while an unmarked portion of the input signal represented on the spiral timeline is stored in temporary storage as a temporary storage segment. 
         [0039]    In some embodiments, a plurality of time segments can be copied or duplicated such that at least one copy of the time segment is stored in permanent memory or storage while at least one copy of the time segment is edited in temporary memory or storage. The edited duplicate or copy of the time segment can then be saved to permanent memory or storage as a new file or as a modified replacement of the copy of the time segment in permanent storage, e.g. overwriting and replacing the previous copy of the time segment in permanent storage. In some embodiments, the input stream, source clip, or main recording can be stored as one or more copies in both temporary memory or storage and permanent memory or storage. For example, recorded (non-real time or pre-existing) audio, video, or data information stored in permanent memory can be shown as green segments while real time audio, video, or data information can be shown as red segments. For example, a copy of the time segment or event in the spiral timeline may be generated by a user marking and assigning a color for a segment of the audio, video, or data signal. The assigned color begins at the frame (time) the event was first marked in the audio, video, or data stream and ends at the frame (time) the event was last marked in the audio, video, or data stream. In this way, the user can easily mark and copy or extract key frames or segments in the timeline and ensure that those key portions are simultaneously copied and stored to temporary storage and to permanent storage. The temporary storage copy of the time segment may allow the user to easily edit the temporary segment. The permanent storage copy of the time segment is unmodified until the user optionally chooses to save any changes to replace the permanent storage copy of the time segment with a modified version. 
         [0040]    In some embodiments, the signal being processed is recorded (non-real time) audio, video, and data information, and the recorded information is displayed on the spiral timeline. In example embodiments, the user may recall a series of saved files and place or display the saved file data on the timeline. Thus, in some embodiments, the input signal is a series of recorded files. For example, the user has a series of camera video recordings that were made by multiple cameras at the same time. The user can then edit each video clip to ensure a complete continuous video. The user can see gaps, or missing segments, on the spiral timeline if the user does not have video for a segment of time. In example embodiments, the series of recorded files displayed on the spiral timeline allows the user to view a missing time segment on the spiral timeline. 
         [0041]    In another embodiment, the spiral timeline displays recorded data. In example embodiments, the series of recorded files is displayed on the spiral timeline, such that each of the recorded files is displayed in a different color and overlapping time segments are displayed as an additive color. For example, if the user has voice to text recognition of audio streams, the user can place a marker at times when the user, system, apparatus, or method detects the word “bomb.” Multiple spiral timelines can be overlaid with additive colors so that when the word “bomb” is detected at a higher rate the user, system, apparatus, or method detects a brighter color on the spiral timeline. The brighter colored segment can be tapped or selected to hear the audio to determine the context in which the word was used. Thus in example embodiments, the additive color is displayed as a brighter color. 
         [0042]    In some embodiments, an additive color results from a combination of multiple colors to create a new color. For example, an additive color of magenta results from combining or mixing red and blue; an additive color of yellow results from combining or mixing red and green; and an additive color of cyan results from combining of mixing blue and green. In example embodiments, Event Type A could be marked or represented by red segments, and Event Type B could be marked or represented by blue segments resulting in magenta segments on the spiral timeline denoting times when both events occur at the same time. Here, no magenta segments indicate that Event Type A and Event Type B did not occur simultaneously for any point in or period of time in the displayed spiral timeline. For example, if a user measures or records an input signal of a baseball being thrown, the baseball&#39;s time of arrival at home plate could be marked as Event A in Blue. The measurement or recording of the arrival time of the Batter&#39;s bat at the edge of home plate as Event B could be marked in Red. Any Magenta time segments in the spiral timeline would represent perfect contact with the ball. However, a spiral timeline displaying Red segments before Blue segments show the Batter swung too early, and Blue segments before Red segments show the Batter swung too late. Therefore, the displayed spiral timeline tracking Event A and Event B may give a very simple visual cue to the Batter to correct the timing of the swing of the bat. In other embodiments, additional events or multiple spiral timelines including other measurements such as height of the ball and height of the bat, etc. could each be displayed in different colors, so the user makes an analysis with visual cues in color rather than making an analysis with numbers and metrics. A spiral timeline with visual cues such as color may allow a user to make decisions regarding data with less processing required by the user. In some embodiments a visual cue is advantageous over processing a lot of information or raw data. For example, a clock/dial type speedometer or RPM gauge is better than a digital speedometer or RPM gauge because the user does not have to process details of interpreting numbers rather a glance at the location of a needle on a dial indicates speed or RPM of a vehicle. 
         [0043]    In other embodiments, a signal is being processed in real time and then displayed on the spiral timeline. The user may mark sections of input to record in real time to display on the spiral timeline. The spiral timeline can show the user what audio, video, or data has been recorded, how long the recording has been going on, how much time remains in the maximum time allotment, etc. 
         [0044]    If a signal is being processed in real time and then displayed on the spiral timeline, the spiral timeline may be configured to new portions of the input signal advancing on the spiral timeline, without having to visually compress other portions of the spiral timeline. In one example embodiment, even while the input stream advances on the spiral timeline in real time, the size (circumference of the outer edge) of the spiral timeline generally is static, while the time frame being represented is variable. This is advantageous for devices having small interfaces, such as mobile devices and tablets since the entire timeline can remain in the user&#39;s field of view. For example, while  FIG. 4A  shows each revolution in the spiral timeline representing 15 minutes,  FIG. 4B  shows a zoomed out version of the same spiral timeline in which each revolution in the spiral corresponds to ½ of an hour ( 410  to  430 ). Here, the general size of the spiral is static, while the number of cycles or curves in the spiral is variable and increases proportionally as a function of an increase in the maximum time allotment. For instance, the maximum time allotment  440  shown in the spiral timeline of  FIG. 4A  equals 1 hour, while the maximum time allotment  440  shown in the spiral timeline in  FIG. 4B  equals 4 hours. Likewise, the length of the green line (permanently stored segments of the input stream) is increased while zooming in as in  FIG. 4A , while it is decreased while zooming out as shown in  FIG. 4B  (compare, for example, segment  417  in  FIG. 4A  versus  FIG. 4B ). 
         [0045]    In one example embodiment, this rotated reduction/expansion of the timeline feature may be controlled by zooming in or out using a touch interface via a twist (knob) turning gesture with at least two fingers on the spiral timeline. For example, a touch interface may be configured to detect at least two fingers rotating on the touch interface (screen) to adjust the reduction/expansion of the spiral timeline accordingly. 
         [0046]    In some embodiments, the touch interface or touch screen can detect at least one finger and a zoom gesture. A zoom gesture may include, for example, rotation of at least two fingers, distance changing between at least two fingers (two fingers spreading apart or two fingers closing together), a swipe up or swipe down with at least one finger, and a left swipe or a right swipe (left/right swipe) with at least one finger. 
         [0047]    In some embodiments, the swipe up or swipe down motion to zoom in and to zoom out may be used for devices without a touch interface, for example, by using a mouse. In another example, plus or minus symbols, for example, as buttons or icons in a spiral timeline interface, may be used to implement the reduction/expansion features. 
         [0048]    The time frame being represented in the spiral timeline may be variable, for example, with a zoom gesture. In some embodiments, the amount of time that the displayed spiral timeline represents may be adjusted by selecting a time range (frame). For example, the maximum time allotment shown in the spiral timeline equals 4 hours, and when a zoomed out version of the spiral timeline is display, for example, in  FIG. 4B , the displayed spiral timeline corresponds to 4 hours. To display a spiral timeline that represents a 15 minute window within the maximum time allotment of 4 hours, a selection mechanism may allow selection of a zoomed in version of a 15 minute window of the spiral timeline. In example embodiments, a left/right swipe is used to move along the timeline of a zoomed in portion or version of the spiral timeline. For example, use a left/right swipe to go backward or forward to view 15 minute window versions of the spiral timeline within the maximum time allotment of 4 hours. 
         [0049]    In certain embodiments, the zoom feature focuses on a selected recorded clip on the timeline, e.g., a green time segment. In an example embodiment, a green time segment is selected, and the zoom function is controlled by a zoom gesture of a left swipe or a right swipe with at least one finger. For example, the maximum time allotment shown in the spiral timeline equals 4 hours, and a 15 minute green time segment is displayed on the spiral timeline. The user can select, for example, by touching the 15 minute green time segment, which causes the 15 minute green time segment to be selected in memory. A zoom gesture, for example, rotation of at least two fingers or a left/right swipe, the zero point of time is set to the middle of the green recorded segment on the spiral timeline and allows a user to go forward or backward along the timeline. 
         [0050]    Also shown in  FIGS. 4A and 4B  is a trash icon  451  in which segments of the timeline may be selected and drag/dropped to be discarded or moved into temporary storage. In this way, segments of the timeline which had been marked for saving to permanent storage (shown in green) may be conveniently moved to temporary storage. Also shown in  FIGS. 4A and 4B  is a save option (Save icon  452 ), which conveniently allows a user to move segments of the input stream that were stored in temporary storage (shown in red) to permanent storage (shown in green). 
         [0051]    A conventional horizontal timeline may be optionally accessed, as well as a file list may be optionally accessed via the features provided at the upper right hand corner of the touch interface. For example, selecting the Timeline icon  460  of  FIG. 4A  or  4 B allows optional access to a conventional horizontal timeline. One such conventional timeline interface is shown in  FIG. 4C . As shown in  FIG. 4C , a screenshot is provided of an example conventional timeline interface  470 , which corresponds to the inventive spiral timeline interface according to an embodiment. The green and red segments in the recording time window of the conventional timeline interface  470  represent those portions of the input stream which have been recorded either in temporary storage (shown in red, i.e.,  412 ,  414 , and  416 ) or permanent storage (shown in green, i.e.,  411 ,  413 ,  415  and  417 ). The Present Time  410  corresponds to the start point of a spiral timeline. The recording time window of the conventional timeline shows about 14 minutes of the timeline. The view of  FIG. 4C  corresponds to the Detailed Set view of a conventional timeline, denoted by the Detailed Set icon  471  being shown in blue. 
         [0052]      FIG. 4D  is a screenshot of an example interface implementation of the file list  480  for recordings stored in temporary storage/memory according to an embodiment. For example, the portions of the input stream recorded in temporary storage correspond to the red segments of the timeline (e.g.,  412 ,  414  and  416  in some embodiments). The view of  FIG. 4D  corresponds to a File List view of a timeline, denoted by the File List icon being  481  shown in blue. 
         [0053]      FIG. 4E  is a screenshot of an example interface implementation of the quick set interface  490  for moving segments of the input signal from temporary memory/storage to permanent memory/storage according to an embodiment. The ear  492  represents the input signal and identifies the length of the signal. In this example, the input signal is 2 minutes and 43 seconds. The timeframe short cuts provided on the tool bar  493  in the center of the interface enable quick extraction of segments of the input signal from temporary to permanent memory (e.g. 5 seconds with icon  494 , 1 minute with icon  495 , 5 minutes with icon  496 , and all with icon  497  are provided as timeframe options for extraction). The view of  FIG. 4E  corresponds to a Quick Set view of a timeline, denoted by the Quick Set icon  491  being shown in blue. 
         [0054]      FIG. 5  is a flow chart of an example method of the invention to represent an input signal on an electronic interface. At step  501 , the method generates a spiral timeline  200  that represents an input signal including an audio, video, or data signal on an electronic interface. At step  502 , the method configures the spiral timeline to provide a representation of parameters associated with the input stream including any of: time, current time, and a plurality of time segments. Any or all of these parameters, such as a plurality of time segments at step  503 , can be displayed in the spiral timeline interface. 
       Example Implementations 
       [0055]    Aspects of the inventive spiral timeline interface may be implemented using any device or system (e.g.  FIG. 1A  computer/device  150 ,  160 ) capable of recording or processing an audio, video, or data input file. Optionally, a retroactive recording system using features disclosed in U.S. Pat. No. 6,072,645, “Method and apparatus for retroactive recording using memory of past information in a data storage buffer,” filed Jan. 26, 1998, the entire teachings of which are incorporated herein by reference, for example, may be implemented using the spiral timeline. In an example mobile implementation, if a retroactive recording application is executed, the system may be configured to using a loop recorder implementation in which, upon execution, it automatically starts recording audio, video, or data content and stores the incoming input stream to a temporary storage location (cache). If the application is exited from or shut down, the input stream may be discarded. If the user executes the application again, it would automatically begin a new recording. If a user indicates that segment(s) of the input stream should be permanently recorded, then those segment(s) may be stored to a permanent storage location shown on the spiral timeline in a different color shade or using a transparency overlay on the respective portion of the spiral timeline (or shown in any other way capable of differentiating the recorded portions stored to temporary memory from those portions stored in permanent memory). In this way, the spiral timeline can be used to help easily distinguish portions of an input signal that are stored in temporary storage verses those portions that are stored in permanent storage. 
         [0056]    The spiral timeline may be drawn (generated) on the interface using any method known to one of ordinary skill. For example, draw routines associated with the OS system&#39;s API or virtual machine may be called to draw the spiral from start to end. In one example implementation, the spiral may be drawn using a series of half circles (semi circles of varying sizes. Because the system may be constantly updating portions of the spiral to reflect events or changes to the input stream, the use of half circles to generate the spiral can be beneficial as it may require less system resources (and draw time) to update those portions of the spiral that have changed, as opposed to drawing and updating an entire circle in a series, or an entire spiral. 
         [0057]    It should be noted that the references herein to “circles” should be interpreted to include quasi circles. For example, in generating the spiral, precise circles (or half circles) are not drawn via the draw routine because there are slight variances with each of the connected half circles in order to implement them into an integrated spiral shape. When a half circle is drawn using a draw routine via the API, for instance, a slight offset is added to ensure that the end point grows slight to connect the spiral. 
         [0058]    Example features/comments from a non-limiting software code implementation are provided below:
       Constants are first set up to define how the 3 line types are to be drawn.   Constants are also affected by device screen size, user interface style (V1, V2, etc.).   Maximum allowable time is represented in a White line, which is drawn first   Current time since the app was started is represented in a Green line, which is drawn second, on top of White line   Recording clips or other events are represented in a Red Line, which is drawn last, over both Green and White lines. There can be many red line segments.   All lines are drawn within a half circle segment. This provides faster drawing since the routine doesn&#39;t need to complete all half circles for green and red lines if there is no data to be displayed there       
 
         [0000]                                   // First set up the constants          Degree_Angle = 90;  // // angle and direction determine how half       circle is drawn, i.e. top to bottom, or bottom to top       angle = (float)(Degree_Angle * ( (float)M_PI/180)); // float , in radians ,                    
The radian input should be the offset where the circle starts (the first segment).
 
         [0000]    
       
         
               
             
           
               
                   
               
             
             
               
                    segments = 450;   // NSUInteger , how many segments are in 
               
               
                 each half circle 
               
               
                    drawLineToCenter = NO; // BOOL 
               
               
                    // 
               
               
                    // Now set the colors for each line segment below 
               
               
                    cColor1.r = 0;   //G  Green used for current time 
               
               
                    cColor1.g = 255;  //R 
               
               
                    cColor1.b = 0;   //EE 
               
               
                    cColor1.a = 255;  //N 
               
               
                    // 
               
               
                    cColor2.r = 255;  //W  White used for overall / max time 
               
               
                    cColor2.g = 255;  //H 
               
               
                    cColor2.b = 255;  //IT 
               
               
                    cColor2.a = 255;  //E 
               
               
                    // 
               
               
                    cColor3.r = 255;  //R  Red used for recorded segments 
               
               
                    cColor3.g = 0;   //E 
               
               
                    cColor3.b = 0;   //D 
               
               
                    cColor3.a = 255;  // 
               
               
                    // 
               
               
                   // 
               
               
                    Loop_Dir_Temp = Loop_Dir_Temp + 1; 
               
               
                    if ( Loop_Dir_Temp &gt; 1) { Loop_Dir_Temp = 0; } 
               
               
                    Loop_Temp = Loop_Temp + 1; 
               
               
                    } while ( Loop_Temp &lt; 15 ); 
               
               
                    // done drawing the first white line , complete spiral 
               
               
                    // 16 half circles total 
               
               
                    // for 4 hours , 14,400 seconds , each circle is ½ hr 
               
               
                    // 1800 seconds per circle 
               
               
                    // now draw the green line for current recorded timeline 
               
               
                    float HalfCircleTime = 1800 / 2; 
               
               
                    int Start_Offset = 0;  // start line after little start button 
               
               
                    // now show the current timeline over the white line in green 
               
               
                   
               
             
          
         
       
     
         [0065]    While this invention has been particularly shown and described with references to example 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 scope of the invention encompassed by the appended claims. 
         [0066]    For example, it should be noted that although an Archimedean spiral is shown in certain figures to depict the spiral, any curve(s) which emanate from a central point, getting progressively farther away as they revolves around the point may be used to depict the spiral. Other forms of spiral configurations may be used, such as a Cornu spiral, Fermat&#39;s spiral, hyperbolic spiral, lituus, logarithmic spiral, or spiral of Theodorus. 
         [0067]    It should also be noted that while the spiral timeline interface may be described in portions herein as showing a first input signal, one skilled in the art would appreciate that the interface may further show advantageously one or more further input signals. Such additional audio, video, or data feeds may be represented using different colors along the spiral (or via transparencies with layers). The use of a plurality of input feeds may be particular useful, for example, in the situation where multiple cameras are being used to film different angles/shots of the same event. In this way, the spiral timeline can be used to easily line up all the various input feeds and those feeds having shots or frames that are of particular interest can be easily marked as such (and stored to permanent storage), while others segments not of interest can be marked for temporary storage. In this way, a single combined stream can be integrated using the marked segments of interest from the various input streams. 
         [0068]    Further, while the spiral timeline has been discussed in the context of providing a representation of data (in particular, audio, video, or data), other types of content may be represented by the spiral timeline interface. For instance, the spiral timeline may be used as an interface to represent files stored on a data storage device or disk (or any other electronic storage medium), from an image archive, or from a directory of electronic files. Different directories could each be represented by along the timeline, each varying by length based on file size. 
         [0069]    In another example, the spiral timeline invention may be optionally implemented as an encoder interface to facilitate key frame marking and feature detection to facilitate encoding and compression optimization and management. In this way, one of ordinary skill would to be able to easily mark key frames for permanent storage for compression purposes, or identify features of interest, events, or areas of complexity in the input signal, frames or segments of which could be marked using colors for identification to be stored in permanent storage and/or for further processing. 
         [0070]    While a preferred implementation of the invention is a spiral timeline interface on a mobile phone  150 , the invention may be implemented on any computing device. In an example optional implementation, the spiral timeline could be implemented in an interface display for a digital camera computing device  150  for image, video, or audio capture. In this digital camera capture example, the user would be able to mark events (features of interest) in the incoming data stream advancing on the spiral timeline on the camera interface in real time. Other optional examples of a computer/device  150  in which aspects of the present invention may be implemented are shown in the Retroactive Recording Devices disclosed in U.S. Pat. No. 6,072,645, “Method and apparatus for retroactive recording using memory of past information in a data storage buffer,” filed Jan. 26, 1998, the entire teachings of which are incorporated herein by reference.