TRANSFER OF CAPTURED DATA VIA WIRELESS DATALINK

Abstract: Captured data is stored in a storage element. The captured data represents a record of at least one observed phenomenon. For example, the captured data may represent a still image or a video sequence. In response to a determination that a predetermined condition exists, the captured data is retrieved from the storage element and transmitted over a wireless datalink.

Description: TRANSFER OF CAPTURED DATA VIA WIRELESS DATALINK BACKGROUND OF THE INVENTION 1. Field of the Invention This invention generally relates to the field of data transfer. More specifically, the present invention relates to transfer of captured data from a remote device via a wireless datalink. 2. Description of Related Art Devices for data capture include cameras, audio recorders, data recorders, and video cameras. Such devices traditionally use analog storage media such as film, paper, or tape to hold the captured data. The captured data may represent such information as still or moving images, or recorded sound, or a record of some other observed phenomenon such as seismic activity or a meteorological condition. One problem that may arise in the use of such devices is that the capacity of the storage medium is limited. Therefore, a user who wishes to record memories of trips, vacations, parties, graduations, etc. must obtain and carry multiple rolls of light-sensitive film (e.g. in the case of still cameras) or a multitude of magnetic tapes (e.g. in the case of video cameras); otherwise, the user risks running out of storage capacity. In many instances, it will not be known a priori exactly how much storage media will be needed to record a particular event. Furthermore, once a medium (e.g. a film or tape) containing captured data has been removed from the device in order to exchange it with a fresh medium, it becomes more likely that the medium (and the data it holds) will become irretrievably lost or damaged. In many cases, data capture devices that use digital media to hold the captured data are now available. For example, FIGURE 1 shows a block diagram of a digital camera. The image sensor may be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) sensor. The image sensor may also include support circuitry for signal conditioning (e.g., automatic exposure control, anti-blooming control, black and white level balance, and the like). The signal is forwarded to the processor for coding, which task may include applying a compression scheme such as JPEG (Joint Photographic Experts Group, ISO/JEC Standards IS 10918-1, -2, -3; ITU-T T.81, .83, .84). Digitization of the image signal, which occurs before coding, may be performed by the sensor, by the processor, or by an intervening digitizing circuit. In addition to these processing tasks, the processor also performs memory management tasks associated with storing the image signal to the storage element. For low- to medium-capacity applications (e.g. still photography for consumer applications), the storage element is a flash RAM device according to the MemoryStick (Sony Corporation, Tokyo, Japan), SmartMedia (as specified, for example, in web-online versions of SmartMedia Electrical, Physical, Physical Format, and Logical Format Specifications dated May 19, 1999 and published by SSFDC Forum, Japan), or CompactFlash (CF+ and CompactFlash Specification, rev. 1.4, CompactFlash Association, Palo Alto, CA) specification. For high-capacity applications (e.g. still photography for professional applications), a miniature Winchester hard drive (as developed by IBM Corporation, White Plains, NY) may be used instead. The data port supports a serial link under an RS-232 or universal serial bus (USB) protocol. This port carries data from the storage to an external personal computer for viewing, archiving, copying, etc. As discussed below, the data port may also receive control information from an application executing on the external personal computer to modify camera parameters such as the compression ratio or to erase the storage element. A user of the camera interacts with the camera through the user interface, which provides control information to the processor. For example, the user interface will typically include a shutter release to cause the capture of information received by the image sensor. In some cameras, the user may enter sensor or processing parameters to modify the operation of the camera. For example, the user may vary the compression ratio (to maximize image storage capacity at the cost of image quality, or vice versa), or may review captured images (if the camera includes an image viewer), or may adjust photoflash operation or other exposure values. In many cases, these parameters may be entered via the external personal computer, as the user interface will commonly include a software application running on the personal computer and communicating with the camera via the data port. Just as an analog data capture device is limited by the capacity of the analog storage medium, digital data capture devices are also limited by the capacity of the storage element. Once the existing medium is full, and unless extra media are available or an appropriately configured personal computer is available to offload the stored data, the user must overwrite existing data or cease using the device until the data can be offloaded. Even if media or such a computer are available, the user must stop recording data until the cumbersome task of changing the medium or downloading the data is completed. As with an analog storage medium, once the digital storage element is removed from the camera, the medium and the data it holds become much more likely to be lost or damaged. SUMMARY In an apparatus according to one embodiment of the invention, a control logic block is configured and arranged to receive captured data. The captured data may comprise substantially any stream of digital data for which recording is desired. A storage element is configured and arranged to store the captured data, and a transmitter is configured and arranged to transmit the captured data over a wireless datalink. The transmitter is further configured and arranged to begin such transmission in response to at least a determination that a predetermined relationship (e.g. less than, equality, and/or greater than) exists between a storage threshold value and a value that relates at least in part to an amount of captured data that is stored in the storage element. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a digital camera. FIG. 2 is a block diagram of an apparatus 100 according to an embodiment of the invention. FIG. 3 is a flow chart of a portion of a method according to an embodiment of the invention. FIG. 4 is a flow chart of a method according to an embodiment of the invention. FIG. 5 is a flow chart of a transmit task. FIG. 6 is a block diagram of an apparatus 200 according to an embodiment of the invention. FIG. 7 is a block diagram of an apparatus 200a according to an embodiment of the invention. FIG. 8 is a block diagram of an apparatus 300 according to an embodiment of the invention. FIG. 9 is a block diagram of an apparatus 300a according to an embodiment of the invention. FIG. 10 is a block diagram of an apparatus 350 according to an embodiment of the invention. FIG. 11 is a block diagram of an apparatus 400 according to an embodiment of the invention. FIG. 12 is a block diagram of an apparatus 500 according to an embodiment of the invention. FIG. 13 is a block diagram of one possible application of an apparatus 600 according to an embodiment of the invention. FIG. 14 is a block diagram of one possible application of an apparatus 610 according to an embodiment of the invention. FIG. 15 is a block diagram of one possible application of an apparatus 620 according to an embodiment of the invention. FIG. 16 is a block diagram of a system according to an embodiment of the invention. FIG. 17 is a block diagram of a system according to an embodiment of the invention. FIG. 18 is a block diagram of a system according to an embodiment of the invention. FIG. 19 is a diagram of one example of a set of protocol layers for a system according to FIGURE 18. DETAILED DESCRIPTION As shown in FIGURE 2, an apparatus 100 according to an embodiment of the invention includes a control logic block 110 that receives captured data. Control logic block 110 may include one or more microprocessors, microcontrollers, or other arrays of logic elements such as application-specific integrated circuits (ASICs) and/or one or more processes executing on such an array or arrays. In an application in which the captured data originates from an image sensor and image processor as described above, control logic block 110 and the image processor may be implemented as processes executing on the same array or arrays of logic elements (e.g. executing at different times and/or in different contexts). Note that the captured data need not be limited to image data. For example, the captured data may include digital audio data. Further, the captured data may comprise any other stream of data: for example, data produced by a piece of test equipment (e.g., a spectrum analyzer, seismograph, etc.) that records information relating to at least one observed phenomenon. Such phenomenon may relate to a natural condition (e.g., one or more weather conditions such as temperature, humidity, or cloud density) or an artificial one (such as the fading behavior of a channel for wireless communications). In summary, the captured data may comprise any stream of digital data for which recording is desired and which has characteristics appropriate for at least temporary storage in storage element 120 (e.g. a signal having one or more voltage levels and timing values that are compatible with the characteristics of storage element 120). In an application in which the captured data undergoes one or more processing operations (such as digitization, coding, and or compression) before being received by control logic block 110, control logic block 110 and the data processor or processors may be implemented as processes executing on the same array or arrays of logic elements (e.g. executing at different times and/or in different contexts). Buffering may be provided between the sensor and the processor(s) and or between one or more processing stages. It may be desirable for control logic block 110 to receive the captured data from a buffer rather than directly from the sensor, transducer, or processor that provides it. Control logic block 110 also controls storage of the captured data to storage element 120. For example, control logic block 110 may cause the captured data to be buffered or reconfigured (e.g. from a serial data stream to a parallel one) as necessary to match the characteristics (such as data rate and/or bus width) of the captured data signal to those of storage element 120. Control logic block 110 may also format the captured data into a file, packet, or other type of data structure suitable for storage in storage element 120 and/or convenient for subsequent retrieval. For example, control logic block 110 may cause the captured data to be stored as files in a directory structure readable by an operating system such as MS-DOS (Microsoft Corp., Redmond, WA), EPOC (Symbian, London, UK), and/or Linux. Alternatively, control logic block 110 may cause the captured data to be stored as packets of fixed or varying length suitable for transmission according to a predetermined communications protocol such as Internet Protocol (IP). In another example, control logic block 110 may add a timestamp or other information to the captured data and/or may encrypt or otherwise encode or label the captured data before storage. Storage element 120 may be any nonvolatile random access memory (RAM) device. In an exemplary implementation, storage element 120 is a flash RAM device conforming to a specification such as CompactFlash, SmartMedia, or MemoryStick. Other nonvolatile RAM options for storage element 120 include magnetoresistive, magnetic, magnetic tunneling junction, or ferroelectric RAM. Alternatively, storage element 120 may be a miniature Winchester (i.e. hard disk) drive. Storage element 120 may even be a volatile RAM device, e.g. a semiconductor device such as dynamic or static RAM. In summary, storage element 120 may be any storage element that permits random access and conforms with any size, speed, and power consumption limits that may be applicable to the particular implementation. In another embodiment, storage element 120 may be a RAM portion of a SIM (subscriber identity module) card or other 'smart card' having additional storage and/or processing capabilities. In this case, all or some lesser portion of control logic block 110 may also be incorporated on the smart card. Such a configuration may conserve space in a portable device and/or may reduce fabrication expense by combining support for multiple functionalities (e.g. user identification and/or authentication, telephone service configuration) into a single card interface. Additionally, such an interface may offer a convenient mechanism for software and/or firmware upgrades. In an apparatus that transmits the captured data over a cellular telephone link as described below, such a configuration may also take advantage of the telephone service support capabilities of the smart card to allow one or more phone numbers for data transfer (together with associated parameters such as access codes or passwords) to be preprogrammed onto the card. For ease of programming, information stored on the smart card may be organized according to a file directory structure. An additional function provided by control logic block 110 is the protection of 'pending data': captured data that is stored in storage element 120 but not yet transmitted. For example, control logic block 110 may prevent the writing of data into areas of storage element 120 that contain pending data. Such protection capability may be implemented with a mutual exclusion (or 'mutex') mechanism such as a semaphore or flag associated with each portion of storage element 120. In another example, such capability may be implemented at least in part within storage element 120. In an exemplary implementation, a mutex flag is set (or 'locked') when captured data is stored to a corresponding portion of storage element 120. When the data is subsequently transmitted (or, alternatively, when the data is retrieved for transmission), the mutex flag is reset (or 'opened' or 'cleared'). No data may be stored to the portion of storage element 120 while the mutex flag is set. FIGURE 3 illustrates the operation of a suitable mutex mechanism using a flow chart of a portion of a method according to an embodiment of the invention. In task PI 10, a block of captured data is received (e.g. from a sensor or transducer, a processor, or a buffer). (The dimensions of a block of data may be selected according to such factors as an architecture or format of storage element 120, the capacity of an intermediate storage stage, one or more parameters of a compression algorithm or other data processing task, and/or the structure of a transmission protocol used over the wireless datalink.) In task P120, an address is obtained for a location within storage element 120 at which to store the block. This address may be obtained by accessing a pointer, table, or similar storage management structure that indicates a particular location within storage element 120 (an initial location, for example, or the location following the one to which captured data was most recently stored). In task P130, the state of a mutex flag corresponding to the selected storage element is checked. If the flag is open (i.e. no untransmitted data is present at that location), then the block of captured data is stored in task P140. If the flag is locked, the storage operation is suspended (or possibly canceled). In the example of FIGURE 3, task PI 30 repeats (suspending task P140) until the mutex flag is no longer locked. In task PI 80, the mutex flag is set, thereby protecting the pending data. Task P140 or PI 80 may also include the updating of the pointer or table accessed in task P120. Additionally, tasks P140 and P180 may be varied from the example of FIGURE 3 in order to provide appropriate protection of the pending data. For example, task P140 may be restricted to occur only with permission (granted by control logic block 110 and/or storage element 120). In such a case, it may be desirable to set the mutex flag before the data is stored, e.g. allowing the permission to override the mutex flag. One suitable structure for storage element 120 is a circular queue or 'ring buffer.' A mutex mechanism as discussed above may be included in such an implementation. In an exemplary configuration, at least two pointers into the queue are maintained: 1) a 'store pointer' that indicates the next storage location available for storing captured data, and 2) a 'transmit pointer' that indicates the next storage location having pending data. Control logic block 110 may also arbitrate a dual memory bus to enable simultaneous storage of data to and retrieval of data from storage element 120. In this manner, data for transmission by transmitter 130 may be retrieved (by control logic block 110 and or transmitter 130) using one memory bus, while control logic block 110 stores data to storage element 120 over the other memory bus. In an alternative implementation, storage element 120 may have two or more ports, such that control logic block 110 and/or transmitter 130 may retrieve data directly from storage element 120 via one port while control logic block 110 stores data via another port. Such a structure may be used to allow the retrieval and storage tasks to proceed substantially independently of one another. Transmitter 130 receives information from storage element 120 and transmits it over a wireless datalink. The datalink may be a private and dedicated radiolink, for example, a satellite uplink or downlink channel. In another implementation, the datalink may be a part of a commercial network such as a cellular telephone network. In a further implementation, the datalink may be a radiolink within a wireless LAN, or a radiolink or infrared link conforming to the Bluetooth™ protocol (specification ver. 1.0 available at www.bluetooth.com) or some other protocol. In an exemplary application of such an implementation, captured data may be transferred over the datalink to a nearby personal computer. One or more among several events may be selected to initiate the task of retrieving captured data from storage element 120 and transmitting it over the wireless datalink. In one implementation, this task is triggered according to a usage level of storage element 120: for example, when the amount of pending data stored in storage element 120 (or, alternatively, the amount of storage in storage element 120 that is currently available for storing pending data) reaches a predetermined threshold or 'watermark'. This watermark may be defined in terms of data units (e.g., 10 megabytes, 400 blocks, etc.), or it may be defined in terms of a percentage of the total capacity of storage element 120 (e.g., 75%). Alternatively, retrieval and transmission of information may be triggered when the apparatus has been idle (e.g. no data captures have been initiated) for a predetermined period and pending data is presently stored in storage element 120. Alternatively, retrieval and transmission of information may occur at least in part according to a schedule (e.g. during an off-peak usage period of a commercial datalink). Alternatively, the task of retrieving and transmitting information may be initiated upon a determination that a current quality of the datalink meets or exceeds a predetermined threshold and pending data is presently stored in storage element 120. In addition to its tasks as described above, control logic block 110 may perform the task of retrieving captured data from storage element 120 and subsequently transferring it to transmitter 130 for transmission over the wireless datalink. Alternatively, control logic block 110 may participate in this task in a more limited fashion (e.g. by arbitrating a dual memory bus to allow transmitter 130 to access storage element 120). In another alternative, transmitter 130 may perform the task of retrieving captured data from storage element 120 without direct involvement by control logic block 110 (e.g. in a dual-port storage system as described above). FIGURE 4 shows a flowchart of a method according to an embodiment of the invention. As described above, a block of captured data is received and an address of a storage location is obtained in tasks PI 10 and P120, respectively. In task P150, a usage level of storage element 120 is checked. If the usage level is determined to be high (e.g. the amount of pending data meets or exceeds a predetermined threshold or watermark), then in task P160 a determination is made as to whether a transmit task is currently executing. If no such task is executing, then a transmit task is initiated in task P170. Following this activity, or if the usage level is determined to be low, the block of data is stored in tasks P130 and P140 according to the state of the corresponding mutex flag, and the mutex flag is set in task PI 80. FIGURE 5 shows a flowchart of a transmit task as initiated, for example, in task P170. In task P210, the address of a storage location containing pending data to be transmitted is obtained. This address may be obtained by accessing a pointer, table, or similar storage management structure that indicates a particular location within storage element 120 (an initial location, for example, or the location following the one from which pending data was most recently retrieved). In task P220, pending data is retrieved from the selected storage location, and the data is transmitted in task P230. In some implementations, the retrieved data may be labeled, time stamped, and or encrypted or otherwise encoded before transmission. For example, a digital signature may be appended to each image or video frame to verify authenticity and/or time of capture. In task P240, the mutex flag corresponding to the selected storage location is cleared. In an exemplary application, task P240 is postponed until the success of the transmission in task P230 has been verified. Task P230 or P240 may also include the updating of the pointer or table accessed in task P210. In task P250, a usage level of storage element 120 is checked. If the usage level is determined to be high (e.g. the amount of pending data meets or exceeds a predetermined threshold or watermark), then task P200 is repeated. It may be desirable to incorporate a degree of hysteresis by using different watermarks in tasks P150 and P250. For example, repetition of task P200 may continue until storage element 120 has no more pending data. Depending at least in part upon the rate of the captured data received by control logic block 110, the speed of the wireless datalink used by transmitter 130, and/or the speed of control logic block 110 and storage element 120, it may be possible to use an implementation of apparatus 100 to capture and transmit a contiguous stream of data whose size exceeds the capacity of storage element 120. FIGURE 6 shows an implementation of an apparatus 200 according to an alternative embodiment of the invention. In addition to one or more of the conventional user interface tasks mentioned above, user interface 140 allows the user to initiate the capture and/or transmittal of information; to enter or modify capture and/or processing parameters; to schedule tasks (e.g. capturing an image) for execution at some future time; to choose among different modes of operation; and/or to enter or modify one or more watermarks or other usage level thresholds associated with storage element 120. User interface 140 may also notify the user regarding events such as a determination that a usage level threshold has been reached in storage element 120, transmission activity by transmitter 130, a state of the wireless datalink, etc. In addition to the capabilities of control logic block 110 as discussed above, control logic block 112 may also include a capacity to distribute and/or apply control information received from user interface 140. In an implementation that includes a smart card interface, user interface 140 may also obtain information from the card. Support for a removable smart card allows each among several users to easily personalize apparatus 200. For example, the smart card may provide information defining a preferred configuration for user interface 140. Additionally, the smart card may provide information that identifies or authenticates the identity of the user. Such information may be used to label and/or encrypt captured data before storage in storage element 120 and/or before transmission by transmitter 130. Support for at least a portion of an existing smart card interface (such as a portion of the SIM card interface as defined in section 6 [Physical characteristics of the SIM] of GSM (Global System for Mobile Communications) TS 11.11 [Specifications of the SIM-ME interface], version 03.16.00, July 1994, European Telecommunications Standards Institute, Sophia Antipolis Cedex France) may also contribute to ease of use and marketability. FIGURE 7 shows an apparatus 200a according to an embodiment of the invention that includes a dual memory bus. In this example, transmitter 130 may retrieve pending data from one area of storage element 120 while control logic block 112 stores captured data to another area. Control logic block 112 arbitrates the memory bus to prevent simultaneous read and write access attempts to the same storage location. Protection of pending data may also be implemented within the arbitration task (e.g. by preventing a store pointer from overtaking a transmit pointer). FIGURE 8 shows an implementation of an apparatus 300 according to an alternative embodiment of the invention. In this apparatus, sensor 150 may comprise an image sensor as described above, and/or a microphone for producing audio signals, and or some other form of transducer for producing captured data signals representative of one or more observed phenomena. Signal processor 160 may perform signal conditioning, compression, and/or other coding functions on the captured data signals. If sensor 150 supplies analog signals, then signal processor 160 may include a digitizing circuit and or task. Control logic block 112 and signal processor 160 may be implemented as processes executing on the same array or arrays of logic elements (e.g. executing at different times and/or in different contexts). In one implementation, signal processor 160 outputs a digital signal having a standard still image format such as GIF (Graphics Interchange Format, versions 87a and 89a, CompuServe Inc., Columbus, OH), JPEG, PNG (Portable Network Graphics Specification, versions 1.0 (published as RFC2083) and 1.2, PNG Development Group, copyright 1999 Glenn Randers- Pehrson) or a standard video format such as ANI (Audio Video Interleave, Microsoft Corp., Redmond, WA), one of the MPEG formats (MPEG-1, ISO- 11172-2; MPEG-2, ISO-13818-2; MPEG-4, ISO/TEC-14496), or a videoconferencing standard such as H.261, H.263, or H.324. In another implementation, signal processor 160 outputs information in a standard audio format such as WAN (an implementation of pulse-code modulation encoding, Microsoft Corp., Redmond, WA), MP3 (MPEG-1 Layer 3, ISO-11172-3 or MPEG-3 Layer 3), or MPEG-2 audio (ISO-13818-3). In a further implementation, signal processor 160 (which may include one or more separate processing units or blocks) may output both video and audio information. In another implementation, information outputted by signal processor 160 is formatted with a protocol for transmission by transmitter 130. FIGURE 9 shows an apparatus 300a according to an embodiment of the invention that includes a dual memory bus as described above. In FIGURE 10, a transceiver 170 transmits information to an external storage location over a wireless datalink and receives information relating to the datalink. In such an implementation, the task of retrieving and transmitting information may be initiated upon a determination (by control logic block 112 or by transceiver 170) that the quality of the datalink is at least equal to some predetermined threshold. An indication of such information as link condition or quality, call setup status, and/or transmission activity may be displayed to the user via user interface 140, and a user may also enter or modify the predetermined threshold via user interface 140. In a case where transceiver 170 transmits over a commercial network such as a cellular telephone network, for example, the task of retrieving and transmitting information may be initiated during off-peak hours when costs are reduced. In such an implementation, user interface 140 may allow the user to control or modify the operation of transceiver 170 by, for example, entering one or more phone numbers over which to establish the wireless datalink, choosing a minimum acceptable data rate for the datalink, etc. FIGURE 11 shows an implementation of an apparatus 400 according to an alternative embodiment of the invention. In this apparatus, modem 172 receives the data from storage element 120 and encodes it for transmission over the radio link. In an exemplary implementation, modem 172 is a wireless modem integrated circuit such as one of the MSM series of integrated circuits manufactured by Qualcomm Incorporated (San Diego, CA). Operations performed by modem 172 may include applying one or more covering codes (e.g. a Walsh code or a pseudonoise code) and/or error detection or correction codes. Intermediate frequency/radio frequency (TF/RF) sub-system 174 modulates the signal received from modem 172 onto one or more RF carriers for transmission over an antenna (not shown). Via a reverse link, modem 172 may also provide information relating to datalink quality. FIGURE 12 shows an apparatus 500 according to an embodiment of the invention. Image sensor 152 may be a CCD or CMOS sensor as described above. Similarly, image processor 162 performs the tasks described above and outputs a digital signal that may be conditioned, encoded, and/or compressed. The signal outputted by image processor 162 may correspond to discrete digital still images and/or digital video sequences captured at a predetermined frame rate (e.g., 30 frames per second). Control logic block 112 and image processor 162 may be implemented as processes executing on the same array or arrays of logic elements (e.g. executing at different times and/or in different contexts). In one implementation of apparatus 500, a user initiates the capture of a digital video sequence via user interface 140. In response to the user's action and/or the initiation of the capture operation, apparatus 500 establishes a wireless datalink via modem 172 and IF/RF subsystem 174. Data transfer begins when the wireless datalink becomes available. In such an implementation, the datalink may remain established until capture is terminated (e.g. by the user), and it is possible for storage element 120 to provide only enough capacity to buffer the data captured during the initial establishment of the datalink. In a further implementation of apparatus 500, the datalink may remain established for a predetermined period of time after capture is terminated, e.g. in case the user should begin another capture session soon. In an exemplary application, the datalink is a cellular telephone radiolink conforming to the IS- 2000 standard (Telecommunications Industry Association, Arlington, NA), and this hysteresis feature is implemented using the Control Hold State (as described in Medium Access Control Standard IS-2000-3), wherein a call control channel remains active after a data-bearing channel has been disconnected. The degree of hysteresis (e.g. the length of the period of time during which the datalink will remain established without carrying data) may be modified via user interface 140. FIGURE 13 shows an application of an apparatus 600 according to a further embodiment of the invention. In response to an event as discussed above, control logic block 114 retrieves data from storage element 120, signals transmitting device 630 to establish a wireless datalink, and forwards the data to transmitting device 630 for transmission. In an exemplary application, transmitting device 630 is a wireless modem coupled to apparatus 600 via an electrical or optical datalink conforming to a standard such as RS-232-C (Electronics Industry Association, Arlington, VA) or PCMCIA (release 1.0, 2.0, 2.01, or 2.1, or PC Card Standard; Personal Computer Memory Card International Association, San Jose, CA). In another exemplary application, transmitting device 630 is a cellular telephone coupled to apparatus 600 via an electrical or optical datalink conforming to a standard as mentioned above or a standard proprietary to, for example, the manufacturer of the cellular telephone. FIGURE 14 shows an application of an apparatus 610 according to a further embodiment of the invention. In combination with a digital camera capable of stand-alone operation, apparatus 610 provides data transfer capabilities as discussed herein via an electrical or optical datalink between control logic block 116 and a data port of the digital camera. Specifically, control logic block 116 receives notification of a transmit triggering event and retrieves data from the storage element of the digital camera. Alternatively, control logic block 116 may cause the processor of the digital camera to retrieve and forward data from the storage element. In related implementations, apparatus 610 may replace some or all of the functions of the digital camera's user interface; for example, control logic block 116 may initiate data capture by the digital camera. Note that depending upon the architecture of the storage element of the digital camera, captured images may be transmitted in last-in-first-out (LIFO) order rather than the first-in-first-out (FIFO) order that is possible with a circular queue as described herein. FIGURE 15 shows an application of an apparatus 620 according to a further embodiment of the invention that interfaces (e.g. as described above) with both a stand-alone digital camera and a transmitting device 630. FIGURE 16 shows a system according to an embodiment of the invention. In this system, apparatus 100 transmits data over a wireless datalink to a storage facility 800, which may include hard disk drives or other high-capacity storage devices. In one implementation, as shown in FIGURE 17, an apparatus 500 transmits information to a cellular telephone network 700. Cellular telephone network 700 then forwards the received data to storage facility 810. In an exemplary embodiment, storage facility 810 may connect to network 700 at the base station controller (BSC) or mobile service controller (MSC) level. Storage facility 810 may also include one or more file servers to manage and store data received from several or many different apparatus. FIGURE 18 shows an implementation of a system according to a further embodiment of the invention. In this system, a user using personal computer 900 accesses a storage facility 810 and receives the stored data over public switched telephone network (PSTN) 750. In other implementations, the data may be transferred between storage facility 810 and PC 900 over a cable network, an ISDN (integrated digital services network) connection, a DSL (digital services loop) connection such as an ADSL (asynchronous DSL), SDSL (synchronous DSL), or IDSL (ISDN DSL) connection, or some other local or wide area network system. Alternatively, communications between storage facility 810 and personal computer 900 may be conducted over the Internet (e.g. through a browser running as a software application on personal computer 900). In a further implementation, the stored data in storage facility 810 may be transmitted to the user by storing the data onto media such as recordable or rewritable compact disks (CDR or CD-RW disks, respectively) or digital versatile disks (DVDs) and delivering them to the user. FIGURE 19 shows one example of a protocol scheme for conducting the operations of the system shown in FIGURE 18. An FTP link is established with one end of the stack running on modem 172 within apparatus 500 and the other end of the stack running on an inter-networking function (IWF) within storage facility 810. A reliable protocol link between apparatus 500 and cellular telephone network 700 supports the FTP link. One suitable reliable protocol is the Radio Link Protocol (RLP), as defined in the IS-707.2 standard, entitled "Data Service Options For Wideband Spread Spectrum Systems: Radio Link Protocol," published in February 1998, and in the IS-707-A.2 standard, entitled "Data Service Options For Spread Spectrum Systems: Radio Link Protocol," published in March 1999. In another implementation, the transfer protocol link may be carried by a different datalink protocol that provides reliability by, for example, permitting the retransmission of lost packets. Note that for applications wherein the captured data represents a continuing sequence of events over time (for example, audio or video applications), it may be desirable to permit an occasional loss of packets in order to avoid saturating the storage element. It may also be desirable to vary the lossiness of the signal compression according to the quality or reliability of the datalink, as a less compressed format may be more robust to dropped packets. In an exemplary implementation, the datalink is supported by a radio channel under one of the IS-95 standards or the CDMA-2000 standard (Telecommunications Industry Association, Arlington, NA). Alternatively, the radio link may be supported by an HDR (high data rate) channel, as shown in FIGURE 19. In a case where the datalink is a cellular telephone channel that supports several sub-channels, it may be possible for a device including apparatus 500 to provide multiple concurrent services (e.g. voice communication capabilities) over different sub-channels of the same channel. The FTP link is further supported between cellular telephone network 700 and storage facility 810 over a medium such as a TI line. The physical layer supporting the FTP stack may be point-to-point protocol (PPP), Ethernet (CSMA/CD), or some other physical layer protocol. Between storage facility 810 and personal computer 900 an IP (internet protocol) stack (or a FTP or SMTP (Simple Mail Transfer Protocol) stack as shown in FIGURE 19) may run over any of the media as described above (PSTN, ISDN, etc.). If personal computer 900 is connected either directly or indirectly to storage facility 810 over a semi-permanent connection (e.g., as supported by a cable modem or a DSL modem), then it may be possible for apparatus 500 to establish an FTP link that extends all the way to personal computer 900. In a related embodiment, an electrical or optical datalink may be substituted for the wireless datalink. In one such implementation, the control logic block is connected to a standard telephone jack via a wireline modem. Such capability may be desirable when a radiolink of acceptable quality cannot be established (e.g. when the user is within an enclosed or shielded location such as an inside room in a building). The foregoing presentation of the described embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well. For example, the invention may be implemented in part or in whole as a hardwired circuit, as a circuit configuration fabricated into an application-specific integrated circuit, or as a firmware program loaded into non- volatile storage or a software program loaded from or into a data storage medium as machine- readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit. Thus, the present invention is not intended to be limited to the embodiments shown above but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein. WHAT IS CLAIMED IS:

