Abstract:
Gestures allow selection and alteration of media files. A video file is graphically illustrated on a touch sensitive display. A gesture input is received at a point of contact on the touch sensitive display and ends with disengagement of the touch sensitive display. A vector is determined from the point of contact to the disengagement of the touch sensitive display. The video file is then modified in response to the vector.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. application Ser. No. 12/130,802, filed May 30, 2008, now issued as U.S. Pat. No. ______, and incorporated herein by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    The increasing popularity of presenting and sharing data files, in particular linear data streams including audio and video files, has created a need to be able to manipulate these files readily. Manipulating may include selecting a portion for playback, extracting a desired selection of the total file, and/or altering attributes inherent in a file. For example, attributes for an image or video file include, but are not limited to, color, chrominance, hue, tint, file compression, sampling rate, resolution, color space, filters, and the like. Attributes for an audio file include, but are not limited to, bass, treble, filters, reverb, echo, file compression, sampling rate, and the like. Such manipulations can be cumbersome, particularly on small form factor devices such as laptops, mobile phones, smartphones, personal digital assistants (PDAs), portable media players, and the like. 
       SUMMARY 
       [0003]    This summary is provided to introduce single-touch media selection, which is further described below in the Detailed Description. This summary is not intended to identify the essential features of the claimed subject matter, nor is it intended for determining the scope of the claimed subject matter. 
         [0004]    In one implementation, a computing device may be equipped with an input device and logic to implement single-touch media selection. Single-touch media selection enables the user to alter a data file based on input from the input device. Using a series of contiguous gestures, the user may select a specific portion of the data file and/or alter attributes of that file. 
         [0005]    Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. 
     
    
     
       BRIEF DESCRIPTIONS OF THE DRAWINGS 
         [0006]    The disclosure is made with reference to the accompanying figures. In the figures, the left most reference number digit identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical terms. 
           [0007]      FIG. 1  depicts several illustrative devices which may utilize the single-touch media selector method. 
           [0008]      FIG. 2  depicts an illustrative schematic of a series of gestures and their effects on a linear representation of a media file. 
           [0009]      FIG. 3  depicts an illustrative schematic of the ability to momentarily disengage and re-engage to complete a gesture. 
           [0010]      FIG. 4  depicts a flow diagram of single-touch media selection, according to exemplary embodiments. 
           [0011]      FIG. 5  depicts an illustrative schematic of an audition area for a video media file comprising a sample of video frames before and after selected endpoint frames of the media selection. 
           [0012]      FIG. 6  depicts an illustrative schematic of a sample display showing a series of previously selected media selections and their associated tags. 
           [0013]      FIG. 7  depicts a schematic of an exemplary apparatus implementing single-touch media selection. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    A single-touch media selector method is described next. With the advent of electronic presentations and small form-factor devices, there is a growing demand for methods to easily and quickly select portions of and/or modify attributes of a media file using a single contiguous gesture. 
         [0015]    With this in mind,  FIG. 1  depicts an illustrative assortment  100  of possible devices utilizing a single-touch media selector in accordance with the present disclosure. The assortment  100  includes, without limitation, a laptop computer  102 , a cellular phone  104 , a video camera  106 , and a handheld computer  108 . Each of these devices has some form of input device  110 . 
         [0016]    The input device  110  may include, but is not limited to, a touch sensitive pad, touch sensitive display, mouse, keyboard, joystick, trackball, mouse, light pen, laser pointer, accelerometer, motion detector, data glove, motion tracking system, eye tracking system, camera, combinations of any of these, and the like. The input device  110  is capable of providing data pertaining to a single contiguous gesture to a processor of the device implementing the method. 
         [0017]    According to exemplary embodiments, a single contiguous gesture is a single stream of input data from one input device. For example, a single contiguous gesture includes an input from a single finger on a touchpad, motion of a single mouse, movement of a single joystick, touch of a single stylus, motion of a single hand, and the like, but not the use of two fingers, two mice, two hands, and so forth. 
         [0018]    The input device  110  is configured to provide some vector values of the single contiguous gesture to the processor implementing this method. A vector value includes, but is not limited to, a direction, duration, velocity, rate of acceleration, length, and the like. 
         [0019]    The input device  110  also is capable of registering the user&#39;s engagement and disengagement with the input device and providing this data to the processor of the device implementing this method. Engagement includes, but is not limited to, touching a touchpad, activating a mouse button, activating a stylus button, making a particular gesture, pressing a button, and the like, to signal that a single contiguous gesture is about to begin. Examples of engagement include clicking a button on a stylus, pressing on the touchpad, or a pre-defined hand motion in a data glove or virtual space environment. Disengagement indicates the end of the contiguous gesture by, for example, the removal of a finger from a touchpad, release of a mouse button, or the like. 
         [0020]      FIG. 2  depicts an illustrative schematic of a series of gestures  200  and their effects on a linear representation of a media file. 
         [0021]    At  202 A, a touchpad  110  registers an engagement gesture  204  of the user bringing a finger into contact with the touchpad surface. A linear representation of a media file  206 A is shown, with a default selection  208  being triggered by the engagement  204 . The center of the default selection  208  is indicated by centroid  210 A. The long axis of the linear representation of file  206 A represents time, with time increasing from left to right. 
         [0022]    At  202 B, the user moves his finger in an up gesture  212  along the surface of the touchpad  110 . In this example, the up gesture  212  is associated with the command to expand the boundaries of the default selection temporally (i.e., select frames before and after the default selection) equally from the midpoint of the selection. A resulting linear representation  206 B illustrates a newly expanded selection  214  with centroid  210 B present in the center of the selection. 
         [0023]    At  202 C, the user now continues the gesture, moving to a right gesture  216  along the surface of the touchpad  110 . In this example, the right gesture  216  is associated with the command to shift the selection forward in time (i.e., select a later section of the media file). A resulting linear representation  206 C illustrates a shifted time selection  218  now shifted to the right and associated centroid  210 C, which is again in the center of the selection. 
         [0024]    At  202 D, the user removes his finger from the touchpad  110 , thus providing a disengagement gesture  220 . In this example, the disengagement gesture  220  is associated with the command to trim any unselected portions of the linear media file. A resulting linear representation  206 D is a final selection with centroid  210 D in the center ready for presentation  222 . One possible implementation is that upon disengagement the user is prompted to place a tag on the new final selection. This tag may contain descriptive information or terms suitable for searching or future manipulation. A default tag may be provided (e.g., user name, initials, date, time, etc.), or the user may input a custom tag. 
         [0025]    While  FIG. 2  shows a touchpad as the input device, as described earlier, the input device may be a touch sensitive display. In the case of a touch sensitive display, the linear representation of a media file may be touched, creating an associated default selection with a centroid at the point of the touch. The centroid on the display may then be manipulated by touch in similar fashion as described above to modify the selection. 
         [0026]    Additionally, several gestures with corresponding pre-defined actions may be combined. For example, a gesture up and to the right may expand the selection while also moving the centroid to the right. It is also possible that a modification to a selection may take place during execution of the gesture, but that such modification is not finalized until disengagement. For example, while sliding a finger to the right, the selection may slide to the right in real-time along the linear representation of the media file, but does not finalize until disengagement (that is, the player may not actually navigate to the new location in the file until disengagement). 
         [0027]      FIG. 3  depicts an illustrative schematic of the ability to momentarily disengage and re-engage to complete a gesture  300 . For example, at  302 A a user initiates a gesture using a finger at point 1 on the touchpad  110 . Moving to point 2 and then 3 while the finger is engaged with the touchpad  110 , the user has insufficient room on the touchpad to complete the desired gesture. At  302 B, the user momentarily disengages. At  302 C, the user has repositioned his finger to point 4, re-engaged, and continued to move through points 5 and 6 to complete the gesture. Utilizing the ability to momentarily disengage, the gestures of  302 A through  302 C are considered a single contiguous gesture, and thus, may be interpreted as being the same as a gesture  304 . 
         [0028]    The interval of time which may elapse between disengagement and re-engagement may be fixed, set by the user, or adaptively adjusted. 
         [0029]      FIG. 4  depicts a flow diagram of a single-touch media selector method  400 , according to exemplary embodiments. 
         [0030]    At  402 , a media file is presented to a user by a processor utilizing an output device. This media file may be a data file encompassing numeric or statistical data, a video file, a still image, an audio file, a document, or the like. 
         [0031]    At  404 , the method  400  receives the user input comprising a single contiguous gesture from an input device  110 . According to exemplary embodiments, a single contiguous gesture is a single stream of input data from one input device, and may include multiple different vector components or qualities. 
         [0032]    At  406 , the vector qualities of the user input are analyzed by a relation module and compared to a library of previously defined user gestures. Based on this analysis, the gesture is related to an associated command. Commands may be pre-programmed or user defined. The command associated with a single gesture may vary depending upon the context in which the gesture is made. For example, an up gesture may increase the temporal boundaries of the default selection in a video file, while the same up gesture may increase the bass in an audio file. In some implementation, the user may be presented with a graphical icon suggestive of the gestures or the pre-determined command or both to facilitate use. 
         [0033]    The method  400  may also monitor the inputs of a particular user identified by a user identification module and the actual command selected for execution. A particular user may be identified by a login, biometric, distinctive gesture, and the like. The method may then adjust the correspondence between the particular user&#39;s input and the desired pre-defined action, thus adapting to that user&#39;s gestural idiosyncrasies using a learning module. 
         [0034]    At  408 , the associated command is executed by a change application module and applied to the file. The resulting modification to the file may be to the file data itself, or an overlay applied to the file, or a combination of the two. The results may then be stored to memory and/or output to the user via a display, speakers, or other output means. 
         [0035]      FIG. 5  is an illustrative schematic of an audition area comprising selection of video from a linear representation of a file and the display of samples at intervals before and after the current selection endpoints. The audition area may be, but is not limited to, implementation on the devices and gestures shown earlier in  FIG. 1-3 . 
         [0036]    At  500 , the linear representation of the file from  FIG. 2  is shown at  206  as well as the initial default selection  208  and associated centroid  210 A occurring upon engagement. In  FIG. 5  the file is assumed to be a video file. However, as discussed above, the techniques described herein are applicable to other types of media files as well. Also, the long axis of the linear representation of file  206  represents time, with time increasing from left to right. 
         [0037]    At  502 A, the beginning point of the default selection  208  is indicated (as shown, for example, in  FIG. 2 ). At  504 A, the default end point is indicated. 
         [0038]    In  FIG. 5 , the method has been configured to use a sampling module to sample data in the media file at pre-defined intervals of 10 seconds before and after the endpoints of the default selection (as shown, for example, at  208  in  FIG. 2 ). Thus  506 A is at time=30 seconds,  508 A is at time=40 seconds,  510 A is at time=50 seconds, starting point  502 A is at time=60 seconds, ending point  504 A is at time=120 seconds,  512 A is at time=130 seconds,  514 A is at time=140 seconds, and  516 A is at time=150 seconds. This sample interval may be pre-determined or user configurable. The interval may be based on time, frame, track, chapter, bookmark, or suitable temporal divisor or other divisor. Thus, while a linear sample time interval is shown here (i.e., every 10 seconds), logarithmic, exponential, or other functions may be used to, for example, set the sample intervals to 1, 10, 100, 1000. 
         [0039]    Multiple interval levels may also be displayed simultaneously. For example, the sample interval may encompass the five frames immediately prior to the default start, then every fifth frame thereafter, and a similar display for the default ending frame. Such display permits fine tuning of the selection by providing more displayed frames closer to the selection boundaries, while displaying frames farther out to facilitate rapid boundary changes. 
         [0040]    After these sample points have been determined, they may be presented to the user. At  506 B,  508 B,  510 B,  502 B,  504 B,  512 B,  514 B, and  516 B a series of still images are shown depicting the three ten-second intervals before and three ten-second intervals after the default selection endpoints. The samples presented vary depending upon the type of data being manipulated. In this example a video file is being modified. Therefore, the user may be presented with samples comprising still images or short clips. 
         [0041]    The user may then utilize the single-touch method to modify the default selection  206  to encompass the desired start and end points shown in the audition area. As endpoints are changed, the samples may be updated to reflect the new endpoints. The modified selection may be finalized either by disengagement or by another gesture. When finalized, the unselected portion of the modified selection may be removed, leaving the modified selection as the entire media file. Alternatively, the selected portion may be removed, or the selected portion may be tagged. 
         [0042]      FIG. 6  depicts at  600  an illustrative schematic of a sample display showing previously selected media selections and their associated tags. 
         [0043]    A display  602  is shown with samples  604  from the previously selected portions of the media file. The samples  604  may be from the endpoints, midpoints, or designated key frames in a selection. Each sample  604  may be annotated with a tag  606 . These tags  606  may display metadata, rich media component information, user data, default data, and the like. Tag information may be used to facilitate selection, organization, modification, or other manipulations of the media file. 
         [0044]      FIG. 7  depicts a schematic of an exemplary apparatus  700  implementing single-touch media selection. An apparatus  700  implementing this method may utilize a processor module  702  with an associated storage module  704  configured to store at least a portion of a media file and the input device  706  comprising an input device such as  110  as described above. 
         [0045]    A user interface module  708  facilitates interaction between the user and the apparatus. An output device  710  displays or otherwise presents data to the user. Memory  712  may contain an operating system  714  and a single-touch media selection module  716 . 
         [0046]    Within the single-touch media selection module  716 , input module  718  is configured to receive a single contiguous gesture starting with engagement and ending with disengagement from the input device  706 . A relation module  720  is configured to relate the received gesture with a pre-defined change to the file. Once the pre-defined change to the file is determined in the relation module  720 , a change application module  722  may then apply the change to the media file. 
         [0047]    A sampling module  724  may also be configured to output a sample of data from designated intervals before and after the endpoints of a selection. This output may be on a suitable output device  710  compatible with the file being modified. 
         [0048]    A tagging module  728  may also be configured to tag the selected subsets of the file. This tagging can include prompting the user to input data, accept a default, or automatically generate data regarding the selected subset. 
         [0049]    A user identification module  730  may be configured to identify a particular user. As described above, this identification may be by a login, biometric, distinctive gesture, and the like. Once identified, a learning module  732  may then be configured to adjust the correspondence between the particular user&#39;s input and the desire pre-defined change using known learning algorithms. 
         [0050]    A re-engagement module  734  may also be present and coupled to the processor module. The re-engagement module permits a user to momentarily disengage while entering a gesture, then re-engage to complete the gesture. As discussed previously with respect to  FIG. 3 , the interval of time which may elapse between temporary disengagement and re-engagement may be fixed, set by the user, or adaptively adjusted. 
         [0051]    The method may be implemented in computer readable storage media such as a hard drive, a magnetic disk drive (e.g., floppy disks), an optical disk drive (e.g., CD-ROM, DVD, etc.), flash memory, and other types of tangible computer-readable media. 
         [0052]    Although methods for single-touch media selection have been described in language specific to certain features and/or methodological acts, the invention is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the invention.