US10009505B2 - Asynchronously requesting information from a camera device - Google Patents

Asynchronously requesting information from a camera device Download PDF

Info

Publication number
US10009505B2
US10009505B2 US15/099,368 US201615099368A US10009505B2 US 10009505 B2 US10009505 B2 US 10009505B2 US 201615099368 A US201615099368 A US 201615099368A US 10009505 B2 US10009505 B2 US 10009505B2
Authority
US
United States
Prior art keywords
camera device
accessory camera
electronic device
image objects
accessory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US15/099,368
Other versions
US20160309054A1 (en
Inventor
Ryan W. Palumbo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to US15/099,368 priority Critical patent/US10009505B2/en
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALUMBO, RYAN W.
Publication of US20160309054A1 publication Critical patent/US20160309054A1/en
Priority to US16/017,544 priority patent/US20180309900A1/en
Application granted granted Critical
Publication of US10009505B2 publication Critical patent/US10009505B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32443Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter with asynchronous operation of the image input and output devices connected to the memory
    • H04N1/32454Controlling data flow to or from the memory in relation to the amount of data, e.g. file size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00214Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32363Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter at the transmitter or at the receiver
    • H04N1/32368Functions of a still picture terminal memory associated with transmission
    • H04N1/32374Storage subsequent to an attempted transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • H04N5/23206
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera

Definitions

  • This disclosure relates generally to the field of image transport, and more particularly to the field of asynchronously requesting information from a camera device. More specifically, this disclosure relates to asynchronously requesting and transmitting data information between an electronic device and an accessory camera device.
  • an accessory camera device when requesting images from an accessory camera device, the capabilities of the accessory camera device may not be known to the requesting device. For example, the accessory camera device may be busy with other activities at the time of a request, or may have limited bandwidth.
  • a method for managing a secure session includes receiving, at an accessory camera device, an asynchronous operation request from an electronic device for a first quantity of image data, determining, by the accessory camera device, a second quantity of image data that the accessory camera device is capable of transmitting to the asynchronous operation request, transmitting an indication of the second quantity of image data to the electronic device, and sending a response comprising the second quantity of image data to the electronic device.
  • the method may be embodied in computer executable program code and stored in a non-transitory storage device. In yet another embodiment, the method may be implemented by an electronic device.
  • FIG. 1 shows, in block diagram form, a simplified block diagram of an electronic device and accessory device, according to one or more embodiments.
  • FIG. 2 shows, in flow chart form, a method for asynchronously requesting image data in accordance with one or more embodiments.
  • FIG. 3 shows, in flow diagram form, a method for transmitting image thumbnails in accordance with one or more embodiments.
  • FIG. 4A shows, in flow diagram form, a first part of a method for transmitting image thumbnails in multiple transmissions in accordance with one or more embodiments.
  • FIG. 4B shows, in flow diagram form, a second part of a method for transmitting image thumbnails in multiple transmissions in accordance with one or more embodiments.
  • FIG. 5 shows, in block diagram form, a simplified multifunctional device according to one or more embodiments.
  • This disclosure pertains to systems, methods, and computer readable media for asynchronously requesting information from a camera device.
  • techniques are disclosed for asynchronously requesting and receiving image data from an accessory camera device.
  • An electronic device may request a particular amount and/or type of image data from the accessory camera device.
  • the camera device may respond with how much data the accessory camera device is capable of sending at the particular time, and the electronic device may either cancel the request and send another, or continue with the request based on the capability of the accessory camera device.
  • the accessory camera device may only be capable of sending less data than requested.
  • the electronic device may follow up with a request for the remaining image data after the initial batch of data is received.
  • any of the various components depicted in the flow diagram may be deleted, or the components may be performed in a different order, or even concurrently.
  • other embodiments may include additional steps not depicted as part of the flow diagram.
  • the language used in this disclosure has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.
  • Reference in this disclosure to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention, and multiple references to “one embodiment” or to “an embodiment” should not be understood as necessarily all referring to the same embodiment or to different embodiments.
  • FIG. 1 shows, in block diagram form, an overall view of a system diagram capable of supporting asynchronous request of image information from an accessory camera device, according to one or more embodiments.
  • FIG. 1 depicts an electronic device 100 that is a computer system.
  • Electronic Device 100 may be connected to other network devices across a network, such as mobile devices, tablet devices, desktop devices, as well as network storage devices such as servers and the like.
  • Electronic Device 100 may comprise a desktop computer, a laptop computer, a video-game console, an embedded device, a mobile phone, tablet computer, personal digital assistant, portable music/video player, or any other electronic device that includes a camera system.
  • Electronic Device 100 may include a central processing unit (CPU) 130 .
  • Processor 130 may be a system-on-chip such as those found in mobile devices and include one or more dedicated graphics processing units (GPUs).
  • Electronic Device 100 may also include a memory 140 and storage 150 .
  • Memory 140 and storage 150 may each include one or more different types of memory, which may be used for performing device functions in conjunction with CPU 130 .
  • memory 140 and storage 150 may include cache, ROM, and/or RAM.
  • Memory 140 and storage 150 may store various programming modules during execution, including various applications.
  • memory 140 may include applications directed to image data, such as photo application 155 , and image application 165 . Further, photo application 155 and image application 165 may include additional submodules, such as image capture framework 160 .
  • Electronic device 100 may also include a camera 120 . Camera 120 may include an image sensor, a lens stack, and other components that may be used to capture images.
  • storage 150 may include any storage media accessible by a computer during use to provide instructions and/or data to the computer, and may include multiple instances of a physical medium as if they were a single physical medium.
  • a machine-readable storage medium may include storage media such as magnetic or optical media, e.g., disk (fixed or removable), tape, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, or Blu-Ray.
  • Storage media may further include volatile or non-volatile memory media such as RAM (e.g., synchronous dynamic RAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, low-power DDR (LPDDR2, etc.) SDRAM, RAMBUS DRAM (RDRAM) (RAMBUS is a registered trademark of Rambus Inc.), static RAM (SRAM)), ROM, non-volatile memory (e.g., Flash memory) accessible via a peripheral interface such as the USB interface, etc.
  • RAM e.g., synchronous dynamic RAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, low-power DDR (LPDDR2, etc.) SDRAM, RAMBUS DRAM (RDRAM) (RAMBUS is a registered trademark of Rambus Inc.), static RAM (SRAM)), ROM, non-volatile memory (e.g., Flash memory) accessible via a peripheral interface such as the USB interface, etc.
  • Storage media may include micro-elect
  • electronic device 100 may be operatively connected to an accessory camera device 175 .
  • the electronic device 100 and accessory camera device 175 may be operatively connected across a network, such as a WAN, LAN, or the internet.
  • the electronic device 100 and accessory camera device 175 may be connected by Bluetooth or a USB connection.
  • accessory camera device may include, at least, a camera 180 , a memory 185 , and a CPU 190 .
  • Camera 120 may include an image sensor, a lens stack, and other components that may be used to capture images.
  • CPU 190 may be a system-on-chip such as those found in mobile devices and include one or more dedicated graphics processing units (GPUs).
  • GPUs dedicated graphics processing units
  • Memory 185 may include one or more different types of memory, which may be used for performing device functions in conjunction with CPU 190 .
  • Memory 185 may include applications that run on accessory camera device 175 , such as transport module 195 .
  • application on the accessory camera device 175 such as transport module 195 , may be utilized for management of operations of the camera 180 .
  • transport module 195 may be utilized to manage image data on accessory camera device 175 , and to communicate with electronic device 100 .
  • accessory camera device 175 may include additional storage that may store image data, such as digital images, thumbnails for the digital images, metadata for the digital images, and the like. The image data stored in storage in accessory camera device 175 may be generated from images captured by camera 180 .
  • image capture framework 160 may be configured to generate and send asynchronous requests to accessory camera device 175 .
  • the image capture framework 160 may request image data from the accessory camera device 175 .
  • the image capture framework may obtain image data from accessory camera device 175 for use by photo application 155 , image application 165 , or other applications on electronic device 100 .
  • image capture framework 160 may generate and transmit asynchronous requests to the accessory camera device for image data.
  • transport module 195 may manage requests received from electronic device 100 for image data.
  • accessory camera device 175 may receive a request for image data from electronic device 100 at a time when accessory camera device 175 is occupied with other processes.
  • the transport module 195 manages requests from the electronic device by initially responding with an indication of the capability of the accessory camera device to respond to the request. For example, the accessory camera device may be able to fully respond to the request if the request is small and the accessory camera device 175 is not busy. As another example, the accessory camera device may only be able to respond with a partial set of image data requested, or may not be able to respond at all.
  • the accessory camera device may wait for a request for results from the electronic device 100 after indicating the capability of the accessory camera device 175 , or the accessory camera device 175 may respond with image data based on the capabilities of the accessory camera device 175 at the time of the request.
  • FIG. 2 an example a method for asynchronously requesting image data in accordance with one or more embodiments is presented. It should be understood that the various components of the flow chart described below may be performed in a different order or simultaneously, and some components may even be omitted in one or more embodiments. For purposes of this example, the various steps occur within electronic device 100 and accessory camera device 175 . In one or more embodiments, steps performed by the electronic device may be performed by computer code in memory 185 , such as transport module 195 . Similarly, steps depicted as performed by accessory camera device 175 may be performed by computer code in memory 140 , such as image capture framework 160 .
  • the flow chart begins at 205 , when the electronic device 100 transmits an asynchronous operation for receiving a first amount of image data from an accessory camera device 175 .
  • the asynchronous operation may include such operations as getting object information from a storage of accessory camera device 175 , getting thumbnails, with or without metadata, getting empty images, such as JPEG images with metadata, and the like.
  • Asynchronous operation codes may include requestThumbnails, requestMetadata, requestThumbnailsWithMetadata, retrieve Thumbnails, retrieveMetadata, retrieveThubnailsWithMetadata, and the like.
  • the asynchronous operation may include one or more parameters.
  • the one or more parameters may include an operation code, a storage ID, an object handle array, a quality parameter indicating the quality of the requested data, and geometric dimension data.
  • a default size may be 640 ⁇ 480 pixels.
  • other resolutions may include 1136 ⁇ 640, 853 ⁇ 640, 960 ⁇ 640, or 640 ⁇ 640.
  • each resolution may respectively be described as a parameter value of 0x000, 0x0001, 0x0010, 0x0100, and 0x1000.
  • the electronic device 100 may also transmit an ObjectHandleArray, which may indicate an object with which the data may be transmitted.
  • the flow chart continue at 210 where the accessory camera device 175 receives the asynchronous operation for receiving image data.
  • the flow chart continues at 215 where the accessory camera device 175 determines a capability of the device to send the requested amount of data.
  • the accessory camera device may be capable of fully responding to the asynchronous operation, partially responding to the asynchronous operation, or not capable at all of responding to the asynchronous operation.
  • the capabilities of the accessory camera device 175 may be determined, for example, on current processes executing on CPU 190 , hardware capabilities of accessory camera device 175 , available bandwidth, and the like.
  • the second amount of data may be the same amount of data as requested, a lesser amount of data as requested, or no data.
  • the accessory camera device 175 transmits and indication of the amount of data that the accessory device 175 is able to generate and transmit based on the asynchronous operation.
  • the accessory camera device 175 may transmit a message acknowledging the asynchronous operation, as well as a ready response. That is, in one or more embodiments, a first message may indicate to the electronic device 100 that the asynchronous operation is received, and the second message includes information regarding the capability of the accessory device.
  • the message acknowledging the response may include information regarding why the accessory device 175 was unable to process the request, such as that the operation is not supported, the session is not open, the transaction ID or object handle are invalid, the store is unavailable, or a certain parameter in the asynchronous operation is not supported.
  • the ready response may indicate either that the accessory device 175 is ready to handle the asynchronous operation or not.
  • the ready message may also include the operation code identifying the asynchronous request for which the accessory device 175 is responding, a total size of the data capable of being generated and transmitted by accessory device 175 .
  • electronic device 100 receives the indication of the capability of the accessory camera device 175 to respond to the asynchronous operation. In one or more embodiments, the electronic device 100 may also receive the response message indicating that the accessory device 175 acknowledges the asynchronous operation.
  • the electronic device 100 transmits a request for the amount of data that the accessory camera device 175 indicated was capable of generating and transmitting.
  • the request message may include various parameters.
  • the parameters in the request message may include, for example, an operation code indicating the asynchronous operation for which the request message is associated.
  • the electronic device 100 may instead wish to request a different amount or type of data, after receiving the response from the accessory device 175 . For example, by the time the electronic device 100 receives the ready message, a user at the electronic device may determine that a different amount or type of data is preferred. Although not shown, the electronic device may optionally transmit a second asynchronous operation. In one or more embodiments, the accessory device 175 may cancel an incomplete first asynchronous operation in response to receiving a second asynchronous operation.
  • the flow chart continues at 235 and, in response to receiving the request for the second amount of data, the accessory device 175 may generate the requested second amount of data.
  • the accessory device 175 may begin generating the second amount of data at a different time, such as in response to determining the capability of the accessory device 175 to send the second amount of data.
  • the flow chart continues at 240 , and the accessory device 175 transmits the generated image data to the electronic device 100 .
  • FIG. 3 shows, in flow diagram form, a method for transmitting image thumbnails in accordance with one or more embodiments.
  • FIG. 3 shows one example of the use of asynchronous operations by an electronic device to request image data, in this case thumbnail images, from an accessory camera device 175 .
  • the Asynchronous Operation may be identified as AsyncRequestData, and may include several parameters.
  • the first parameter may identify a type of operation requested.
  • asynchronous operation 305 is AsyncRequestThumbnailObjects.
  • the operation type may additionally, or alternatively, include a code indicating the type of operation.
  • the code 0xF000 identifies that thumbnail objects are requested.
  • the electronic device 100 may also transmit a data message 310 .
  • Data message 310 may include, for example, data to enable the responder to respond to the request.
  • these may include OperationCodeForAsyncRequest, NumObjectsRequested, Preferred Resolution, and ObjectHandleArray.
  • the various parameters in the Data message 310 may identify, for example, a code for the particular request, a number of objects requested, a preferred resolution of the objects requested, and an object handle array with which the responder should respond with the data.
  • the accessory device 175 may reply with a response message 315 .
  • the response message 315 may indicate that the asynchronous operation is acknowledged.
  • a ready response 320 is generated by the accessory device 175 .
  • the ready response may include an indication of the asynchronous operation to which the accessory device 175 is responding.
  • the accessory device 175 is responding to the asynchronous operation with an identification of 0xF000, in this example a request for thumbnails, in ready response 320 .
  • ready response indicates that the image data is ready to be retrieved.
  • the image data may be generated and ready for transmission when the ready response 320 is transmitted, or the image data may be ready to be generated.
  • the ready response 320 includes an indication of the capability of the accessory device 175 to respond to the asynchronous operation.
  • the “Total Data” parameter value may indicate the size, in bytes for example, of the image data the accessory device 175 is capable of sending to the electronic device 100 .
  • the electronic device 100 may send a request message 325 , in this example identified as AsycRetrieveData.
  • AsyncRetrieveData may have its own code, as 0xF003.
  • the electronic device 100 may wait for the ready message 320 before transmitting the request message 325 .
  • the request message may include an operation code parameter.
  • the accessory device 175 may send a data message 330 with a thumbnail array comprising the requested data.
  • the response may include a number of objects requested, a number of objects returned, a total data size, and the object handle data array.
  • the accessory device 175 may also transmit a response message 335 indicating that the transmission of the image data requested in the asynchronous operation 305 is complete.
  • FIGS. 4A-4B show, in flow diagram form, a method for transmitting image thumbnails in accordance with one or more embodiments.
  • FIGS. 4A-4B show another example of the use of asynchronous operations by an electronic device to request image data, in this case thumbnail images, from an accessory camera device 175 .
  • FIGS. 4A-4B are distinguishable from FIG. 3 because in FIGS. 4A-4B , the accessory device can only generate and transmit a portion of the originally requested data.
  • asynchronous operation 305 is called AsyncGetThumbnails.
  • the asynchronous operation 405 in the example includes three parameters.
  • the first parameter indicates that the request type is AsyncRequestThumbObjects because the electronic device 100 is requesting thumbnails.
  • the electronic device 100 may also transmit a data message 410 .
  • Data message 410 may include, for example, various parameters that indicate the type of data requested. The parameters could indicate, for example, that the electronic device 100 is requesting 640 ⁇ 480 thumbnails of JPEG quality 75 without embedded metadata in a storage of the accessory device 175 .
  • data message 410 may also include an indication that the electronic device 100 is requesting 50 thumbnails from accessory device 175 .
  • the accessory device 175 may reply with a response message 415 .
  • the response message 415 may indicate that the asynchronous operation is acknowledged.
  • a ready response 420 is generated by the accessory device 175 .
  • the ready response may include an indication of the asynchronous operation to which the accessory device 175 is responding.
  • the accessory device 175 is responding to the asynchronous operation with an identification of 0xF000, in this example a request for thumbnails, in ready response 420 .
  • ready response indicates that the image data is ready to be retrieved.
  • the image data may be generated and ready for transmission when the ready response 420 is transmitted, or the image data may be ready to be generated.
  • the ready response 420 includes an indication of the capability of the accessory device 175 to respond to the asynchronous operation.
  • the “TotalSize” parameter value may indicate the size, in bytes for example, of the image data the accessory device 175 is capable of sending to the electronic device 100 .
  • accessory device 175 may be able to only generate and transmit a portion of the 50 thumbnails at the size and quality requested, for example 40 thumbnails.
  • the electronic device 100 may send a request message 425 .
  • the electronic device 100 may wait for the ready message 420 before transmitting the request message 425 .
  • the request message may include an operation code parameter.
  • the accessory device 175 may send a data message 430 with a thumbnail array comprising the requested data.
  • the data message 430 may also indicate that the number of requested thumbnails was 50 but the number of thumbnails returned was 40.
  • the accessory device 175 may generate and send less data than originally requested, and may indicate to the requesting electronic device 100 how much data is transmitted compared to how much data was originally requested.
  • the accessory device 175 may also transmit a response message 435 indicating that the transmission of the image data requested in the asynchronous operation 405 is complete to the point that the accessory device 175 indicated was possible.
  • the flow diagram continues at 445 .
  • the electronic device 100 may send an additional asynchronous operation 445 for more thumbnails without embedded metadata in a storage of the accessory device 175 .
  • the electronic device 100 may also transmit a data message 450 .
  • Data message 450 may include, for example, ObjectHandleArray.
  • data message 450 may also include an indication that the electronic device 100 is requesting the remaining 10 thumbnails from accessory device 175 .
  • the accessory device 175 may reply with a response message 455 .
  • the response message 455 may indicate that the asynchronous operation is acknowledged.
  • a ready response 460 is generated by the accessory device 175 .
  • the ready response may include an indication of the asynchronous operation to which the accessory device 175 is responding, in this example 0xF000.
  • the accessory device 175 is responding to the asynchronous operation with an identification of 0x9401 in ready response 460 .
  • ready response indicates that the image data is ready to be retrieved.
  • the image data may be generated and ready for transmission when the ready response 460 is transmitted, or the image data may be ready to be generated.
  • the ready response 460 includes an indication of the capability of the accessory device 175 to respond to the asynchronous operation through the parameter TotalSize.
  • accessory device 175 may be able to generate and transmit the remaining 10 thumbnails at the size and quality requested.
  • the electronic device 100 may send a request message 465 .
  • the electronic device 100 may wait for the ready message 460 before transmitting the request message 465 .
  • the request message may include an operation code parameter.
  • the accessory device 175 may send a data message 470 with a thumbnail array comprising the remaining 10 thumbnails.
  • the data message 430 may also indicate that the number of requested thumbnails was 10 and the number of thumbnails returned was 10.
  • the accessory device 175 may generate and send the same amount data as originally requested, and may indicate to the requesting electronic device 100 how much data is transmitted compared to how much data was originally requested.
  • the accessory device 175 may also transmit a response message 475 indicating that the transmission of the image data requested in the asynchronous operation 445 is complete to the point that the accessory device 175 indicated was possible.
  • Multifunction electronic device 500 may include processor 505 , display 510 , user interface 515 , graphics hardware 520 , device sensors 525 (e.g., proximity sensor/ambient light sensor, accelerometer and/or gyroscope), microphone 530 , audio codec(s) 535 , speaker(s) 540 , communications circuitry 545 , digital image capture unit 550 video codec(s) 555 , memory 560 , storage device 565 , and communications bus 570 .
  • Multifunction electronic device 500 may be, for example, a digital camera or a personal electronic device such as a personal digital assistant (PDA), personal music player, mobile telephone, or a tablet computer. In some embodiments, multifunction electronic device 500 corresponds to Electronic Device 100 .
  • PDA personal digital assistant
  • multifunction electronic device 500 corresponds to Electronic Device 100 .
  • Processor 505 may execute instructions necessary to carry out or control the operation of many functions performed by device 500 (e.g., such as the generation and/or processing of images in accordance with this disclosure). Processor 505 may, for instance, drive display 510 and receive user input from user interface 515 . User interface 515 may allow a user to interact with device 500 .
  • user interface 515 can take a variety of forms, such as a button, keypad, dial, a click wheel, keyboard, display screen and/or a touch screen.
  • Processor 505 may also, for example, be a system-on-chip such as those found in mobile devices and include a dedicated graphics processing unit (GPU).
  • GPU dedicated graphics processing unit
  • Processor 505 may be based on reduced instruction-set computer (RISC) or complex instruction-set computer (CISC) architectures or any other suitable architecture and may include one or more processing cores.
  • Graphics hardware 520 may be special purpose computational hardware for processing graphics and/or assisting processor 505 to process graphics information.
  • graphics hardware 520 may include a programmable graphics processing unit (GPU).
  • Sensor and camera circuitry 550 may capture still and video images that may be processed, at least in part, by video codec(s) 555 and/or processor 505 and/or graphics hardware 520 , and/or a dedicated image processing unit incorporated within circuitry 550 . Images so captured may be stored in memory 560 and/or storage 565 .
  • Memory 560 may include one or more different types of media used by processor 505 and graphics hardware 520 to perform device functions.
  • memory 560 may include memory cache, read-only memory (ROM), and/or random access memory (RAM).
  • Storage 565 may store media (e.g., audio, image and video files), computer program instructions or software, preference information, device profile information, and any other suitable data.
  • Storage 565 may include one more non-transitory storage mediums including, for example, magnetic disks (fixed, floppy, and removable) and tape, optical media such as CD-ROMs and digital video disks (DVDs), and semiconductor memory devices such as Electrically Programmable Read-Only Memory (EPROM), and Electrically Erasable Programmable Read-Only Memory (EEPROM).
  • Memory 560 and storage 565 may be used to tangibly retain computer program instructions or code organized into one or more modules and written in any desired computer programming language. When executed by, for example, processor 505 such computer program code may implement one or more of the methods described herein.

