WO2005015340A2 - System for controlling a camera resource in a portable device - Google Patents

System for controlling a camera resource in a portable device Download PDF

Info

Publication number
WO2005015340A2
WO2005015340A2 PCT/US2004/012910 US2004012910W WO2005015340A2 WO 2005015340 A2 WO2005015340 A2 WO 2005015340A2 US 2004012910 W US2004012910 W US 2004012910W WO 2005015340 A2 WO2005015340 A2 WO 2005015340A2
Authority
WO
WIPO (PCT)
Prior art keywords
camera
instruction
application
resource
api
Prior art date
Application number
PCT/US2004/012910
Other languages
English (en)
French (fr)
Other versions
WO2005015340A3 (en
WO2005015340B1 (en
Inventor
Srinivas Patwari
Original Assignee
Qualcomm, Incorporated
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
Priority claimed from US10/453,091 external-priority patent/US20040083015A1/en
Application filed by Qualcomm, Incorporated filed Critical Qualcomm, Incorporated
Priority to AU2004264194A priority Critical patent/AU2004264194A1/en
Priority to CA002520272A priority patent/CA2520272A1/en
Priority to MXPA05011436A priority patent/MXPA05011436A/es
Priority to BRPI0409657-6A priority patent/BRPI0409657A/pt
Priority to EP04775908A priority patent/EP1618459A4/en
Priority to JP2006513356A priority patent/JP2006524973A/ja
Publication of WO2005015340A2 publication Critical patent/WO2005015340A2/en
Priority to IL170770A priority patent/IL170770A0/en
Publication of WO2005015340A3 publication Critical patent/WO2005015340A3/en
Publication of WO2005015340B1 publication Critical patent/WO2005015340B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop

Definitions

  • the present invention relates generally to image acquisition and processing in portable devices, and more particularly, to a system for controlling a camera resource in a portable device having an embedded controller.
  • PDAs personal digital assistants
  • paging devices that are small, lightweight, and can be easily carried by users.
  • these devices include an embedded controller with limited memory resources. For example, the amount of available memory and processing capability may be limited by the small size of the device.
  • one type of portable device may include a low- resolution camera resource that is design to acquire only still images
  • another type of portable device may include a larger and higher-resolution camera resource with zoom capabilities designed to capture full motion video.
  • each type of portable device may have a different camera resource with which to capture image content. Therefore, application developers must overcome compatibility problems when developing applications for use on a wide variety of portable devices, which may have different configurations and camera resources.
  • One technique used to overcome compatibility problems requires that an application be specifically created to run on a portable device having a particular camera resource. For example, if an application developer develops an application that runs on a portable device to acquire video images, the developer must tailor the application to be exactly compatible with the camera resource available on that particular device.
  • a camera system including methods and apparatus, is provided for controlling camera resources on portable devices.
  • one portable device may be a wireless telephone with an embedded controller and limited memory resources that includes a camera device.
  • the camera system comprises a small and efficient program that runs on the portable device to allow applications executing on the device to control the camera resource using a simple interface.
  • the camera system is particularly well suited for use in portable devices having embedded controllers with limited memory resources.
  • the camera system provides a simple, efficient, and powerful way to access and control a camera resource on a portable device and allows static and dynamic applications to (1) capture snapshot and video images, (2) set camera settings and configuration parameters, (3) manipulates captured image and video frames, (4) add additional information like position information to the image and video frame, (5) encode captured image and video frames, (6) display captured image and video frames, and (7) receive camera events asynchronously.
  • the camera system comprises a small program module that is instantiated by an executing application.
  • the application then uses a simple application program interface (API) provided by the program module to perform all camera operations.
  • API application program interface
  • the events from the camera are sent to the application via a registered callback function.
  • the program module consumes minimal memory and provides efficient execution by directly accessing device-level driver software to perform all the camera operations.
  • a method is provided for operating a camera system to allow an application to control a camera resource in a portable device.
  • the method comprises activating the camera system, wherein the camera system is operable to control the camera resource, providing an application program interface (API) to receive instructions from the application, receiving an instruction from the application via the API, wherein the instruction identifies a camera function to be performed, and performing the camera function identified by the instruction.
  • API application program interface
  • apparatus for operating a camera system to allow an application to control a camera resource in a portable device.
  • the apparatus comprises means for activating the camera system, wherein the camera system is operable to control the camera resource.
  • the apparatus also comprises means for providing an application program interface (API) to receive instructions from the application.
  • the apparatus also comprises means for receiving an instruction from the application via the API, wherein the instruction identifies a camera function to be performed.
  • the apparatus also comprises means for performing the camera function identified by the instruction.
  • API application program interface
  • a computer-readable medium comprises instructions, which when executed by a processor in a portable device, operate to provide a camera system that allows an application to control a camera resource in the portable device.
  • the computer-readable media comprises instructions for activating the camera system, wherein the camera system is operable to control the camera resource, instructions for providing an application program interface (API) to receive API instructions from the application, instructions for receiving an API instruction from the application via the API, wherein the API instruction identifies a camera function to be performed, and instructions for performing the camera function identified by the API instruction.
  • API application program interface
  • apparatus for operating a camera system to allow an application to control a camera resource in a portable device.
  • the apparatus comprises logic for activating the camera system, wherein the camera system is operable to control the camera resource, and further comprises logic for providing an application program interface (API) to receive instructions from the application.
  • API application program interface
  • the apparatus also comprises logic for receiving an instruction from the application via the API, wherein the instruction identifies a camera function to be performed, and further comprises logic for performing the camera function identified by the instruction.
  • FIG. 1 shows a data network that includes a portable wireless device with an embedded controller suitable for implementing one embodiment of a camera system
  • FIG. 2 shows a block diagram illustrating one embodiment of the portable device of
  • FIG. 1 that includes one embodiment of an ICamera system that operates to allow an application to control a camera resource on the device;
  • FIG. 3 shows a detailed block diagram of one embodiment of the ICamera system of
  • FIG.2 is a diagrammatic representation of FIG. 1
  • FIG. 4 shows one embodiment of a state machine provided by one embodiment of an ICamera system to allow an application to control a camera resource on a portable device
  • FIG. 5 shows one embodiment of a method for operating an ICamera system to allow an application to control a camera resource in a portable device.
  • the portable device has an embedded controller and limited resources (i.e., limited memory capacity), and the camera system operates to allow application programs to control the camera resource using a single interface.
  • limited resources i.e., limited memory capacity
  • the camera system interacts with a runtime environment executing on the device that is used to simplify operation of the device, such as by providing generalized calls for device specific resources.
  • a runtime environment executing on the device that is used to simplify operation of the device, such as by providing generalized calls for device specific resources.
  • One such runtime environment is the Binary Runtime Environment for Wireless® (BREWTM) software platform developed by QUALCOMM, Inc., of San Diego, California.
  • BREWTM Binary Runtime Environment for Wireless®
  • the camera system is implemented on a portable device executing a runtime environment, such as the BREW software platform.
  • BREW Binary Runtime Environment for Wireless®
  • FIG. 1 shows a data network 100 that includes a portable wireless device 102 with an embedded controller suitable for implementing one embodiment of a camera system that will hereinafter be referred to as the "ICamera" system shown at 104.
  • the ICamera system 104 operates to allow applications running on the device 102 to control a camera resource 124 located on the device 102.
  • the ICamera system 104 interacts with a runtime environment 116 executing on the device.
  • the runtime environment 116 is the BREW software platform.
  • the ICamera system 104 is suitable for use with a wide variety of portable devices.
  • portable devices include, but are not limited to, PDAs, email devices, pagers, tablet computers, mobile telephones or virtually any other type of portable device that includes a camera resource.
  • the wireless device 102 is operable to communicate with a network server 106 over a data network 108 using wireless communication channels 110.
  • the device 102 comprises a wireless telephone that may transmit and receive voice and/or other information over the network 108.
  • the device 102 also operates to receive applications over the network 108.
  • applications 112 and 114 may be downloaded to the device 102 from the network server 106.
  • These applications execute on the device 102 and use the device camera 124 to provide additional features and/or functionality to the device user.
  • the applications may acquire and process still images or video information from the device camera 124. It is also possible to download applications to the device 102 from any other network entity coupled to the network 108.
  • the device 102 also couples directly to a local system, such as a local workstation 118, via a direct link 120.
  • the device 102 is operable to download applications from the local workstation 118 using the direct link 120.
  • the application 122 is downloaded to the device 102 from the workstation 118 using the link 120.
  • the ICamera system 104 may be downloaded from the server 106 to the device 102 and operates on the device 102 to allow applications to control the camera 124.
  • the ICamera system 104 may be downloaded to the device 102 from the workstation 118 via the link 120, or may be installed in the device 102 during manufacture.
  • the ICamera system 104 is provided as instructions stored on a computer-readable media, such as a floppy disk, and is loaded onto the system 118 for transmission to the device 102.
  • the ICamera system 104 may be stored on a computer readable media, such as a memory card (not shown), and plugged directly into the device 102, so that the ICamera system 104 may execute on the device 102.
  • the device 102 may receive the ICamera system 104 in a wireless transmission, a wired transmission, or by retrieving it directly from a memory device.
  • FIG. 2 shows a block diagram illustrating one embodiment of the device 102 that includes one embodiment of the ICamera system 104 that operates to allow an application to efficiently control a camera resource.
  • the device 102 comprises processing logic 202 that is coupled to an internal data bus 204 and a stack memory 216. Also coupled to the internal data bus 204 are instruction memory 206, application memory 208, heap memory 210, user interface 212, camera logic 216, audio logic 218, and input/output (I/O) interface 214.
  • the processing logic 202 executes program instructions stored in the instruction memory 206 to activate the runtime environment 116.
  • the runtime environment 116 may be the BREW environment or other suitable runtime environment.
  • the processing logic 202 utilizes the stack memory 216 to store program data or instructions on a temporary basis.
  • the processing logic 202 may store constants, variables, program addresses, pointers, instructions or other information items on the stack memory 216.
  • the processing logic 202 may store information on a temporary basis in the heap memory 210.
  • the heap memory comprises virtually any type of memory suitable for the storage and retrieval of information by the processing logic 202.
  • the processing logic 202 comprises a CPU, gate array, software, or logic comprising any combination of hardware and software.
  • the processing logic 202 generally comprises logic to execute machine-readable instructions.
  • the instruction memory 206 comprises RAM, ROM, FLASH, EEROM, or any other suitable type of memory, or a combination thereof.
  • the instruction memory 206 is located internal to the device 102, and in another embodiment, the instruction memory 206 comprises a removable memory card or memory device that may be selectively attached to the device 102, and thereby couple to the internal bus 204.
  • the instruction memory 206 may comprise virtually any type of memory that is capable of storing instructions that may be executed by the processing logic 202.
  • the user interface 212 receives user input, for example, from a keypad, pointing device, touch pad, or other input mechanisms to allow a user to interact with the device 102.
  • the audio logic 218 comprises logic to output audio information to a device speaker(s), remote speaker(s) or audio system, or other type of sound resource.
  • a pair of remote speakers may receive the output of the audio logic 218 to render audio information to a device user.
  • the camera logic 216 comprises hardware and/or software logic that interfaces to the camera resource 124 installed on the device.
  • the device may include a CCD camera or any other type of camera resource.
  • the cameral logic 216 interfaces to the camera resource to allow still and video images to be acquired from the camera resource.
  • the camera logic 216 and the audio logic 218 may comprise hardware and/or software in any combination to allow the device 102 to capture or acquire visual and audio information.
  • the I/O interface 214 operates to transmit and receive information between the device 102 and external devices, systems, and/or networks.
  • the I/O interface 214 comprises a radio transceiver circuit (not shown) that operates to transmit and receive information over a wireless data network using, for example, communication link 110.
  • the transceiver comprises circuitry that modulates information received from the processing logic 202 and converts the modulated information into high frequency signals suitable for wireless transmission.
  • the transceiver also comprises circuitry to convert received high frequency communication signals into signals suitable for demodulation and subsequent processing by the processing logic 202.
  • the I O interface 214 comprises a transceiver that operates to transmit and receive information over a hardwired communication link, such as a telephone line, to communicate with a remote system on a public data network, such as the Internet.
  • the I O interface 214 comprises circuitry that operates to communicate with local devices, such as the local workstation 116 using the link 120.
  • the I/O interface 214 may also include circuitry (such as serial or parallel port logic) to communicate with a printer or other local computer or device, such as floppy disk or memory card.
  • the I/O interface 214 may comprise any type of hardware, software, or logic comprising any combination of hardware and software to allow the device 102 to communicate with other local or remotely located devices or systems.
  • execution of program instructions by the processing logic 202 causes the ICamera system 104 to be activated.
  • ICamera instructions may be stored in a computer-readable media, such as the instruction memory, and the execution of those instructions activates the ICamera system.
  • the ICamera system 104 interacts with the runtime environment 116 to allow applications to efficiently control the camera resource 124 located on the device.
  • an application 220 is downloaded to the device 102 via the wireless network 108 and stored in the memory 208.
  • the application 220 is activated and interacts with the ICamera system 104 to control the operation of the camera resource 124 by controlling the camera logic 216.
  • the application 220 may operate to retrieve still images or video from the camera resource, or set selected parameters that control how the camera resource operates. To accomplish this, the application 220 interacts with a single program interface provided by the ICamera 104 system to perform all operations related to the camera resource.
  • the configuration of the device 102 is just one configuration suitable for implementing one embodiment of the ICamera system 104 to allow applications to efficiently control a camera resource on a portable device. It is also possible to implement the ICamera system 104 using other devices or device configurations within the scope of the present invention.
  • FIG. 3 shows a detailed functional diagram of one embodiment of the ICamera system 104 implemented on the device 102.
  • the device 102 includes native hardware 302 that comprises a camera resource, for example, the camera 124.
  • the device 102 also includes native multimedia software 304 that comprises audio and video program modules. These modules may include particular encoding modules, such as MPEG4 and JPEG encoding modules. These modules represent low-level software modules that are used to directly communicate with the native hardware 302. For example, the modules 304 interface with the camera resource 302. Although one embodiment is shown, it is also possible to have fewer or more multimedia software modules 304 and these modules may interface with all types of native hardware 302. Thus, other native hardware 302 and native software 304 configurations are possible within the scope of the invention.
  • the device 102 executes program instructions to activate the runtime environment 116, which in one embodiment, is the Brew environment.
  • the application 220 is then activated.
  • the user of the device downloads the application 220 from a data network (i.e., using the interface 214), and activates the application 220 via the user l/F 212.
  • the application 220 was designed to control the camera resource of the device and was created using ICamera constructs as described herein.
  • the application 220 instantiates the ICamera system 104, which allows the application 220 to use a simple application program interface (API) 306 provided by the ICamera system 104 to perform all operations related to the camera resource.
  • API application program interface
  • a media data structure 308 may be optionally created by the ICamera system 104 to store and retrieve video information.
  • the ICamera system 104 interfaces and communicates with the native modules 304 via the runtime environment 116.
  • the runtime environment 116 may be the BREW platform, which provides generalized calls to access device specific resources.
  • any suitable interface technique may be used to allow communication between the ICamera system 104 and the modules 304.
  • the ICamera system 104 may directly command any of the modules 304 to perform selected camera functions.
  • the ICamera system 104 may command the Mpeg4 module to obtain video data from the camera resource and encode it in the Mpeg4 format. Data obtained by the ICamera system 104 from the modules 304 may be stored in the data structure 308 thereby performing a "Record" function, and may be retrieved and displayed on a device display thereby performing a "Play" function.
  • the media data structure 308 operates to encapsulate camera data received by the ICamera system 104 from the native software 304.
  • the following structure defines a media data structure that provides a source/sink type and context-sensitive data associated with a media data type.
  • typedef struct ⁇ AEECLSID clsData; // Type of media data void *pData; // Context sensitive data uint32 dwSize; // Context sensitive data ⁇ AEEMediaData;
  • MMD_BUFFER Read/Write Buffer ptr data size or 0
  • MMDJSOURCE Read/Write ISource * data size or 0
  • clsData can be set to the CLSID of any ISource- based class with pData set to the corresponding interface pointer.
  • the ICamera system 104 provides a single interface 306 that allows an application to control a camera resource on a device.
  • the interface 306 includes a set of ICamera API instructions that an application can execute to perform various camera related functions.
  • a sample of the API instructions provided by the ICamera system is as follows.
  • ICAMERA_SetParm() sets camera parameters 2.
  • ICAMERA_GetParm () gets camera parameters 3.
  • ICAMERA_Preview() starts preview (view-finder mode) 4.
  • ICAMERA_Pause() pauses current operation 5.
  • ICAMERA_Resume() resumes current operation 6.
  • ICAMERA_RecordSnapshot ;records snapshot 7.
  • ICAMERA_RecordMovie ;records movie 8.
  • ICAMERA_Stop() issues stop command 9.
  • ICAMERA_EncodeSnapshot() encode snapshot image in specified format (i.e., JPEG format) 10.
  • ICAMERA_SetMediaData ;sets media data 11.
  • ICAMERA_RegisterNotify() registers a notification function 12.
  • ISHELL_CreateInstance instantiates ICamera system and so on.
  • the ICAMERA_SetParm() instruction may be executed by the application to instruct the ICamera system 104 to set specific parameters, settings, or variables associated with the camera resource of the device.
  • applications may execute one or more other ICamera API instructions (not shown above) that may be included in the ICamera system 104 to control virtually any function of the camera resource.
  • the ICamera system 104 operates to allow an application to control the camera resource to take a snapshot and save it by performing the following steps.
  • the application program instantiates the ICamera system/interface using an "ISHELL_CreateInstance ()" instruction and registers a callback function to receive asynchronous events.
  • An "ICAMERA_Preview()” instruction starts the camera in preview mode allowing image frames to be received and displayed by the application via the registered callback function.
  • An "ICAMERA_SetMediaData()” instruction sets the file name/buffer where the data needs to be recorded.
  • "ICAMERA_SetNideoEncode()” and "ICAMERA_SetAudioEncode()” instructions specify the encoding formats to be used to encode the image data from the camera resource and audio.
  • the encoding format may be JPEG or MPEG4 encoding.
  • the camera resource may have an associated microphone for audio recording.
  • An "ICAMERA_Recordsnapshot()” instruction records and encodes the image into the specified destination.
  • the ICamera system 104 operates to allow an application to control a camera resource to set camera operating parameters, such as a camera zoom parameter or brightness and contrast levels by executing the following API instructions.
  • An "ICAMERA_Setzoom()" instruction is executed that sets the zoom level.
  • An “ICAMERA_SetBrightness()” instruction is executed that sets the brightness level.
  • An “ICAMERA_SetContrast()” instruction is executed that sets the contrast level.
  • FIG. 4 shows one embodiment of a state machine 400 provided by one embodiment of an ICamera system to allow an application to control a camera resource on a portable device.
  • the state machine 400 is in the READY state 402.
  • the application may then issue ICamera API instructions to navigate to other states of the state machine 400, and thereby control the operation of the camera resource.
  • a Preview() command activates a preview state 404.
  • a Record_snapshot() command activates a snapshot state 406 where an image snapshot is acquired from the camera resource.
  • a Record_movie() command activates a movie state 408 where a video stream is acquired from the camera resource.
  • the state machine 400 also allows additional instructions to control the operation of each state. For example, Pause() and Resume() instructions can be used to control the operation of the preview state 404.
  • FIG. 5 shows one embodiment of a method 500 for operating an ICamera system on a device to allow an application to control a camera resource on the device. It will be assumed that the device is executing a BREW runtime environment and includes one embodiment of the ICamera system as described herein.
  • an application is created using ICamera constructs so that it may control a camera resource on the device by utilizing a simple API interface provided by the ICamera system.
  • application developers create applications that execute on portable devices and perform various camera functions.
  • the applications include ICamera API instructions to interface with the ICamera system and thereby control the operations of the device's camera according to a state machine (i.e., state machine 400 shown in FIG. 4).
  • the application with ICamera API instructions is downloaded to the portable device for execution.
  • the application may be downloaded to the device via the wireless data network 108.
  • the application may execute immediately, or be stored in memory and executed at a later time.
  • the application executes and instantiates the ICamera system.
  • the application executes under the runtime environment operating on the device.
  • the application instantiates the ICamera system so that it may control the camera resources of the device.
  • the application registers a notification function if it is desirable to received asynchronous events from the ICamera system. For example, selected camera events can trigger a notification to the application.
  • a media data structure is created and initialized based on the camera resource and/or desired media encoding characteristics. For example, in one embodiment, a media data type is derived based on file extension, file content, or file encoding.
  • the application issues ICamera API instructions to the ICamera system, which in turn, operates to control the camera resource on the portable device. For example, the application may issue instructions to perform any of the functions described in the state machine 400 to control the operation of the camera resource. Thus, the application may acquire snapshots, video, or control camera parameters regardless of the type of camera resource available on the device. As a result, the camera system operates to eliminate any potential compatibility problems between the device's camera resource and the application. [0061] At block 514, after the application has completed performing camera functions the ICamera system is no longer needed and it is released.
  • the following is an implementation example to illustrate how in one embodiment the ICamera system is instantiated and a camera resource is controlled by an application downloaded to a portable device.
  • the example includes references to the corresponding blocks in the method 500 of FIG.5 and it is assumed that the runtime environment used by the portable device is the BREW environment.
  • "CApp” is an instance of a BREW applet global structure. static void App_CameraPreview(CApp * pme) ⁇ int nRet; AEEMediaData md;
  • nRet ISHELL_CreateInstance(pme->a.pIShell, AEECLSID_CAMERA, &pme- >m_pICamera);
  • the ICamera system operates to allow an application to control multiple camera resources on a single device.
  • the device may include a low- resolution camera to acquire still images and a high-resolution camera to acquire video clips.
  • two versions of the ICamera system can be instantiated to allow the application to control the two camera resources.
  • one ICamera API is used by the application to control the low-resolution camera
  • a second ICamera API is used by the application to control the high-resolution camera.
  • one camera can be used for video-telephony and another camera as DSC/Camcorder.
  • drawings showing the operation of two or more ICamera systems on a device are not provided. However, since each ICamera system operates as described herein, such drawings would be redundant and unnecessary.
  • the application instantiates first and second versions of the ICamera system thereby activating first and second ICamera APIs. The application thereafter executes instructions associated with either API to control the corresponding camera resource.
  • embodiments of the ICamera system can be used to allow an application to control virtually any number of camera resources on a device.
  • a camera system including methods and apparatus that operates to allow an application to control one or more camera resources on a resource-limited portable device having an embedded controller. Accordingly, while one or more embodiments of the methods and apparatus have been illustrated and described herein, it will be appreciated that various changes can be made to the embodiments without departing from their spirit or essential characteristics. Therefore, the disclosures and descriptions herein are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Studio Devices (AREA)
  • Stored Programmes (AREA)
  • Details Of Cameras Including Film Mechanisms (AREA)
PCT/US2004/012910 2003-04-25 2004-04-26 System for controlling a camera resource in a portable device WO2005015340A2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AU2004264194A AU2004264194A1 (en) 2003-04-25 2004-04-26 System for controlling a camera resource in a portable device
CA002520272A CA2520272A1 (en) 2003-04-25 2004-04-26 System for controlling a camera resource in a portable device
MXPA05011436A MXPA05011436A (es) 2003-04-25 2004-04-26 Sistema para controlar un recurso de camara en un dispositivo portatil.
BRPI0409657-6A BRPI0409657A (pt) 2003-04-25 2004-04-26 sistema para controlar um recurso de cámera em um dispositivo portátil
EP04775908A EP1618459A4 (en) 2003-04-25 2004-04-26 SYSTEM FOR CONTROLLING A CAMERA DRIVE IN A PORTABLE DEVICE
JP2006513356A JP2006524973A (ja) 2003-04-25 2004-04-26 ポータブルデバイスにおけるカメラリソースを制御するシステム
IL170770A IL170770A0 (en) 2003-04-25 2005-09-08 System for controlling a camera resource in a portable device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US46553303P 2003-04-25 2003-04-25
US60/465,533 2003-04-25
US10/453,091 2003-06-02
US10/453,091 US20040083015A1 (en) 2002-06-04 2003-06-02 System for multimedia rendering in a portable device

Publications (3)

Publication Number Publication Date
WO2005015340A2 true WO2005015340A2 (en) 2005-02-17
WO2005015340A3 WO2005015340A3 (en) 2006-12-28
WO2005015340B1 WO2005015340B1 (en) 2007-03-01

Family

ID=34138431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/012910 WO2005015340A2 (en) 2003-04-25 2004-04-26 System for controlling a camera resource in a portable device

Country Status (14)

Country Link
EP (1) EP1618459A4 (enrdf_load_stackoverflow)
JP (1) JP2006524973A (enrdf_load_stackoverflow)
KR (1) KR20060023954A (enrdf_load_stackoverflow)
AR (1) AR044097A1 (enrdf_load_stackoverflow)
AU (1) AU2004264194A1 (enrdf_load_stackoverflow)
BR (1) BRPI0409657A (enrdf_load_stackoverflow)
CA (1) CA2520272A1 (enrdf_load_stackoverflow)
CL (1) CL2004000876A1 (enrdf_load_stackoverflow)
IL (1) IL170770A0 (enrdf_load_stackoverflow)
MX (1) MXPA05011436A (enrdf_load_stackoverflow)
PE (1) PE20050216A1 (enrdf_load_stackoverflow)
RU (1) RU2352977C2 (enrdf_load_stackoverflow)
TW (1) TW200502839A (enrdf_load_stackoverflow)
WO (1) WO2005015340A2 (enrdf_load_stackoverflow)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100628771B1 (ko) 2005-06-21 2006-10-02 엘지전자 주식회사 브루 플랫폼을 사용하는 이동통신 단말기의 프리로드어플리케이션 탑재 방법
US10212326B2 (en) 2016-11-18 2019-02-19 Microsoft Technology Licensing, Llc Notifications for control sharing of camera resources

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150817A1 (en) * 2007-12-06 2009-06-11 Ati Technologies Ulc Method and Apparatus Utilizing Profiles to Reduce Software Complexity
CN103942225B (zh) * 2013-01-23 2018-06-08 阿里巴巴集团控股有限公司 一种混合型应用客户端的资源调用方法、客户端及系统
US9215411B2 (en) * 2014-02-03 2015-12-15 Google Inc. Enhancing video conferences
JP6358063B2 (ja) 2014-12-02 2018-07-18 富士通株式会社 要求送信方法、情報処理装置、及びプログラム
JP6447297B2 (ja) 2015-03-26 2019-01-09 富士通株式会社 通信方法、情報処理装置、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998017052A1 (en) 1996-09-30 1998-04-23 Flashpoint Technology, Inc. A method and system for expanding the media types supported in a digital camera
US20020065952A1 (en) 2000-04-21 2002-05-30 Sullivan Gary J. Extensible multimedia application program interface and related methods

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3516328B2 (ja) * 1997-08-22 2004-04-05 株式会社日立製作所 情報通信端末装置
JP2000023021A (ja) * 1998-06-30 2000-01-21 Sony Corp 情報処理装置および方法、並びに提供媒体
US6373507B1 (en) * 1998-09-14 2002-04-16 Microsoft Corporation Computer-implemented image acquistion system
RU2169437C1 (ru) * 1998-12-29 2001-06-20 Свисском Мобиле Аг Способ предоставления пользователям телекоммуникационной сети доступа к объектам
US6256059B1 (en) * 1999-01-07 2001-07-03 Intel Corporation Automatic transfer of image information between imaging device and host system
US6400471B1 (en) * 1999-02-11 2002-06-04 Flashpoint Technology, Inc. Flexible architecture for image processing
JP3546784B2 (ja) * 1999-12-14 2004-07-28 日本電気株式会社 携帯端末

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998017052A1 (en) 1996-09-30 1998-04-23 Flashpoint Technology, Inc. A method and system for expanding the media types supported in a digital camera
US20020065952A1 (en) 2000-04-21 2002-05-30 Sullivan Gary J. Extensible multimedia application program interface and related methods

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARTIN D H ET AL.: "DR. DOBB'S JOURNAL", vol. 24, May 1999, M&T PUBL., article "JAVA AND DIGITAL IMAGES CAPTURING, STORING, AND RETRIEVING DIGITAL IMAGES", pages: 72
See also references of EP1618459A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100628771B1 (ko) 2005-06-21 2006-10-02 엘지전자 주식회사 브루 플랫폼을 사용하는 이동통신 단말기의 프리로드어플리케이션 탑재 방법
US10212326B2 (en) 2016-11-18 2019-02-19 Microsoft Technology Licensing, Llc Notifications for control sharing of camera resources

Also Published As

Publication number Publication date
KR20060023954A (ko) 2006-03-15
EP1618459A4 (en) 2007-08-08
AU2004264194A1 (en) 2005-02-17
RU2005136654A (ru) 2006-03-20
AR044097A1 (es) 2005-08-24
PE20050216A1 (es) 2005-04-23
WO2005015340A3 (en) 2006-12-28
WO2005015340B1 (en) 2007-03-01
TW200502839A (en) 2005-01-16
CA2520272A1 (en) 2005-02-17
MXPA05011436A (es) 2005-12-12
RU2352977C2 (ru) 2009-04-20
IL170770A0 (en) 2009-02-11
EP1618459A2 (en) 2006-01-25
BRPI0409657A (pt) 2006-04-18
CL2004000876A1 (es) 2005-03-28
JP2006524973A (ja) 2006-11-02

Similar Documents

Publication Publication Date Title
US20040212687A1 (en) System for controlling a camera resource in a portable device
US20040083015A1 (en) System for multimedia rendering in a portable device
US9990370B1 (en) System and method for local file management and editing utilizing remote applications
JP2010288301A (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
CN114207587A (zh) 跨平台无状态剪贴板体验
CN110865837B (zh) 一种进行系统升级的方法和终端
US9098170B2 (en) System, method, and user interface for controlling the display of images on a mobile device
US20030023700A1 (en) System and methodology providing on-board user interface
CN117278850A (zh) 一种拍摄方法及电子设备
EP1618459A2 (en) System for controlling a camera resource in a portable device
RU2316907C2 (ru) Система воспроизведения мультимедиа в портативном устройстве
CN113055585B (zh) 拍摄界面的缩略图显示方法及移动终端
CN116700601B (zh) 内存优化方法、设备及存储介质
US20100100531A1 (en) Electronic device and method for managing medias
JP7632831B2 (ja) 画面投影方法及び関連装置
US20100153588A1 (en) Computer executable program for managing medias
CN113079332B (zh) 移动终端及其录屏方法
HK1101795A (en) System for controlling a camera resource in a portable device
CN101094366A (zh) 在移动终端中设置内容文件的播放列表的方法和设备
HK1075521B (en) Method and system for multimedia rendering in a portable device
CN117971335A (zh) 一种展示方法、电子设备及介质
WO2023160208A1 (zh) 图像删除操作的通知方法、设备和存储介质
CN118574000A (zh) 一种控制相机显示预览图像方法及电子设备
CN118075125A (zh) 一种节点管理方法、电子设备及介质

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 542285

Country of ref document: NZ

WWE Wipo information: entry into national phase

Ref document number: 170770

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2004775908

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2520272

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1020057018730

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004264194

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 20048102014

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2006513356

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: PA/a/2005/011436

Country of ref document: MX

Ref document number: 2743/CHENP/2005

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1200501561

Country of ref document: VN

ENP Entry into the national phase

Ref document number: 2004264194

Country of ref document: AU

Date of ref document: 20040426

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2004264194

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2005136654

Country of ref document: RU

WWP Wipo information: published in national office

Ref document number: 2004775908

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057018730

Country of ref document: KR

ENP Entry into the national phase

Ref document number: PI0409657

Country of ref document: BR

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)