Abstract:
Automatic annotation of data recorded by a device. A portion of an event may be recorded as an image, movie, sound byte, audio recording, etc., and contemporaneous to the recording, a time value (which may encode a calendar date) is determined. The time value is looked up on a calendar, and a description of the event is read from the calendar and used to automatically annotate the recording.

Description:
[0001]    This application is a continuation of U.S. patent application Ser. No. 09/952,295 (Attorney Docket Number 42P11141) filed Sep. 13, 2001. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The invention generally relates to annotating recorded data, and more particularly to automatically annotating audio and/or visual data recordings based at least in part on a timing indicator. 
       BACKGROUND 
       [0003]    Recent advances in recording, storage and form factor technology have resulted in proliferation of personal data and media recording devices, such as personal video cameras, photo cameras, audio recorders, etc. However, incident to such proliferation is tracking problem inherent to cross-referencing recordings with the environment in which the recording was taken. This problem is especially applicable to storage media having large storage capacity, e.g., capacity to store thousands of images, many hours of video recordings, tens of thousands of music recordings, etc., it becomes a near insurmountable problem to accurately and consistently annotate recorded data with information to identify the context for the recorded data. 
         [0004]    It is increasingly difficult to simply label storage devices with all of the data content therein, as historically has been done, e.g., labeling a tape cassette or a video cassette recorder cartridge. And, with the ability to easily replace some or all of a storage device&#39;s content, even with an ability to label the storage device, such labeling may quickly become stale. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0005]    The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which: 
           [0006]      FIG. 1  illustrates an exemplary system incorporating the invention. 
           [0007]      FIG. 2  is a flowchart according to one embodiment of the invention for recording an event and providing the recording to other event attendees. 
           [0008]      FIG. 3  is a flowchart for a variation of the  FIG. 2  embodiment. 
           [0009]      FIG. 4  illustrates a suitable computing environment in which certain aspects of the invention may be implemented. 
       
    
    
     DETAILED DESCRIPTION  
       [0010]      FIG. 1  illustrates an exemplary system incorporating the invention. Illustrated are an audio and/or visual transceiver  100 , such as a cellular telephone configured to transmit audio and/or visual data, a digital camera  102 , a video camera  104 , an audio recorder  106 . It will be appreciated by one skilled in the art that the illustrated devices  100 - 104  are exemplary devices, and that other devices may be utilized. 
         [0011]    Associated with each of these devices are timers  108 ,  110 ,  112 ,  114 . The timers may be integral to the devices  100 - 104  as illustrated, or they may represent timing functionality or circuitry that receives timing data from an external source. For example, the digital camera  102  may have a receiver capable of receiving timing data originating from an external source, such as the United States Naval Observatory&#39;s Master Clock (USNO), the Time and Frequency Division of the National Institute of Standards and Technology (NIST), or another clock source. To allow coordination of activity between devices  100 - 104 , devices  100 - 104  may be configured to use the same timing source. In one embodiment, calendar date values may be determined from timing values. For example, a timing value may represent the number of seconds since a particular date. 
         [0012]    Also illustrated are machines  116 ,  118 , and  120 , which may be personal computers, personal digital assistants, or other machines. Each of the machines  116 - 120  are configured to operate a calendar application  122 ,  124 ,  126  (or other application associating events and times), and a data transfer application  128 ,  130 ,  132  such as electronic mail (E-mail) program, instant messaging system or other data transfer ability. The audio and/or visual transceiver, digital camera, video camera and audio recorder are assumed to have a wired and/or wireless communication link  134  to some or all of the machines  116 ,  118 , and  120 , by way of a network or other communication technology. 
         [0013]    As will be described further with respect to  FIG. 2 , when a device  100 - 106  records data, a time stamp from an appropriate timing device  108 - 114  is associated with the recording. This associated time stamp is then compared against one or more calendars  122 - 126  to identify a context for the recording. In one embodiment, if a calendar indicates one or more related entities, e.g., persons listed in a calendar entry, or based on some other cross-reference, then related entities may be provided with a copy of the recording by way of the data transfer application  128 - 132 . 
         [0014]      FIG. 2  is a flowchart according to one embodiment of the invention for recording  200  a part (or portion) of an event, such as with a audio and/or visual transceiver (e.g., a cellular telephone, video phone, etc.), video camera, or other device configured to record into local or remote storage, and providing the recording to other event attendees. 
         [0015]    A time stamp is acquired  202 , such as from an internal clock, or external reference source. The time stamp information is sent  204  to a calendar system along with at least an identifier of the user of the recording device. The calendar system may be any conventional or proprietary calendar, e.g., personal, corporate, general, etc. calendar, such as the Outlook calendar program provided by Microsoft Corporation of Redmond Wash., database application, or other application program that may associate time stamps with events (hereafter generally “calendar”). The user&#39;s identifier may be pre-associated with the user, temporarily associated, or prompted for during the recording process. It is assumed that an appropriate communication protocol or Application Programming Interface (API) is known to the recording device, thus allowing the recording device to communicate with the calendar irrespective of the particular characteristics or nature of the calendar. 
         [0016]    In response to sending the time stamp information, the calendar inspects  206  the user&#39;s calendar to see what is on the calendar for the given time stamp information. If  208  an event is on the calendar for the time stamp information, the calendar sends  210  back to the recording device a description of an event. For example, the identified user may have a calendar entry indicating that the user is attending a social gathering for the user&#39;s work group. This description of the get together is sent  210  back to the recording device. The recording device can associate  212  the description with the recorded  200  part of the event, and store  214  the description and recorded part of the event in a data storage communicatively coupled to the recording device, e.g., in a local attached storage, wirelessly accessible remote storage, or the like. If  208  no entry is found, then an error handler  222  may be invoked, or a default description used for the event. 
         [0017]    In one embodiment, the description is embedded within the recorded part of the event. For example, the event may be recorded with an Exchangeable Image File (EXIF) format, which is a standard format for storing information within digital photography image files using JPEG compression, in the DIG35, promulgated by the Digital Imaging consortium (see http://www-digitalimaging-org), in the graphics interchange format (GIF), or other data format providing for embedding data within the recorded part of the event. (To prevent inadvertent hyperlinks, the periods in the preceding Uniform Resource Locator (URL) were replaced with hyphens.) In one embodiment, data may be associated with the recorded part of the event to facilitate archiving, indexing, cataloging, cross-referencing, reviewing, and retrieving recordings. 
         [0018]    In one embodiment, the recording device sends  216  the recorded part of the event, and associated description received from the calendar system, to a data transfer application program such as an E-mail program. In this embodiment, the calendar system also sends  218  the data transfer application program a list of other event attendees. It will be appreciated that various techniques may be used to identify event attendees. In one embodiment, the calendar sends a list of expected attendees, e.g., invitees, and it is later determined which attendees actually attended the event. 
         [0019]    For example, the calendar for the user of the recording device may directly reference other attendees, such as by way of a meeting request that was used to schedule the event. All invited attendees, or perhaps just a subset, such as those meeting some criteria, are used to define the list of other event attendees. For example, the list of event attendees might only include those attendees that accepted the meeting request, or those attendees that have a special status indicating they should be included in the list irrespective of having accepted the invitation. 
         [0020]    In one embodiment, if the calendar does not identify other event attendees, other calendars, perhaps based on a social or business structure, may be searched to determine whether a user corresponding to the searched calendar should be in the list of attendees. For example, all calendars for people in the user&#39;s work group might be searched for corresponding entries for the event. It will be appreciated that matching algorithms may be employed to compensate for manually written calendar entries for the event. 
         [0021]    The data transfer program, having received the recorded part of the event, associated description, and the list of other event attendees, sends  220  each attendee a copy of the recorded part of the event. In one embodiment in which the data transfer program is an E-mail program, the subject and/or message body of the E-mail message sent to attendees comprises the associated description. The subject of the E-mail message, or message body, may also comprise statements reflecting the status of the attendee. For example, if a recipient did not attend the event, a standard message body might state “Sorry you could not make it to the event, but here is a recording of the event!” Similarly, other messages or graphics may be sent within a message for attendees that accepted but did not go, did not accept but went anyway, etc. 
         [0022]    In one embodiment, categories and/or user preferences may alter distribution of data to attendees. For example, for certain events, such as holiday gatherings or birthdays, everyone in a work group, social group, etc. may automatically receive the recording of the event irrespective of whether they attended the event. However, user preferences may be used to override sending such messages. 
         [0023]      FIG. 3  illustrates a flowchart according to another embodiment of the invention. In this embodiment, as with  FIG. 2 , a recording device records  300  part of the event. A time stamp is acquired  302 , sent  304  to a calendar system along with an identifier of the user of the recording device, and in response the calendar system sends  306  back to the recording device a description of an event, if any. However, in this embodiment, and in contrast with  FIG. 2 , the calendar system also sends  308  the recording device a list of event attendees. As discussed above for  FIG. 2 , the list of attendees may be determined in various ways, e.g., based on attendees expected (invitees), attendees actually attending the event, based on status of attendee, etc. 
         [0024]    The recording device can then store  310  the recorded  300  part of the event along with the description of the event, and the list of event attendees in a data storage communicatively coupled to the recording device, as well as send  312  the recorded part of the event, description, and list attendees to a data transfer program for distribution to event attendees. Thus, in this embodiment, the data transfer program need only communicate with the recording device in order to transfer event recordings to attendees. It will be appreciated that other communication configurations may be used, such as using a central repository for recorded parts of events and associated event attendees, where the transfer program retrieves recording and attendees from the central repository. 
         [0025]      FIG. 4  and the following discussion are intended to provide a brief, general description of a suitable computing environment in which certain aspects of the illustrated invention may be implemented. An exemplary system for embodying, for example, the digital camera  102  or machines  116 ,  118 , and  120  of  FIG. 1 , includes a machine  400  having system bus  402  for coupling various machine components. Typically, attached to the bus are processors  404 , a memory  406  (e.g., RAM, ROM), storage devices  408 , a video interface  410 , and input/output interface ports  412 . 
         [0026]    The system may also include embedded controllers, such as Generic or Programmable Logic Devices or Arrays (PLD, PLA, GAL, PAL), Field-Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), single-chip computers, smart cards, or the like, and the system is expected to operate in a networked environment using physical and/or logical connections to one or more remote systems  414 ,  416  through a network interface  418 , modem  420 , or other pathway. Systems may be interconnected by way of a wired or wireless network  422 , including an intranet, the Internet, local area networks, wide area networks, cellular, cable, laser, satellite, microwave, “Blue Tooth” type networks, optical, infrared, or other carrier. 
         [0027]    The invention may be described by reference to program modules for performing tasks or implementing abstract data types, e.g., procedures, functions, data structures, application programs, etc., that may be stored in memory  406  and/or storage devices  408  and associated storage media, e.g., hard-drives, floppy-disks, optical storage, magnetic cassettes, tapes, flash memory cards, memory sticks, digital video disks, biological storage, as well as transmission environments such as network  422  over which program modules may be delivered in the form of packets, serial data, parallel data, or other transmission format. 
         [0028]    Illustrated methods and corresponding written descriptions are intended to illustrate machine-accessible media storing directives, or the like, which may be incorporated into single and multi-processor machines, portable computers, such as handheld devices including Personal Digital Assistants (PDAs), cellular telephones, etc. An artisan will recognize that program modules may be high-level programming language constructs, or low-level hardware instructions and/or contexts, that may be utilized in a compressed or encrypted format, and may be used in a distributed network environment and stored in local and/or remote memory. 
         [0029]    Thus, for example, with respect to the illustrated embodiments, assuming machine  400  operates as a recording device for an event, then remote devices  414 ,  416  may respectively be a machine operating a calendar for a user of the recording device, and an a remote clock source to identify when the recording device was operating. It will be appreciated that remote machines  414 ,  416  may be configured like machine  400 , and therefore include many or all of the elements discussed for machine. It should also be appreciated that machines  400 ,  414 ,  416  may be embodied within a single device, or separate communicatively-coupled components. 
         [0030]    Having described and illustrated the principles of the invention with reference to illustrated embodiments, it will be recognized that the illustrated embodiments can be modified in arrangement and detail without departing from such principles. And, even though the foregoing discussion has focused on particular embodiments, it is understood other configurations are contemplated. In particular, even though expressions such as “in one embodiment,” “in another embodiment,” or the like are used herein, these phrases are meant to generally reference embodiment possibilities, and are not intended to limit the invention to particular embodiment configurations. As used herein, these terms may reference the same or different embodiments, and unless indicated otherwise, embodiments are combinable into other embodiments. 
         [0031]    Consequently, in view of the wide variety of permutations to the above-described embodiments, the detailed description is intended to be illustrative only, and should not be taken as limiting the scope of the invention. What is claimed as the invention, therefore, is all such modifications as may come within the scope and spirit of the following claims and equivalents thereto.