Abstract

Image transport includes receiving, at an accessory camera device, an asynchronous operation request from an electronic device for a first quantity of image data, determining, by the accessory camera device, a second quantity of image data that the accessory camera device is capable of transmitting to the asynchronous operation request, transmitting an indication of the second quantity of image data to the electronic device, and sending a response comprising the second quantity of image data to the electronic device.

Description

BACKGROUND
This disclosure relates generally to the field of image transport, and more particularly to the field of asynchronously requesting information from a camera device. More specifically, this disclosure relates to asynchronously requesting and transmitting data information between an electronic device and an accessory camera device.
Digital cameras have become ubiquitous in today's electronic devices. Further, users often access or use photos on additional devices, for use in photography applications, image editing, and the like. Because digital cameras may be standalone devices, or part of a different device than that on which a user wishes to store or access the image data, image transport must occur. Typically, image data may be transferred between devices using a protocol, such as Picture Transport Protocol (PTP).
One drawback in the use of an accessory camera device is when requesting images from an accessory camera device, the capabilities of the accessory camera device may not be known to the requesting device. For example, the accessory camera device may be busy with other activities at the time of a request, or may have limited bandwidth.
SUMMARY
In one embodiment, a method for managing a secure session is disclosed. The method includes receiving, at an accessory camera device, an asynchronous operation request from an electronic device for a first quantity of image data, determining, by the accessory camera device, a second quantity of image data that the accessory camera device is capable of transmitting to the asynchronous operation request, transmitting an indication of the second quantity of image data to the electronic device, and sending a response comprising the second quantity of image data to the electronic device.
In another embodiment, the method may be embodied in computer executable program code and stored in a non-transitory storage device. In yet another embodiment, the method may be implemented by an electronic device.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows, in block diagram form, a simplified block diagram of an electronic device and accessory device, according to one or more embodiments.
FIG. 2 shows, in flow chart form, a method for asynchronously requesting image data in accordance with one or more embodiments.
FIG. 3 shows, in flow diagram form, a method for transmitting image thumbnails in accordance with one or more embodiments.
FIG. 4A shows, in flow diagram form, a first part of a method for transmitting image thumbnails in multiple transmissions in accordance with one or more embodiments.
FIG. 4B shows, in flow diagram form, a second part of a method for transmitting image thumbnails in multiple transmissions in accordance with one or more embodiments.
FIG. 5 shows, in block diagram form, a simplified multifunctional device according to one or more embodiments.
DETAILED DESCRIPTION
This disclosure pertains to systems, methods, and computer readable media for asynchronously requesting information from a camera device. In general, techniques are disclosed for asynchronously requesting and receiving image data from an accessory camera device. An electronic device may request a particular amount and/or type of image data from the accessory camera device. The camera device may respond with how much data the accessory camera device is capable of sending at the particular time, and the electronic device may either cancel the request and send another, or continue with the request based on the capability of the accessory camera device. In one or more embodiments, the accessory camera device may only be capable of sending less data than requested. The electronic device may follow up with a request for the remaining image data after the initial batch of data is received.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the inventive concept. As part of this description, some of this disclosure's drawings represent structures and devices in block diagram form in order to avoid obscuring the disclosed subject matter. In this context, it should be understood that references to numbered drawing elements without associated identifiers (e.g., 100) refer to all instances of the drawing element with identifiers (e.g., 100 a and 100 b). Further, as part of this description, some of this disclosure's drawings may be provided in the form of a flow diagram. The boxes in any particular flow diagram are presented in a particular order. However, it should be understood that the particular flow of any flow diagram is used only to exemplify one embodiment. In other embodiments, any of the various components depicted in the flow diagram may be deleted, or the components may be performed in a different order, or even concurrently. In addition, other embodiments may include additional steps not depicted as part of the flow diagram. The language used in this disclosure has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Reference in this disclosure to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention, and multiple references to “one embodiment” or to “an embodiment” should not be understood as necessarily all referring to the same embodiment or to different embodiments.
It should be appreciated that in the development of any actual implementation (as in any development project), numerous decisions must be made to achieve the developers' specific goals (e.g., compliance with system and business-related constraints), and that these goals will vary from one implementation to another. It will also be appreciated that such development efforts might be complex and time consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art of image capture having the benefit of this disclosure.
FIG. 1 shows, in block diagram form, an overall view of a system diagram capable of supporting asynchronous request of image information from an accessory camera device, according to one or more embodiments. Specifically, FIG. 1 depicts an electronic device 100 that is a computer system. Electronic Device 100 may be connected to other network devices across a network, such as mobile devices, tablet devices, desktop devices, as well as network storage devices such as servers and the like. In various embodiments, Electronic Device 100 may comprise a desktop computer, a laptop computer, a video-game console, an embedded device, a mobile phone, tablet computer, personal digital assistant, portable music/video player, or any other electronic device that includes a camera system.
Electronic Device 100 may include a central processing unit (CPU) 130. Processor 130 may be a system-on-chip such as those found in mobile devices and include one or more dedicated graphics processing units (GPUs). Electronic Device 100 may also include a memory 140 and storage 150. Memory 140 and storage 150 may each include one or more different types of memory, which may be used for performing device functions in conjunction with CPU 130. For example, memory 140 and storage 150 may include cache, ROM, and/or RAM. Memory 140 and storage 150 may store various programming modules during execution, including various applications. In one or more embodiments, memory 140 may include applications directed to image data, such as photo application 155, and image application 165. Further, photo application 155 and image application 165 may include additional submodules, such as image capture framework 160. Electronic device 100 may also include a camera 120. Camera 120 may include an image sensor, a lens stack, and other components that may be used to capture images.
In one or more embodiments, storage 150 may include any storage media accessible by a computer during use to provide instructions and/or data to the computer, and may include multiple instances of a physical medium as if they were a single physical medium. For example, a machine-readable storage medium may include storage media such as magnetic or optical media, e.g., disk (fixed or removable), tape, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, or Blu-Ray. Storage media may further include volatile or non-volatile memory media such as RAM (e.g., synchronous dynamic RAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, low-power DDR (LPDDR2, etc.) SDRAM, RAMBUS DRAM (RDRAM) (RAMBUS is a registered trademark of Rambus Inc.), static RAM (SRAM)), ROM, non-volatile memory (e.g., Flash memory) accessible via a peripheral interface such as the USB interface, etc. Storage media may include micro-electro-mechanical systems (MEMS), as well as storage media accessible via a communication medium such as a network and/or a wireless link. Storage 150 may include photo store 170. In one or more embodiments, photo store 170 may store image data regarding images captured by camera 120 or accessory camera device 175. In one or more embodiments, image data may include, for example, digital images, thumbnail images, metadata regarding digital images, and the like.
In one or more embodiments, electronic device 100 may be operatively connected to an accessory camera device 175. In one or more embodiments, the electronic device 100 and accessory camera device 175 may be operatively connected across a network, such as a WAN, LAN, or the internet. In one or more embodiments, the electronic device 100 and accessory camera device 175 may be connected by Bluetooth or a USB connection.
In one or more embodiments, accessory camera device may include, at least, a camera 180, a memory 185, and a CPU 190. Camera 120 may include an image sensor, a lens stack, and other components that may be used to capture images. CPU 190 may be a system-on-chip such as those found in mobile devices and include one or more dedicated graphics processing units (GPUs).
Memory 185 may include one or more different types of memory, which may be used for performing device functions in conjunction with CPU 190. Memory 185 may include applications that run on accessory camera device 175, such as transport module 195. In one or more embodiments, application on the accessory camera device 175, such as transport module 195, may be utilized for management of operations of the camera 180. In addition, transport module 195 may be utilized to manage image data on accessory camera device 175, and to communicate with electronic device 100. In one or more embodiments, accessory camera device 175 may include additional storage that may store image data, such as digital images, thumbnails for the digital images, metadata for the digital images, and the like. The image data stored in storage in accessory camera device 175 may be generated from images captured by camera 180.
For example, in one or more embodiments, image capture framework 160 may be configured to generate and send asynchronous requests to accessory camera device 175. In one or more embodiments, the image capture framework 160 may request image data from the accessory camera device 175. The image capture framework may obtain image data from accessory camera device 175 for use by photo application 155, image application 165, or other applications on electronic device 100. In one or more embodiments, image capture framework 160 may generate and transmit asynchronous requests to the accessory camera device for image data.
In one or more embodiment, transport module 195 may manage requests received from electronic device 100 for image data. In one or more embodiments, accessory camera device 175 may receive a request for image data from electronic device 100 at a time when accessory camera device 175 is occupied with other processes. In one or more embodiments, the transport module 195 manages requests from the electronic device by initially responding with an indication of the capability of the accessory camera device to respond to the request. For example, the accessory camera device may be able to fully respond to the request if the request is small and the accessory camera device 175 is not busy. As another example, the accessory camera device may only be able to respond with a partial set of image data requested, or may not be able to respond at all. In one or more embodiments, the accessory camera device may wait for a request for results from the electronic device 100 after indicating the capability of the accessory camera device 175, or the accessory camera device 175 may respond with image data based on the capabilities of the accessory camera device 175 at the time of the request.
Turning to FIG. 2, an example a method for asynchronously requesting image data in accordance with one or more embodiments is presented. It should be understood that the various components of the flow chart described below may be performed in a different order or simultaneously, and some components may even be omitted in one or more embodiments. For purposes of this example, the various steps occur within electronic device 100 and accessory camera device 175. In one or more embodiments, steps performed by the electronic device may be performed by computer code in memory 185, such as transport module 195. Similarly, steps depicted as performed by accessory camera device 175 may be performed by computer code in memory 140, such as image capture framework 160.
The flow chart begins at 205, when the electronic device 100 transmits an asynchronous operation for receiving a first amount of image data from an accessory camera device 175. In one or more embodiments, the asynchronous operation may include such operations as getting object information from a storage of accessory camera device 175, getting thumbnails, with or without metadata, getting empty images, such as JPEG images with metadata, and the like. For example, Asynchronous operation codes may include requestThumbnails, requestMetadata, requestThumbnailsWithMetadata, retrieve Thumbnails, retrieveMetadata, retrieveThubnailsWithMetadata, and the like. In one or more embodiments, the asynchronous operation may include one or more parameters. In one or more embodiments, the one or more parameters may include an operation code, a storage ID, an object handle array, a quality parameter indicating the quality of the requested data, and geometric dimension data. As an example, regarding thumbnail images, a default size may be 640×480 pixels. However, other resolutions may include 1136×640, 853×640, 960×640, or 640×640. In one or more embodiments, each resolution may respectively be described as a parameter value of 0x000, 0x0001, 0x0010, 0x0100, and 0x1000. In one or more embodiments, the electronic device 100 may also transmit an ObjectHandleArray, which may indicate an object with which the data may be transmitted.
The flow chart continue at 210 where the accessory camera device 175 receives the asynchronous operation for receiving image data. The flow chart continues at 215 where the accessory camera device 175 determines a capability of the device to send the requested amount of data. In one or more embodiments, the accessory camera device may be capable of fully responding to the asynchronous operation, partially responding to the asynchronous operation, or not capable at all of responding to the asynchronous operation. The capabilities of the accessory camera device 175 may be determined, for example, on current processes executing on CPU 190, hardware capabilities of accessory camera device 175, available bandwidth, and the like. Thus, in one or more embodiments, the second amount of data may be the same amount of data as requested, a lesser amount of data as requested, or no data.
At 220, the accessory camera device 175 transmits and indication of the amount of data that the accessory device 175 is able to generate and transmit based on the asynchronous operation. In one or more embodiments, the accessory camera device 175 may transmit a message acknowledging the asynchronous operation, as well as a ready response. That is, in one or more embodiments, a first message may indicate to the electronic device 100 that the asynchronous operation is received, and the second message includes information regarding the capability of the accessory device. In the event the accessory device cannot handle the asynchronous operation, the message acknowledging the response may include information regarding why the accessory device 175 was unable to process the request, such as that the operation is not supported, the session is not open, the transaction ID or object handle are invalid, the store is unavailable, or a certain parameter in the asynchronous operation is not supported. In one or more embodiments, the ready response may indicate either that the accessory device 175 is ready to handle the asynchronous operation or not. In addition, if the accessory device 175 is able to handle at least part of the request, then the ready message may also include the operation code identifying the asynchronous request for which the accessory device 175 is responding, a total size of the data capable of being generated and transmitted by accessory device 175.
At 225, electronic device 100 receives the indication of the capability of the accessory camera device 175 to respond to the asynchronous operation. In one or more embodiments, the electronic device 100 may also receive the response message indicating that the accessory device 175 acknowledges the asynchronous operation.
The flow chart continues at 230 and the electronic device 100 transmits a request for the amount of data that the accessory camera device 175 indicated was capable of generating and transmitting. In one or more embodiments, the request message may include various parameters. The parameters in the request message may include, for example, an operation code indicating the asynchronous operation for which the request message is associated.
In one or more embodiments, the electronic device 100 may instead wish to request a different amount or type of data, after receiving the response from the accessory device 175. For example, by the time the electronic device 100 receives the ready message, a user at the electronic device may determine that a different amount or type of data is preferred. Although not shown, the electronic device may optionally transmit a second asynchronous operation. In one or more embodiments, the accessory device 175 may cancel an incomplete first asynchronous operation in response to receiving a second asynchronous operation.
Returning to FIG. 2, the flow chart continues at 235 and, in response to receiving the request for the second amount of data, the accessory device 175 may generate the requested second amount of data. In one or more embodiments, the accessory device 175 may begin generating the second amount of data at a different time, such as in response to determining the capability of the accessory device 175 to send the second amount of data. Once the image data is generated, then the flow chart continues at 240, and the accessory device 175 transmits the generated image data to the electronic device 100.
FIG. 3 shows, in flow diagram form, a method for transmitting image thumbnails in accordance with one or more embodiments. FIG. 3 shows one example of the use of asynchronous operations by an electronic device to request image data, in this case thumbnail images, from an accessory camera device 175.
The flow diagram when electronic device 100 sends an asynchronous operation 305 to accessory device 175. In one or more embodiments, the Asynchronous Operation may be identified as AsyncRequestData, and may include several parameters. As indicated, the first parameter may identify a type of operation requested. In the example flow diagram, asynchronous operation 305 is AsyncRequestThumbnailObjects. The operation type may additionally, or alternatively, include a code indicating the type of operation. In the example, the code 0xF000 identifies that thumbnail objects are requested. In one or more embodiments, the electronic device 100 may also transmit a data message 310.
Data message 310 may include, for example, data to enable the responder to respond to the request. In one or more embodiments, these may include OperationCodeForAsyncRequest, NumObjectsRequested, Preferred Resolution, and ObjectHandleArray. The various parameters in the Data message 310 may identify, for example, a code for the particular request, a number of objects requested, a preferred resolution of the objects requested, and an object handle array with which the responder should respond with the data.
In response to receiving the asynchronous operation 305, the accessory device 175 may reply with a response message 315. As indicated, the response message 315 may indicate that the asynchronous operation is acknowledged. Further, a ready response 320 is generated by the accessory device 175. As described above, the ready response may include an indication of the asynchronous operation to which the accessory device 175 is responding. In the example, the accessory device 175 is responding to the asynchronous operation with an identification of 0xF000, in this example a request for thumbnails, in ready response 320. In addition, ready response indicates that the image data is ready to be retrieved. In one or more embodiments, the image data may be generated and ready for transmission when the ready response 320 is transmitted, or the image data may be ready to be generated. As depicted, the ready response 320 includes an indication of the capability of the accessory device 175 to respond to the asynchronous operation. In one or more embodiments, the “Total Data” parameter value may indicate the size, in bytes for example, of the image data the accessory device 175 is capable of sending to the electronic device 100.
In response to receiving the ready message, the electronic device 100 may send a request message 325, in this example identified as AsycRetrieveData. As shown above, AsyncRetrieveData may have its own code, as 0xF003. In one or more embodiments, the electronic device 100 may wait for the ready message 320 before transmitting the request message 325. As depicted in example request message 325, the request message may include an operation code parameter. After receiving the request message 325, the accessory device 175 may send a data message 330 with a thumbnail array comprising the requested data. The response may include a number of objects requested, a number of objects returned, a total data size, and the object handle data array. In one or more embodiments, the accessory device 175 may also transmit a response message 335 indicating that the transmission of the image data requested in the asynchronous operation 305 is complete.
FIGS. 4A-4B show, in flow diagram form, a method for transmitting image thumbnails in accordance with one or more embodiments. FIGS. 4A-4B show another example of the use of asynchronous operations by an electronic device to request image data, in this case thumbnail images, from an accessory camera device 175. FIGS. 4A-4B are distinguishable from FIG. 3 because in FIGS. 4A-4B, the accessory device can only generate and transmit a portion of the originally requested data.
The flow diagram when electronic device 100 sends an asynchronous operation to accessory device 175. In the example flow diagram, asynchronous operation 305 is called AsyncGetThumbnails. The asynchronous operation 405 in the example includes three parameters. The first parameter indicates that the request type is AsyncRequestThumbObjects because the electronic device 100 is requesting thumbnails. In one or more embodiments, the electronic device 100 may also transmit a data message 410. Data message 410 may include, for example, various parameters that indicate the type of data requested. The parameters could indicate, for example, that the electronic device 100 is requesting 640×480 thumbnails of JPEG quality 75 without embedded metadata in a storage of the accessory device 175. In this example, data message 410 may also include an indication that the electronic device 100 is requesting 50 thumbnails from accessory device 175.
In response to receiving the asynchronous operation 405, the accessory device 175 may reply with a response message 415. As indicated, the response message 415 may indicate that the asynchronous operation is acknowledged. Further, a ready response 420 is generated by the accessory device 175. As described above, the ready response may include an indication of the asynchronous operation to which the accessory device 175 is responding. In the example, the accessory device 175 is responding to the asynchronous operation with an identification of 0xF000, in this example a request for thumbnails, in ready response 420. In addition, ready response indicates that the image data is ready to be retrieved. In one or more embodiments, the image data may be generated and ready for transmission when the ready response 420 is transmitted, or the image data may be ready to be generated. As depicted, the ready response 420 includes an indication of the capability of the accessory device 175 to respond to the asynchronous operation. In one or more embodiments, the “TotalSize” parameter value may indicate the size, in bytes for example, of the image data the accessory device 175 is capable of sending to the electronic device 100. In the example, accessory device 175 may be able to only generate and transmit a portion of the 50 thumbnails at the size and quality requested, for example 40 thumbnails.
In response to receiving the ready message, the electronic device 100 may send a request message 425. In one or more embodiments, the electronic device 100 may wait for the ready message 420 before transmitting the request message 425. As depicted in example request message 425, the request message may include an operation code parameter.
After receiving the request message 425, the accessory device 175 may send a data message 430 with a thumbnail array comprising the requested data. The data message 430 may also indicate that the number of requested thumbnails was 50 but the number of thumbnails returned was 40. Thus, in one or more embodiments, the accessory device 175 may generate and send less data than originally requested, and may indicate to the requesting electronic device 100 how much data is transmitted compared to how much data was originally requested. In one or more embodiments, the accessory device 175 may also transmit a response message 435 indicating that the transmission of the image data requested in the asynchronous operation 405 is complete to the point that the accessory device 175 indicated was possible.
The flow diagram continues at 445. After the accessory device 175 returns the initial 40 images, then the electronic device 100 may send an additional asynchronous operation 445 for more thumbnails without embedded metadata in a storage of the accessory device 175. In one or more embodiments, the electronic device 100 may also transmit a data message 450. Data message 450 may include, for example, ObjectHandleArray. In this example, data message 450 may also include an indication that the electronic device 100 is requesting the remaining 10 thumbnails from accessory device 175.
The flow diagram continues at FIG. 4B. In response to receiving the asynchronous operation 445, the accessory device 175 may reply with a response message 455. As indicated, the response message 455 may indicate that the asynchronous operation is acknowledged. Further, a ready response 460 is generated by the accessory device 175. As described above, the ready response may include an indication of the asynchronous operation to which the accessory device 175 is responding, in this example 0xF000. In the example, the accessory device 175 is responding to the asynchronous operation with an identification of 0x9401 in ready response 460. In addition, ready response indicates that the image data is ready to be retrieved. In one or more embodiments, the image data may be generated and ready for transmission when the ready response 460 is transmitted, or the image data may be ready to be generated. As depicted, the ready response 460 includes an indication of the capability of the accessory device 175 to respond to the asynchronous operation through the parameter TotalSize. In the example, accessory device 175 may be able to generate and transmit the remaining 10 thumbnails at the size and quality requested.
In response to receiving the ready message, the electronic device 100 may send a request message 465. In one or more embodiments, the electronic device 100 may wait for the ready message 460 before transmitting the request message 465. As depicted in example request message 465, the request message may include an operation code parameter.
After receiving the request message 465, the accessory device 175 may send a data message 470 with a thumbnail array comprising the remaining 10 thumbnails. The data message 430 may also indicate that the number of requested thumbnails was 10 and the number of thumbnails returned was 10. Thus, in one or more embodiments, the accessory device 175 may generate and send the same amount data as originally requested, and may indicate to the requesting electronic device 100 how much data is transmitted compared to how much data was originally requested. In one or more embodiments, the accessory device 175 may also transmit a response message 475 indicating that the transmission of the image data requested in the asynchronous operation 445 is complete to the point that the accessory device 175 indicated was possible.
Referring now to FIG. 5, a simplified functional block diagram of illustrative multifunction electronic device 500, such as electronic device 100 or accessory camera device 175 according to one or more embodiments, is shown according to one embodiment. Multifunction electronic device 500 may include processor 505, display 510, user interface 515, graphics hardware 520, device sensors 525 (e.g., proximity sensor/ambient light sensor, accelerometer and/or gyroscope), microphone 530, audio codec(s) 535, speaker(s) 540, communications circuitry 545, digital image capture unit 550 video codec(s) 555, memory 560, storage device 565, and communications bus 570. Multifunction electronic device 500 may be, for example, a digital camera or a personal electronic device such as a personal digital assistant (PDA), personal music player, mobile telephone, or a tablet computer. In some embodiments, multifunction electronic device 500 corresponds to Electronic Device 100.
Processor 505 may execute instructions necessary to carry out or control the operation of many functions performed by device 500 (e.g., such as the generation and/or processing of images in accordance with this disclosure). Processor 505 may, for instance, drive display 510 and receive user input from user interface 515. User interface 515 may allow a user to interact with device 500. For example, user interface 515 can take a variety of forms, such as a button, keypad, dial, a click wheel, keyboard, display screen and/or a touch screen. Processor 505 may also, for example, be a system-on-chip such as those found in mobile devices and include a dedicated graphics processing unit (GPU). Processor 505 may be based on reduced instruction-set computer (RISC) or complex instruction-set computer (CISC) architectures or any other suitable architecture and may include one or more processing cores. Graphics hardware 520 may be special purpose computational hardware for processing graphics and/or assisting processor 505 to process graphics information. In one embodiment, graphics hardware 520 may include a programmable graphics processing unit (GPU).
Sensor and camera circuitry 550 may capture still and video images that may be processed, at least in part, by video codec(s) 555 and/or processor 505 and/or graphics hardware 520, and/or a dedicated image processing unit incorporated within circuitry 550. Images so captured may be stored in memory 560 and/or storage 565. Memory 560 may include one or more different types of media used by processor 505 and graphics hardware 520 to perform device functions. For example, memory 560 may include memory cache, read-only memory (ROM), and/or random access memory (RAM). Storage 565 may store media (e.g., audio, image and video files), computer program instructions or software, preference information, device profile information, and any other suitable data. Storage 565 may include one more non-transitory storage mediums including, for example, magnetic disks (fixed, floppy, and removable) and tape, optical media such as CD-ROMs and digital video disks (DVDs), and semiconductor memory devices such as Electrically Programmable Read-Only Memory (EPROM), and Electrically Erasable Programmable Read-Only Memory (EEPROM). Memory 560 and storage 565 may be used to tangibly retain computer program instructions or code organized into one or more modules and written in any desired computer programming language. When executed by, for example, processor 505 such computer program code may implement one or more of the methods described herein.
Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention therefore should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.”