Claims: CLAIMS 1. An apparatus comprising: a control logic block configured and arranged to receive captured data; a storage element configured and arranged to store the captured data; and a transmitter configured and arranged to transmit the captured data over a wireless datalink, wherein said transmitter is further configured and arranged to begin to transmit the captured data over the wireless datalink in response to at least a determination that a predetermined relationship exists between a storage threshold value and a value relating at least in part to an amount of captured data stored in said storage element. 2. An apparatus comprising: a control logic block configured and arranged to receive captured data; a storage element configured and arranged to store the captured data; and a transmitter configured and arranged to transmit the captured data over a wireless datalink, wherein said transmitter is further configured and arranged to begin to transmit the captured data over the wireless datalink in response to at least one among: • a determination that a predetermined relationship exists between a storage threshold value and a value relating at least in part to an amount of captured data stored in said storage element, • a determination that said apparatus has been idle for a predetermined period of time, • a determination that a predetermined relationship exists between a current time and at least one scheduled time, and • a determination that a predetermined relationship exists between a quality threshold value and a value relating to at least a quality of said wireless datalink. 3. The apparatus according to claim 2, wherein said storage element is a nonvolatile random-access memory device. 4. The apparatus according to claim 2, wherein said control logic block is configured and arranged to address said storage element at least in part as a circular queue. 5. The apparatus according to claim 2, wherein said storage element resides on a smart card. 6. The apparatus according to claim 2, wherein said storage element is further configured and arranged to store said captured data as a file in a directory structure readable by an operating system. 7. The apparatus according to claim 2, said apparatus further comprising a user interface configured and arranged to provide control information to said control logic block. 8. The apparatus according to claim 2, said apparatus further comprising a sensor configured and arranged to produce a captured data signal representative of at least one observed phenomenon, said captured data being based at least in part on said captured data signal. 9. The apparatus according to claim 8, wherein said sensor comprises an image sensor, said image sensor comprising at least one among a charge-coupled device and a complementary metal-oxide-semiconductor sensor. 10. The apparatus according to claim 2, said apparatus further comprising a signal processor configured and arranged to receive said captured data signal and to produce said captured data. 11. The apparatus according to claim 2, wherein said wireless datalink is carried at least in part by at least one among a radio-frequency carrier and an optical beam. 12. The apparatus according to claim 2, wherein said wireless datalink comprises at least part of at least one cellular telephone channel. 13. The apparatus according to claim 2, wherein said captured data comprises a sequence of video images, and wherein storage of a plurality of said video images is completed before said wireless datalink is established. 14. The apparatus according to claim 2, wherein said transmitter is further configured and arranged to transferred said captured data over said wireless datalink using at least a file transfer protocol. 15. The apparatus according to claim 2, wherein said transmitter is further configured and arranged to transfer said captured data over said wireless datalink using at least a reliable datalink protocol. 16. A system comprising: an apparatus, said apparatus comprising: a control logic block configured and arranged to receive captured data; a storage element configured and arranged to store the captured data; and a transmitting device configured and arranged to receive the captured data and to transmit the captured data over a wireless datalink, wherein said control logic block is further configured and arranged to retrieve said captured data from said storage element and to provide a signal based at least in part on said captured data to said transmitting device in response to at least one among: • a determination that a predetermined relationship exists between a storage threshold value and a value relating at least in part to an amount of captured data stored in said storage element, • a determination that said apparatus has been idle for a predetermined period of time, • a determination that a predetermined relationship exists between a current time and at least one scheduled time, and • a determination that a predetermined relationship exists between a quality threshold value and a value relating to at least a quality of said wireless datalink. 17. The system according to claim 16, wherein said transmitting device comprises a cellular telephone. 18. The system according to claim 16, wherein said transmitting device comprises a wireless modem. 19. A system comprising: an apparatus, said apparatus comprising: a control logic block configured and arranged to receive captured data; a storage element configured and arranged to store the captured data; and a transmitter configured and arranged to transmit the captured data over a wireless datalink, and a storage facility, said storage facility configured and arranged to receive said captured data after transmission over said wireless datalink, wherein said transmitter is further configured and arranged to begin to transmit the captured data over the wireless datalink in response to at least one among: • a determination that a predetermined relationship exists between a storage threshold value and a value relating at least in part to an amount of captured data stored in said storage element, • a determination that said apparatus has been idle for a predetermined period of time, • a determination that a predetermined relationship exists between a current time and at least one scheduled time, and • a determination that a predetermined relationship exists between a quality threshold value and a value relating to at least a quality of said wireless datalink. 20. The system according to claim 19, wherein said wireless datalink comprises a cellular telephone channel. 21. A method comprising: receiving captured data; storing the captured data in a storage element; and transmitting the captured data over a wireless datalink, wherein said transmitting the captured data over a wireless datalink begins in response to at least a determination that a predetermined relationship exists between a storage threshold value and a value relating at least in part to an amount of the captured data stored in the storage element.

Inventors: LEVIN MARK, LEVIN, MARK
Applicants: QUALCOMM INC, QUALCOMM INCORPORATED
Application year: 2001
Main classification: H04L29
IPC codes: H04B7, H04L12, H04M11