Claims (21)

The invention claimed is:
1. A non-transitory computer readable medium comprising computer readable code which, when executed by one or more processors, causes the one or more processors to:
receive, at an accessory camera device, an asynchronous operation request from an electronic device to obtain a first number of a plurality of image objects from the accessory camera device, wherein the asynchronous operation request includes a first parameter indicative of a requested type of asynchronous operation;
determine, by the accessory camera device, an amount of data the accessory camera device is capable of transmitting to the electronic device for responding to the asynchronous operation request;
determine, by the accessory camera device and based on the first parameter and the amount of data the accessory camera device is capable of transmitting, a second number of the image objects that the accessory camera device is capable of transmitting to the electronic device;
transmit, from the accessory camera device to the electronic device, a ready message that includes a second parameter indicative of the amount of data the accessory camera device is capable of transmitting to the electronic device;
receive, at the accessory camera device and from the electronic device, a request message to transmit the image objects to the electronic device; and
send, by the accessory camera device and based on the request message, a data message comprising at least some of the image objects to the electronic device, wherein a number of the image objects within the data message is equal to the second number of the image objects.
2. The non-transitory computer readable medium of claim 1, wherein the second number is less than the first number and wherein the computer readable code further causes the one or more processors to:
receive, by the accessory camera device, a retrieve message that requests a portion of the image objects not previously received in the data message; and
send, by the accessory camera device, a second data message comprising a third number of the image objects after receiving a second asynchronous operation request and based on a determination that the second number is less than the first number, wherein the third number of the image objects is a difference between the first number and the second number.
3. The non-transitory computer readable medium of claim 1, wherein the first parameter indicates that the image objects are thumbnail images.
4. The non-transitory computer readable medium of claim 1, wherein the data message includes a third parameter indicative of the second number of the image objects.
5. The non-transitory computer readable medium of claim 1, wherein the computer readable code further causes the one or more processors to receive, at the accessory camera device and prior to transmitting the ready message, a second data message from the electronic device that includes a third parameter indicative of the first number of the image objects requested from the accessory camera device.
6. The non-transitory computer readable medium of claim 1, wherein the asynchronous operation request, the ready message, the request message and the data message conform with a Picture Transfer Protocol.
7. The non-transitory computer readable medium of claim 1, wherein the second parameter is indicative of a file size.
8. A method for image transport, comprising:
receiving, at an accessory camera device, an asynchronous operation request from an electronic device to obtain from the accessory camera device a first number of a plurality of image objects, wherein the asynchronous operation request includes a first parameter indicative of a requested type of asynchronous operation;
determining, by the accessory camera device, an amount of data the accessory camera device is capable of transmitting to the electronic device for responding to the asynchronous operation request;
determining, by the accessory camera device and based on the first parameter and the amount of data the accessory camera device is capable of transmitting, a second number of the image objects that the accessory camera device is capable of transmitting to the electronic device;
transmitting, from the accessory camera device to the electronic device, a ready message indicating the accessory camera device is ready for transmission of one or more of the image objects, wherein the ready message includes a second parameter indicative of the amount of data the accessory camera device is capable of transmitting to the electronic device;
receiving, at the accessory camera device and from the electronic device, a request message to transmit the image objects to the electronic device; and
sending, by the accessory camera device and based on the request message, a data message comprising at least some of the image objects to the electronic device, wherein a number of the image objects within the data message is equal to the second number of the image objects.
9. The method of claim 8, wherein the second number is less than the first number, and wherein the method further comprises:
receiving, by the accessory camera device, a retrieve message that requests a portion of the image objects not previously received in the data message; and
sending, by the accessory camera device, a second data message comprising a third number of the image objects after receiving a second asynchronous operation request and based on a determination that the second number is less than the first number.
10. The method of claim 9, wherein the third number of the image objects is equal to a difference between the first number and the second number.
11. The method of claim 8, wherein the first parameter indicates that the image objects are thumbnail images with metadata.
12. The method of claim 8, further comprising receiving, at the accessory camera device and prior to transmitting the ready message, a second data message from the electronic device that includes a third parameter indicative of the first number of the image objects requested from the accessory camera device.
13. The method of claim 8, wherein the asynchronous operation request, the ready message, the request message and the data message conform with a Picture Transfer Protocol.
14. The method of claim 8, wherein the second parameter indicates a file size.
15. A system for image data transport, comprising:
one or more processors; and
a memory operatively coupled to the one or more processors and comprising computer code configured to cause the one or more processors to:
receive, at an accessory camera device, an asynchronous operation request from an electronic device to obtain from the accessory camera device a first number of a plurality of image objects, wherein the asynchronous operation request includes a first parameter indicative of a requested type of asynchronous operation;
determine, by the accessory camera device, an amount of data the accessory camera device is capable of transmitting to the electronic device for responding to the asynchronous operation request;
determine, by the accessory camera device and based on the first parameter and the amount of data the accessory camera device is capable of transmitting, a second number of the image objects that the accessory camera device is capable of transmitting to the electronic device;
transmit, from the accessory camera device to the electronic device, a ready message that includes a second parameter indicative of the amount of data the accessory camera device is capable of transmitting to the electronic device;
receive, at the accessory camera device and from the electronic device, a request message to transmit the image objects to the electronic device; and
send, by the accessory camera device and based on the request message, a data message comprising at least some of the image objects to the electronic device, wherein a number of the image objects within the data message is equal to the second number of the image objects.
16. The system of claim 15, wherein the second number is less than the first number, and wherein the computer code is configured to further causes the one or more processors to:
receive, at the accessory camera device, a retrieve message that requests a portion of the image objects not previously received in the data message; and
send, by the accessory camera device, a second data message comprising a third number of the image objects after receiving a second asynchronous operation request and based on a determination that the second number is less than the first number.
17. The system of claim 16, wherein the third number of the image objects is equal to a difference between the first number and the second number.
18. The system of claim 15, wherein the first parameter indicates that the image objects are thumbnail images.
19. The system of claim 15, wherein the computer code is configured to further cause the one or more processors to receive, at the accessory camera device and prior to transmitting the ready message, a second data message from the electronic device that includes a third parameter indicative of the first number of the image objects requested from the accessory camera device.
20. The system of claim 15, wherein the asynchronous operation request, the ready message, the request message and the data message are transferred during a Picture Transfer Protocol session.
21. The system of claim 15, wherein the second parameter is indicative of a file size.
US15/099,368 2015-04-14 2016-04-14 Asynchronously requesting information from a camera device Active US10009505B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/099,368 US10009505B2 (en) 2015-04-14 2016-04-14 Asynchronously requesting information from a camera device
US16/017,544 US20180309900A1 (en) 2015-04-14 2018-06-25 Asynchronously Requesting Information From A Camera Device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562147396P 2015-04-14 2015-04-14
US15/099,368 US10009505B2 (en) 2015-04-14 2016-04-14 Asynchronously requesting information from a camera device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/017,544 Continuation US20180309900A1 (en) 2015-04-14 2018-06-25 Asynchronously Requesting Information From A Camera Device

Publications (2)

Publication Number Publication Date
US20160309054A1 US20160309054A1 (en) 2016-10-20
US10009505B2 true US10009505B2 (en) 2018-06-26

Family

ID=57129096

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/099,368 Active US10009505B2 (en) 2015-04-14 2016-04-14 Asynchronously requesting information from a camera device
US16/017,544 Abandoned US20180309900A1 (en) 2015-04-14 2018-06-25 Asynchronously Requesting Information From A Camera Device

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/017,544 Abandoned US20180309900A1 (en) 2015-04-14 2018-06-25 Asynchronously Requesting Information From A Camera Device

Country Status (1)

Country Link
US (2) US10009505B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10009505B2 (en) * 2015-04-14 2018-06-26 Apple Inc. Asynchronously requesting information from a camera device
US9961544B2 (en) 2015-05-26 2018-05-01 Skullcandy, Inc. Personalized media delivery

Citations (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457544A (en) * 1991-07-31 1995-10-10 Canon Kabushiki Kaisha Facsimile device with memory control means for storing image data to be transmitted and image data received
US5720014A (en) * 1994-04-20 1998-02-17 Canon Kabushiki Kaisha Image processing apparatus connectable to an information processing terminal
US20020075392A1 (en) * 2000-12-14 2002-06-20 Eiji Imaeda Image storage system
US20020093575A1 (en) * 2000-12-04 2002-07-18 Nikon Corporation Image-capturing device
US20040109062A1 (en) * 2001-04-06 2004-06-10 Kunihiko Yamaya Digital camera and data transfer method
US6750902B1 (en) * 1996-02-13 2004-06-15 Fotonation Holdings Llc Camera network communication device
US20040174434A1 (en) * 2002-12-18 2004-09-09 Walker Jay S. Systems and methods for suggesting meta-information to a camera user
US20040183915A1 (en) * 2002-08-28 2004-09-23 Yukita Gotohda Method, device, and program for controlling imaging device
US20040221044A1 (en) * 2003-05-02 2004-11-04 Oren Rosenbloom System and method for facilitating communication between a computing device and multiple categories of media devices
US20050105128A1 (en) * 2003-11-18 2005-05-19 Canon Kabushiki Kaisha Image formation device and processing method thereof
US20050111036A1 (en) * 2003-11-20 2005-05-26 Atsushi Takasaki Information processor and control method therefor
US20050177794A1 (en) * 2004-02-06 2005-08-11 Takaki Kameyama Image pickup apparatus, control method therefor, image pickup system, information processing apparatus, program and storage medium
US6970189B1 (en) * 2000-05-31 2005-11-29 Ipac Acquisition Subsidiary I, Llc Method and system for automatically configuring a hand-held camera using wireless communication to improve image quality
US20060150109A1 (en) * 2004-12-30 2006-07-06 Motorola, Inc. Shared user interface
US20060171695A1 (en) * 2005-01-31 2006-08-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Shared image device designation
US20060274157A1 (en) * 2005-06-02 2006-12-07 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Enhanced video/still image correlation
US20060274165A1 (en) * 2005-06-02 2006-12-07 Levien Royce A Conditional alteration of a saved image
US20060274154A1 (en) * 2005-06-02 2006-12-07 Searete, Lcc, A Limited Liability Corporation Of The State Of Delaware Data storage usage protocol
US20060274153A1 (en) * 2005-06-02 2006-12-07 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Third party storage of captured data
US20060274163A1 (en) * 2005-06-02 2006-12-07 Searete Llc. Saved-image management
US20070050829A1 (en) * 2005-08-31 2007-03-01 Shuji Asami Data transmitter and receiver, data transmitting/receiving system and method, and terminal device
US20070098348A1 (en) * 2005-10-31 2007-05-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Degradation/preservation management of captured data
US20070139529A1 (en) * 2005-06-02 2007-06-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Dual mode image capture technique
US20070188621A1 (en) * 2006-02-16 2007-08-16 Canon Kabushiki Kaisha Image transmission apparatus, image transmission method, program, and storage medium
US20070252896A1 (en) * 2004-09-15 2007-11-01 Canon Kabushiki Kaisha Electronic Apparatus and Control Method
US20080010255A1 (en) * 2006-07-06 2008-01-10 Samsung Electronics Co., Ltd. Method and apparatus for sharing content assets using picture transfer protocol
US20080141051A1 (en) * 2006-12-11 2008-06-12 Samsung Electronics Co., Ltd. Apparatus and method for controlling power in a communication system
US20080192129A1 (en) * 2003-12-24 2008-08-14 Walker Jay S Method and Apparatus for Automatically Capturing and Managing Images
US20080199173A1 (en) * 2007-02-19 2008-08-21 Canon Kabushiki Kaisha Camera, accessory, and camera system
US7479983B2 (en) * 2000-03-06 2009-01-20 Sony Corporation System and method for effectively implementing an electronic image hub device
US20090037605A1 (en) * 2007-07-27 2009-02-05 Lagavulin Limited User Interface for a Portable, Image-Processing Transmitter
US20090040331A1 (en) * 2007-08-06 2009-02-12 Canon Kabushiki Kaisha Communication control apparatus, communication control method, computer program, and storage medium
US20090083765A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Accessing device-hosted services from scripting and other programming environments
US20090222809A1 (en) * 2008-02-28 2009-09-03 Broadcom Corporation Portable device upgrade via a content transfer protocol
US20100118180A1 (en) * 2008-11-11 2010-05-13 Takaki Matsushita Imaging device
US20100141762A1 (en) * 2006-11-20 2010-06-10 Jon Siann Wireless Network Camera Systems
US20100144273A1 (en) * 2008-12-05 2010-06-10 Sekikawa Yusuke Portable device
US20100271490A1 (en) * 2005-05-04 2010-10-28 Assignment For Published Patent Application, Searete LLC, a limited liability corporation of Regional proximity for shared image device(s)
US20110037865A1 (en) * 2009-08-17 2011-02-17 Canon Kabushiki Kaisha Image processing apparatus, method of controlling the apparatus and communication system
US20110047341A1 (en) * 2009-08-21 2011-02-24 Samsung Electronics Co., Ltd. Remote data backup method and remote data backup system using the same
US20130113944A1 (en) * 2011-11-07 2013-05-09 Olympus Corporation Memory card with wireless communication function, method of operating memory card with wireless communication function, non-transitory computer-readable device, digital camera, and method of operating digital camera
US20140140258A1 (en) * 2012-11-22 2014-05-22 Bahareh Sadeghi Apparatus, system and method of controlling data flow over a communication network
US20140168453A1 (en) * 2012-12-14 2014-06-19 Biscotti Inc. Video Capture, Processing and Distribution System
US20150022666A1 (en) * 2013-07-22 2015-01-22 Intellivision Technologies Corp. System and method for scalable video cloud services
US20150077577A1 (en) * 2013-09-17 2015-03-19 Toshiyuki Terashita Image processing apparatus, information processing apparatus, and image transfer method
US20150103235A1 (en) * 2013-10-11 2015-04-16 Casio Computer Co., Ltd. Manipulating system consisting of wirelessly connected manipulating apparatus and electronic apparatus, power consumption control method, manipulating apparatus, electronic apparatus and computer readable recording medium having program thereof
US20150146019A1 (en) * 2012-09-03 2015-05-28 Canon Kabushiki Kaisha Communication control apparatus and method for controlling the same
US20150195442A1 (en) * 2014-01-03 2015-07-09 Lyve Minds, Inc. Modular camera core control
US20160065887A1 (en) * 2014-09-03 2016-03-03 Canon Kabushiki Kaisha Communication apparatus communicable with external apparatus, control method of communication apparatus, and storage medium
US20160255230A1 (en) * 2015-02-27 2016-09-01 Brother Kogyo Kabushiki Kaisha Facsimile apparatus and printing method for facsimile apparatus
US20160309054A1 (en) * 2015-04-14 2016-10-20 Apple Inc. Asynchronously Requesting Information From A Camera Device
US9692967B1 (en) * 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US20170295311A1 (en) * 2014-09-03 2017-10-12 Canon Kabushiki Kaisha Communication apparatus, information processing apparatus, methods and computer-readable storage medium

Patent Citations (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457544A (en) * 1991-07-31 1995-10-10 Canon Kabushiki Kaisha Facsimile device with memory control means for storing image data to be transmitted and image data received
US5720014A (en) * 1994-04-20 1998-02-17 Canon Kabushiki Kaisha Image processing apparatus connectable to an information processing terminal
US6750902B1 (en) * 1996-02-13 2004-06-15 Fotonation Holdings Llc Camera network communication device
US7479983B2 (en) * 2000-03-06 2009-01-20 Sony Corporation System and method for effectively implementing an electronic image hub device
US6970189B1 (en) * 2000-05-31 2005-11-29 Ipac Acquisition Subsidiary I, Llc Method and system for automatically configuring a hand-held camera using wireless communication to improve image quality
US20020093575A1 (en) * 2000-12-04 2002-07-18 Nikon Corporation Image-capturing device
US20020075392A1 (en) * 2000-12-14 2002-06-20 Eiji Imaeda Image storage system
US20040109062A1 (en) * 2001-04-06 2004-06-10 Kunihiko Yamaya Digital camera and data transfer method
US20040183915A1 (en) * 2002-08-28 2004-09-23 Yukita Gotohda Method, device, and program for controlling imaging device
US20040174434A1 (en) * 2002-12-18 2004-09-09 Walker Jay S. Systems and methods for suggesting meta-information to a camera user
US20040221044A1 (en) * 2003-05-02 2004-11-04 Oren Rosenbloom System and method for facilitating communication between a computing device and multiple categories of media devices
US20050105128A1 (en) * 2003-11-18 2005-05-19 Canon Kabushiki Kaisha Image formation device and processing method thereof
US20050111036A1 (en) * 2003-11-20 2005-05-26 Atsushi Takasaki Information processor and control method therefor
US20080192129A1 (en) * 2003-12-24 2008-08-14 Walker Jay S Method and Apparatus for Automatically Capturing and Managing Images
US20050177794A1 (en) * 2004-02-06 2005-08-11 Takaki Kameyama Image pickup apparatus, control method therefor, image pickup system, information processing apparatus, program and storage medium
US20070252896A1 (en) * 2004-09-15 2007-11-01 Canon Kabushiki Kaisha Electronic Apparatus and Control Method
US20060150109A1 (en) * 2004-12-30 2006-07-06 Motorola, Inc. Shared user interface
US20060171695A1 (en) * 2005-01-31 2006-08-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Shared image device designation
US20100271490A1 (en) * 2005-05-04 2010-10-28 Assignment For Published Patent Application, Searete LLC, a limited liability corporation of Regional proximity for shared image device(s)
US20060274153A1 (en) * 2005-06-02 2006-12-07 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Third party storage of captured data
US20060274163A1 (en) * 2005-06-02 2006-12-07 Searete Llc. Saved-image management
US20070052856A1 (en) * 2005-06-02 2007-03-08 Searete Llc, A Limited Liability Corporation Of The State Of Delaware. Composite image selectivity
US20070139529A1 (en) * 2005-06-02 2007-06-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Dual mode image capture technique
US20060274154A1 (en) * 2005-06-02 2006-12-07 Searete, Lcc, A Limited Liability Corporation Of The State Of Delaware Data storage usage protocol
US20060274165A1 (en) * 2005-06-02 2006-12-07 Levien Royce A Conditional alteration of a saved image
US20060274157A1 (en) * 2005-06-02 2006-12-07 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Enhanced video/still image correlation
US20070050829A1 (en) * 2005-08-31 2007-03-01 Shuji Asami Data transmitter and receiver, data transmitting/receiving system and method, and terminal device
US20070098348A1 (en) * 2005-10-31 2007-05-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Degradation/preservation management of captured data
US20070188621A1 (en) * 2006-02-16 2007-08-16 Canon Kabushiki Kaisha Image transmission apparatus, image transmission method, program, and storage medium
US20080010255A1 (en) * 2006-07-06 2008-01-10 Samsung Electronics Co., Ltd. Method and apparatus for sharing content assets using picture transfer protocol
US20100141762A1 (en) * 2006-11-20 2010-06-10 Jon Siann Wireless Network Camera Systems
US20080141051A1 (en) * 2006-12-11 2008-06-12 Samsung Electronics Co., Ltd. Apparatus and method for controlling power in a communication system
US20080199173A1 (en) * 2007-02-19 2008-08-21 Canon Kabushiki Kaisha Camera, accessory, and camera system
US20090037605A1 (en) * 2007-07-27 2009-02-05 Lagavulin Limited User Interface for a Portable, Image-Processing Transmitter
US20090040331A1 (en) * 2007-08-06 2009-02-12 Canon Kabushiki Kaisha Communication control apparatus, communication control method, computer program, and storage medium
US20090083765A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Accessing device-hosted services from scripting and other programming environments
US20090222809A1 (en) * 2008-02-28 2009-09-03 Broadcom Corporation Portable device upgrade via a content transfer protocol
US20100118180A1 (en) * 2008-11-11 2010-05-13 Takaki Matsushita Imaging device
US20100144273A1 (en) * 2008-12-05 2010-06-10 Sekikawa Yusuke Portable device
US20110037865A1 (en) * 2009-08-17 2011-02-17 Canon Kabushiki Kaisha Image processing apparatus, method of controlling the apparatus and communication system
US20110047341A1 (en) * 2009-08-21 2011-02-24 Samsung Electronics Co., Ltd. Remote data backup method and remote data backup system using the same
US20130113944A1 (en) * 2011-11-07 2013-05-09 Olympus Corporation Memory card with wireless communication function, method of operating memory card with wireless communication function, non-transitory computer-readable device, digital camera, and method of operating digital camera
US20150146019A1 (en) * 2012-09-03 2015-05-28 Canon Kabushiki Kaisha Communication control apparatus and method for controlling the same
US20140140258A1 (en) * 2012-11-22 2014-05-22 Bahareh Sadeghi Apparatus, system and method of controlling data flow over a communication network
US20140168453A1 (en) * 2012-12-14 2014-06-19 Biscotti Inc. Video Capture, Processing and Distribution System
US20150022666A1 (en) * 2013-07-22 2015-01-22 Intellivision Technologies Corp. System and method for scalable video cloud services
US20150077577A1 (en) * 2013-09-17 2015-03-19 Toshiyuki Terashita Image processing apparatus, information processing apparatus, and image transfer method
US20150103235A1 (en) * 2013-10-11 2015-04-16 Casio Computer Co., Ltd. Manipulating system consisting of wirelessly connected manipulating apparatus and electronic apparatus, power consumption control method, manipulating apparatus, electronic apparatus and computer readable recording medium having program thereof
US20150195442A1 (en) * 2014-01-03 2015-07-09 Lyve Minds, Inc. Modular camera core control
US20160065887A1 (en) * 2014-09-03 2016-03-03 Canon Kabushiki Kaisha Communication apparatus communicable with external apparatus, control method of communication apparatus, and storage medium
US20170295311A1 (en) * 2014-09-03 2017-10-12 Canon Kabushiki Kaisha Communication apparatus, information processing apparatus, methods and computer-readable storage medium
US20160255230A1 (en) * 2015-02-27 2016-09-01 Brother Kogyo Kabushiki Kaisha Facsimile apparatus and printing method for facsimile apparatus
US9692967B1 (en) * 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US20160309054A1 (en) * 2015-04-14 2016-10-20 Apple Inc. Asynchronously Requesting Information From A Camera Device

Also Published As

Publication number Publication date
US20180309900A1 (en) 2018-10-25
US20160309054A1 (en) 2016-10-20

Similar Documents

Publication Publication Date Title
US20150286897A1 (en) Automated techniques for photo upload and selection
US20190141307A1 (en) Electronic device for recording image by using multiple cameras and operating method thereof
JP6300792B2 (en) Enhancing captured data
US10063734B2 (en) Information processing apparatus that receives data from external apparatus via network, method of controlling the same, and storage medium
US9967473B2 (en) Information processing apparatus, information processing method, and program
JP2012217166A (en) Image sending apparatus, image recording apparatus and image recording method
US11314814B2 (en) Method for sharing content based on account group and electronic device for performing same
EP3926988B1 (en) Third-party access of end-user device assets
EP3873086A2 (en) Image capturing apparatus, device, control method, and program
TWI549461B (en) Method and apparatus for providing and receiving contents via network, method and apparatus for backing up data via network, backup data providing device, and backup system
US20180309900A1 (en) Asynchronously Requesting Information From A Camera Device
US11126322B2 (en) Electronic device and method for sharing image with external device using image link information
US8775678B1 (en) Automated wireless synchronization and transformation
JP2021009439A (en) Image processing system and program
US10476934B2 (en) System and method for forwarding a file
US20210026807A1 (en) Method for managing data associated with application and electronic device therefor
US9710893B2 (en) Image resolution modification
JP6023577B2 (en) IMAGING DEVICE, IMAGING DEVICE CONTROL METHOD, AND PROGRAM
JP7030561B2 (en) Information processing equipment, information processing methods and programs
JP2019160287A (en) Server device, client terminal, information processing method, and program
KR101286328B1 (en) Multimedia storage card system
US20230121095A1 (en) Image capturing apparatus capable of guaranteeing authenticity of digital image, management system, control method, and storage medium
JP6609155B2 (en) Information processing apparatus, control method thereof, and program
JP2023040466A (en) Information processing device, method, program, and system
TWI645299B (en) Information device and appliance for collaborating with resources residing in multiple information devices

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALUMBO, RYAN W.;REEL/FRAME:038594/0950

Effective date: 20160427

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4