KR20060023954A - 휴대용 장치에서 카메라 리소스를 제어하는 시스템 - Google Patents

휴대용 장치에서 카메라 리소스를 제어하는 시스템 Download PDF

Info

Publication number
KR20060023954A
KR20060023954A KR1020057018730A KR20057018730A KR20060023954A KR 20060023954 A KR20060023954 A KR 20060023954A KR 1020057018730 A KR1020057018730 A KR 1020057018730A KR 20057018730 A KR20057018730 A KR 20057018730A KR 20060023954 A KR20060023954 A KR 20060023954A
Authority
KR
South Korea
Prior art keywords
camera
application
api
instructions
resource
Prior art date
Application number
KR1020057018730A
Other languages
English (en)
Inventor
스리니바스 패트와리
Original Assignee
콸콤 인코포레이티드
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 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20060023954A publication Critical patent/KR20060023954A/ko

Links

Images

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; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Studio Devices (AREA)
  • Stored Programmes (AREA)
  • Details Of Cameras Including Film Mechanisms (AREA)

Abstract

본 발명은 리소스 제한된 휴대용 장치에서 카메라 리소스를 제어하는 시스템에 관한 것이다. 본 발명의 방법은 애플리케이션이 후대용 장치에서 카메라 리소스를 제어하게 하도록 카메라 시스템을 제어하는 방법을 제공한다. 상기 방법은 카메라 시스템을 활성화하는 단계, 애플리케이션으로부터 명령을 수신하기 위해 애플리케이션 프로그램 인터페이스(API)를 제공하는 단계, API를 통해 애플리케이션으로부터 명령을 수신하는 단계, 및 명령에 의해 식별된 카메라 기능을 제공하는 단계를 포함하며, 여기서 카메라 시스템은 카메라 리소스를 제어하도록 동작할 수 있으며, 상기 명령은 실행될 카메라 기능을 식별한다.

Description

휴대용 장치에서 카메라 리소스를 제어하는 시스템{SYSTEM FOR CONTROLLING A CAMERA RESOURCE IN A PORTABLE DEVICE}
본 출원은 2003년 4월 25일 출원된 미국 가출원 60/465,533을 우선권으로 주장한다. 본 출원은 또한 2003년 6월 2일 출원된 미국 가출원 10/453,091을 우선권으로 주장한다. 상기 가출원들의 내용은 본 명세서에서 참조된다.
본 발명은 통상적으로 휴대용 장치에서 이미지 획득 및 프로세싱에 관한 것이며, 특히 내장된 제어기를 갖는 휴대용 장치에서 카메라 리소스를 제어하는 시스템에 관한 것이다.
기술의 발전으로 더욱 소형이고 더욱 강력한 개인용 정보 처리 장치(computing device)들이 개발되었다. 예를 들어, 소형 경량이며, 휴대가 용이한 다양한 휴대용 무선 전화기, PDA, 및 호출 장치가 현재 존재한다. 특히, 이러한 장치들은 한정된 메모리 리소스를 갖는 내장된 제어기를 포함한다. 예를 들어, 이용가능한 메모리의 양 및 프로세싱 성능은 장치의 작은 크기에 의해 제한될 수도 있다.
개인용 정보 처리 장치가 더 많은 양의 데이터를 취급하고 더욱 복잡한 프로그램을 실행할 필요성이 증가하고 있다. 예를 들어, 사용자들은 광범위한 이미지 프로세싱을 제공하는 애플리케이션을 요구하고 있다. 이러한 영역에서, 사용자들은 프로세싱 및/또는 전송을 위한 스틸 이미지 및 비디오 클립을 획득하도록 제어될 수 있는 카메라 리소스들을 포함하는 휴대용 장치를 갖기를 원한다.
휴대용 장치에 이미지들을 캡쳐링하기 위해, 상기 장치들의 카메라 리소스를 제어하는 것이 필요하다. 예를 들어, 휴대용 장치의 일 타입은 단지 스틸 이미지만을 얻기 위해 설계된 저해상도의 카메라 리소스를 포함할 수도 있으며, 휴대용 장치의 다른 타입은 풀 모션 비디오를 캡쳐링하도록 설계된 줌 성능을 갖는 더 크고 높은 해상도의 카메라 리소스를 포함할 수도 있다. 따라서 휴대용 장치의 각각의 타입은 이미지 콘텐츠를 캡쳐링하는 상이한 카메라 리소스를 가질 수도 있다. 따라서 애플리케이션 개발자들은 상이한 구성 및 카메라 리소스를 가질 수 있는 휴대용 장치의 광범위한 다양성에 대해 사용하기 위한 애플리케이션을 개발할 때, 호환성 문제를 해결해야 한다.
호환성 문제를 해결하기 위해 사용된 한가지 기술은 애플리케이션이 특정 카메라 리소스를 갖는 휴대용 장치에서 실행하기 위해 특정하게 설계될 것을 요구한다. 예를 들어, 만일 애플리케이션 개발자가 비디오 이미지를 얻기 위해 휴대용 장치에서 구동하는 애플리케이션을 개발할 경우, 개발자는 상기 애플리케이션이 이러한 특정 장치에 사용가능한 카메라 리소스와 정확하게 호환될 수 있도록 설계해야 한다.
바람직하기 않게도, 각각의 장치에 근거한 특정 카메라 리소스들에 대해 설계된 광범위하게 다양한 휴대 장치에 사용하기 위한 애플리케이션을 생성하는 것은 비용이 많이 들고 비효율적이다. 예를 들어, 애플리케이션 개발자는 이용가능한 카메라 리소스에 기초한 상이한 휴대 장치들에 사용하기 위한 애플리케이션을 변경할 필요가 있으며, 그로 인해, 생성될 동일한 애플리케이션의 다중 버젼을 필요로 한다. 또한, 애플리케이션 개발자는 새로운 카메라 리소스가 이용가능하게 되면서 연속하여 자체의 애플리케이션들을 업데이트해야할 것이다.
휴대용 장치에 대한 카메라 리소스들을 제어하기 위해 제안된 다른 기술은 통상적으로 대형의 컴퓨터 시스템에 대해 사용가능한 멀티미디어 플랫폼의 사용을 포함한다. 예를 들어, 데스크탑, 서버, 또는 다른 상대적으로 큰 정보 처리 장치에 사용하기 위해 개발된 대형의 복잡한 멀티미디어 플랫폼이 있다. 그러나, 이러한 타입의 플랫폼들은 한정된 리소스들을 갖는 휴대용 장치에서 사용될 경우, 매우 비효율적인데, 그 이유는 이러한 시스템들은 통상적으로 애플리케이션과 장치상에 로딩된 프로그램 모듈 사이에 생성될 대량의 소프트웨어 인터페이스를 필요로 하기 때문이다. 따라서 매우 복잡한 것 외에도, 이러한 시스템들은 메모리 및 프로세싱 집약적이며, 이는 통상의 휴대용 장치에 이용가능한 한정된 프로세싱 성능과 부합되지 않는다.
따라서 필요한 것은 캡쳐링, 엔코딩, 매니플레이팅, 및 스틸 이미지 및 비디오의 디스플레이를 위해 애플리케이션이 다양한 휴대용 장치에 대해 효과적이고 용이하게 카메라 리소스를 액세스 및 제어하게 하는 시스템이다. 이러한 시스템은 소형이어야 하고 통상의 휴대용 장치에 대해 이용가능한 한정된 리소스를 사용하여 동작하도록 설계되어야 한다. 예를 들어, 이러한 시스템은 대형이고 비효율적이 며, 작은 리소스 한정 장치에 사용하기 위해 적합하지 않은 프로그램 모듈들 사이에서 확장된 소프트웨어 인터페이스를 필요로 하지 않는다. 이러한 시스템은 모든 타입의 카메라 리소스들이 제어되게 하고, 새로운 카메라 리소스들이 이용가능하게 됨에 따라 이들의 제어를 가능하게 하는 확장 가능한 구조를 제공하도록 동작해야 한다.
하나 이상의 실시예에서, 방법 및 장치를 포함하는 카메라 시스템이 휴대용 장치에 대해 카메라 리소스를 제어하기 위해 제공된다. 예를 들어, 하나의 휴대용 장치는 내장된 제어기 및 카메라 장치를 포함하는 한정된 메모리 리소스들을 구비한 우선 전화기일 수도 있다. 하나 이상의 실시예에서, 카메라 시스템은 간단한 인터페이스를 사용하여 카메라 리소스를 제어하는 장치에 대한 애플리케이션 실행을 가능하게 하는 휴대용 장치에서 구동하는 소형의 효율적인 프로그램을 포함한다. 따라서 카메라 시스템은 한정된 메모리 리소스들을 가진 내장된 제어기를 가진 휴대용 장치에 사용하기에 특히 적합하다.
일 실시예에서, 카메라 시스템은 휴대용 장치에 대해 카메라 리소스를 액세스 및 제어하는 간단하고 효율적이며 강력한 방법을 제공하고, 정적 및 동적 애플리케이션들이, (1)스냅샷 및 비디오 이미지를 캡쳐링하고, (2)카메라 세팅 및 구성 파라미터를 설정하고, (3)캡쳐링된 이미지 및 비디오 프레임들을 매니플레이팅하고, (4)위치 정보와 같은 부가 정보를 이미지 및 비디오 프레임에 부가하고, (5)캡쳐링된 이미지 및 비디오 프레임들을 엔코딩하고, (6)캡쳐링된 이미지 및 비디오 프레임들을 디스플레이하고, 및 (7)카메라 이벤트들을 비동기식으로 수신하게 한다.
하나 이상의 실시예에서, 카메라 시스템은 애플리케이션을 실행함으로써 인스턴스화된 소형의 프로그램 모듈을 포함한다. 이어 애플리케이션은 모든 카메라 동작을 실행하도록 프로그램 모듈에 의해 제공된 간단한 애플리케이션 프로그램 인터페이스를 사용한다. 카메라로부터의 이벤트는 등록된 콜백(callback) 기능을 통해 애플리케이션으로 보내진다. 프로그램 모듈은 최소의 메모리를 소비하며, 모든 카메라 동작을 실행하기 위해 기기-레벨 드라이버 소프트웨어를 직접 액세싱함으로써 효율적인 확장을 제공한다.
일 실시예에서, 애플리케이션이 휴대용 장치에서 카메라 리소스를 제어하게 하도록 카메라 시스템을 동작시키는 방법이 제공된다. 상기 방법은 카메라 리소스를 제어하도록 동작할 수 있는 카메라 시스템을 활성화하는 단계, 애플리케이션으로부터 명령을 수신하는 애플리케이션 프로그램 인터페이스(API)를 제공하는 단계; API를 통해 애플리케이션으로부터 실행될 카메라 기능을 식별하는 명령을 수신하는 단계; 및 상기 명령에 의해 식별된 카메라 기능을 실행하는 단계를 포함한다.
다른 실시예에서는, 애플리케이션이 휴대용 장치에서 카메라 리소스를 제어하도록 카메라 시스템을 동작시키는 장치가 제공된다. 상기 장치는 카메라 리소스를 제어하도록 동작할 수 있는 카메라 시스템을 활성화하는 수단을 포함한다. 상기 장치는 또한 애플리케이션으로부터 명령을 수신하는 애플리케이션 프로그램 인터페이스(API)를 제공하는 수단을 포함한다. 상기 장치는 또한 API를 통해 애플리케이션으로부터 실행될 카메라 기능을 식별하는 명령을 수신하는 수단을 포함한다. 상기 장치는 또한 상기 명령에 의해 식별된 카메라 기능을 실행하는 수단을 포함한다.
또다른 실시예에서, 휴대용 장치에서 프로세서에 의해 실행될 경우, 애플리케이션이 휴대용 장치의 카메라 리소스를 제어하게 하는 카메라 시스템을 제공하도록 동작하는 명령들을 포함하는 컴퓨터 판독 가능 매체가 제공된다. 컴퓨터 판독 가능 매체는 카메라 시스템을 활성화하는 명령들을 포함하는데, 상기 카메라 시스템은 카메라 리소스들, 애플리케이션으로부터 API 명령들을 수신하도록 애플리케이션 프로그램 인터페이스를 제공하는 명령들, API를 통해 애플리케이션으로부터 실행될 카메라 기능을 식별하는 API 명령들을 수신하는 명령들, 및 API 명령들에 의해 식별된 카메라 기능을 수행하는 명령들을 제어하도록 동작할 수 있다.
또다른 실시예에서, 애플리케이션이 휴대용 장치에서 카메라 리소스를 제어하게 하도록 카메라 시스템을 동작시키는 장치가 제공된다. 상기 장치는 카메라 리소스를 제어하도록 동작할 수 있는 카메라 시스템을 활성화하는 로직을 포함하며, 애플리케이션으로부터 명령을 수신하도록 애플리케이션 프로그램 인터페이스(API)를 제공하는 로직을 더 포함한다. 상기 장치는 또한 API를 통해 애플리케이션으로부터 실행될 카메라 기능을 식별하는 명령을 수신하는 로직을 포함하고, 상기 명령에 의해 식별된 카메라 기능을 실행하는 로직을 더 포함한다.
본 발명의 다른 특징, 장점 및 특성은 도면의 간단한 설명, 본원 발명의 상세한 설명 및 청구항을 통해 명백해 질 것이다.
본 명세서에 설명된 실시예의 전술한 특징 및 장점은 첨부한 도면과 함께 이하의 상세한 설명을 참조하여 더욱 명백해 질 것이다.
도 1은 카메라 시스템의 일 실시예를 구현하기에 적합한 내장된 제어기를 구비한 휴대용 무선 장치를 포함하는 데이터 네트워크이다.
도 2는 애플리케이션이 상기 장치에 대해 카메라 리소스를 제어하게 하도록 동작하는 ICamera 시스템의 일 실시예를 포함하는 도 1의 휴대용 장치의 일 실시예를 도시한 블록도이다.
도 3은 도 2의 ICamera 시스템의 일 실시예의 구체적인 블록도이다.
도 4는 애플리케이션이 휴대용 장치에 대해 카메라 리소스를 제어하게 하도록 ICamera 시스템의 일 실시예에 의해 제공된 상태 기계(state machine)의 일 실시예를 도시한 도면이다.
도 5는 애플리케이션이 휴대용 장치에서 카메라 리소스를 제어하게 하도록 ICamera 시스템을 동작시키는 방법의 일 실시예를 나타낸 도면이다.
이하의 상세한 설명은 휴대용 장치에서 카메라 리소스를 제어하는 방법 및 장치를 포함하는 카메라 시스템에 관한 것이다. 하나 이상의 실시예에서, 휴대용 장치는 내장된 제어기 및 한정된 리소스(즉, 한정됨 메모리 용량)를 가지며, 카메라 시스템은 애플리케이션 프로그램이 단일 인터페이스를 사용하여 카메라 리소스를 제어하게 하도록 동작한다.
하나 이상의 실시예에서, 카메라 시스템은 예를 들어, 장치 특정 리소스들에 대한 범용 호출을 제공함으로써 장치의 동작을 간단하게 하도록 사용되는, 장치에 대해 실행하는 런타임 환경과 상호작용한다. 이러한 런타임 환경의 일례는 캘리포니아 샌디에고 소재의 QUALCOMM Inc.,에 의해 개발된 Binary Runtime Environment for Wireless®(BREWTM) 소프트웨어 플랫폼이다. 이하의 설명에서, 카메라 시스템은 BREW 소프트웨어 플랫폼과 같은 런타임 환경을 실행하여 휴대용 장치에 구현된다고 가정될 것이다. 그러나, 카메라 시스템의 하나 이상의 실시예는 휴대용 장치에 대한 카메라 리소스를 제어하기 위해 다른 타입의 런타임 환경과 함께 사용하기에 적합하다.
도 1은 이하에서 "104"로 표기되고 "ICamera" 시스템으로 언급될 카메라 시스템의 일 실시예를 구현하기에 적합한 내장된 제어기를 가진 휴대용 무선 통신 장치(102)를 포함하는 데이터 네트워크(100)를 나타낸다. ICamera 시스템(104)은 장치(102)상에서 구동하는 애플리케이션이 장치(102)에 위치된 카메라 리소스(124)를 제어하도록 동작한다. 일 실시예에서, ICamera 시스템(104)은 장치에 대해 실행하는 런타임 환경(116)과 상호작용한다. 예를 들어, 일 실시예에서, 런타임 환경(116)은 BREW 소프트웨어 플랫폼이다.
하나 이상의 실시예에서, ICamera 시스템(104)은 광범위하게 다양한 휴대용 장치와 함께 사용하기에 적합하다. 예를 들어, 다른 적합한 휴대용 장치는 PDA, email 장치, 호출기, 태블릿 컴퓨터, 모바일폰, 또는 실질적으로 카메라 리소스를 포함하는 다른 타입의 휴대용 장치를 포함하지만, 본 발명은 이에 한정되지 않는다.
무선 장치(102)는 무선 통신 채널(110)을 사용하는 데이터 네트워크(108)를 통해 네트워크 서버(106)와 통신하도록 동작할 수 있다. 일 실시예에서, 장치(102)는 네트워크(108)를 통해 보이스 및/또는 다른 정보를 전송 및 수신할 수도 있는 무선 전화기를 포함한다. 장치(102)는 또한 네트워크(108)를 통해 애플리케이션을 수신하도록 동작할 수 있다. 예를 들어, 애플리케이션(112 및 114)은 네트워크 서버(106)로부터 장치(102)로 다운로딩될 수도 있다. 이러한 애플리케이션들은 장치에 대해 실행되고 장치 사용자에 추가의 피쳐 및/또는 기능을 제공하기 위해 장치 카메라(124)를 사용한다. 예를 들어, 애플리케이션은 장치 카메라(124)로부터 스틸 이미지 또는 비디오 정보를 획득 및 프로세싱할 수 있다. 애플리케이션을 네트워크(108)와 결합된 다른 네트워크 엔티티로부터 장치(102)로 다운로딩하는 것이 가능하다.
일 실시예에서, 장치(102)는 또한 직접 링크(120)를 통해 로컬 워크스테이션(118)과 같은 로컬 시스템에 직접 결합된다. 장치(102)는 직접 링크를 이용하여 로컬 워크스테이션으로부터 애플리케이션을 다운로드하도록 동작할 수 있다. 예를 들어, 애플리케이션은 링크(120)를 사용하여 워크스테이션(118)으로부터 장치(102)로 다운로딩된다.
ICamera 시스템(104)은 서버(106)로부터 장치(102)로 다운로딩될 수도 있으며, 애플리케이션이 카메라(124)를 제어하게 하도록 장치(102)에 대해 동작한다. 다른 실시예에서, ICamera 시스템(104)은 링크(120)를 통해 워크스테이션(118)으로부터 장치(102)로 다운로딩되거나, 제조 동안 장치(102)에 인스톨될 수도 있다.
일 실시예에서, ICamera 시스템(104)은 플로피 디스크와 같은 컴퓨터 판독가능 매체에 저장된 명령으로 제공되며, 장치(102)로의 전송을 위해 시스템(118)에 로딩된다. 또다른 실시예에서, ICamera 시스템(104)은 메모리 카드(미도시)와 같은 컴퓨터 판독가능 매체에 저장될 수도 있으며, 장치(102)로 직접 플러깅되어, ICamera 시스템(104)이 장치(102)에 대해 실행되게 할 수도 있다. 따라서, 장치(102)는 무선 전송, 유선 전송, 또는 카메라 장치로부터 직접 검색하여 ICamera 시스템(104)을 수신할 수도 있다.
도 2는 애플리케이션이 효율적으로 카메라 리소스를 제어하게 하도록 동작하는 ICamera 시스템(104)의 일 실시예를 포함하는 장치의 일 실시예를 도시한 블록도이다. 장치(102)는 내부 데이터 버스(204) 및 스택 메모리(216)에 결합된 프로세싱 로직(202)을 포함한다. 또한, 명령 메모리(206), 애플리케이션 메모리(208), 사용자 인터페이스(212), 카메라 로직(216), 오디오 로직(218) 및 입/출력(I/O) 인터페이스(214)가 내부 데이터 버스(204)에 결합된다.
장치(102)의 동작 동안, 프로세싱 로직(202)은 런타임 환경(116)을 활성화시키기 위해 명령 메모리(206)에 저장된 프로그램 명령을 실행시킨다. 런타임 환경(116)은 BREW 환경 또는 다른 적절한 런타임 환경일 수도 있다. 명령 실행을 보조하기 위해, 프로세싱 로직(202)은 일시적으로 프로그램 데이터 또는 명령들을 저장하는 스택 메모리를 사용한다. 예를 들어, 프로세싱 로직(202)은 상수, 변수, 프 로그램 어드레스, 포인터들, 명령들 또는 다른 정보 아이템들을 스택 메모리(216)에 저장할 수도 있다. 다른 실시예에서, 프로세싱 로직(202)은 정보를 힙 메모리(210)에 일시적으로 저장할 수도 있다. 힙 메모리는 프로세싱 로직(202)에 의해 정보를 저장 및 검색하기에 적합한 실질적으로 다른 타입의 메모리를 포함한다.
하나 이상의 실시예에서, 프로세싱 로직(202)은 CPU, 게이트 어레이, 소프트웨어, 또는 하드웨어와 소프트웨어의 소정의 조합을 포함한 로직을 포함한다. 따라서 프로세싱 로직(202)은 일반적으로 기계-판독가능 명령들을 실행하기 위한 로직을 포함한다.
명령 메모리(206)는 RAM, ROM, FLASH, EEROM, 또는 다른 적합한 타입의 메모리, 도는 이들의 조합을 포함한다. 일 실시예에서, 명령 메모리(206)는 장치(102) 내부에 위치되며, 다른 실시예에서, 명령 메모리(206)는 장치에 선택적으로 부착될 수도 있고, 그로 인해 내부 버스(204)에 결합되는, 제거가능한 메모리 카드 또는 메모리 장치를 포함한다. 따라서 명령 메모리(206)는 프로세싱 로직(202)에 의해 실행될 수도 있는 명령들을 저장할 수 있는 실질적으로 다른 타입의 메모리를 포함할 수도 있다.
사용자 인터페이스(212)는 사용자가 장치(102)와 인터페이스하도록 예를 들어, 키보드, 포인팅 장치, 터치 패드, 또는 다른 입력 메커니즘으로부터 사용자 입력을 수신한다. 오디오 로직(218)은 장치 스피커, 원격 스피커 또는 오디오 시스템, 또는 다른 타입의 사운드 리소스에 오디오 정보를 출력하는 로직을 포함한다. 예를 들어, 한 쌍의 원격 스피커는 오디오 정보를 장치 사용자에게 제공하기 위한 오디오 로직(218)의 출력을 수신할 수도 있다.
카메라 로직(216)은 장치에 인스톨된 카메라 리소스(124)에 인터페이스하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 장치는 CCD 카메라 또는 다른 타입의 카메라 리소스를 포함할 수도 있다. 카메라 로직(216)은 카메라 리소스와 인터페이스하여 스틸 및 비디오 이미지가 카메라 리소스로부터 얻어지게 한다. 따라서 카메라 로직(216) 및 오디오 로직(218)은 장치(102)가 시각 및 오디오 정보를 캡쳐링하거나 획득하도록 소정의 조합으로 하드웨어 및/또는 소프트웨어를 포함한다.
I/O 인터페이스(214)는 장치(102) 및 외부 장치, 시스템 및/또는 네트워크 사이에서 정보를 전송 및 수신하도록 동작한다. 예를 들어, 일 실시예에서, I/O 인터페이스(214)는 예를 들어, 통신 링크(110)를 사용하는 무선 데이터 네트워크를 통해 정보를 전송 및 수신하도록 동작하는 무선 트랜시버 회로(미도시)를 포함한다. 예를 들어, 트랜시버는 프로세싱 로직(202)으로부터 수신된 정보를 변조하고, 변조된 정보를 무선 전송에 적합한 고주파 신호로 변환하는 회로를 포함한다. 유사하게, 트랜시버는 또한 수신된 고주파 통신 신호를 프로세싱 로직(202)에 의해 변조 및 이후의 프로세싱에 적합한 신호로 변환하는 회로를 포함한다.
다른 실시예에서, I/O 인터페이스(214)는 인터넷과 같은 공용 데이터 네트워크상에서 원격 시스템과 통신하기 위해, 전화선과 같은 배선된 통신 링크를 통해 정보를 전송 및 수신하도록 동작하는 트랜시버를 포함한다.
또다른 실시에에서, I/O 인터페이스(214)는 링크(120)를 사용하여 로컬 워크 스테이션(116)과 같은 로컬 장치와 통신하도록 동작하는 회로를 포함한다. I/O 인터페이스(214)는 프린터 또는 다른 로컬 컴퓨터 또는 플로피 디스크 또는 메모리 카드와 같은 장치와 통신하는 (직렬 또는 병렬 포트 로직과 같은) 회로를 또한 포함한다. 따라서 I/O 인터페이스(214)는 다른 타입의 하드웨어, 소프트웨어, 또는 장치(102)가 다른 로컬 또는 원격에 위치한 장치 또는 시스템과 통신하게 하는 하드웨어 또는 소프트웨어의 소정의 조합을 포함하는 로직을 포함한다.
장치(102)의 동작 동안, 프로세싱 로직(202)에 의한 프로그램 명령의 실행은 ICamera 시스템(104)이 활성화되게 한다. 예를 들어, ICamera 명령은 명령 메모리와 같은 컴퓨터 판독가능 매체에 저장될 수도 있으며, 상기 명령의 실행은 ICamera 시스템을 활성화시킨다. ICamera 시스템(104)은 런타임 환경(116)과 상호작용하여 애플리케이션들이 효율적으로 장치에 위치한 카메라 리소스(124)를 제어하게 한다. 예를 들어, 애플리케이션(220)은 무선 네트워크(108)를 통해 장치(102)에 다운로딩되고 메모리(208)에 저장된다. 일 실시예에서, 애플리케이션(220)은 카메라 로직(216)을 제어함으로써 카메라 리소스(124)의 동작을 제어하도록 활성화되고 ICamera 시스템(104)과 상호작용한다. 예를 들어, 애플리케이션(220)은 스틸 이미지 또는 비디오를 카메라 리소스로부터 검색하거나 카메라 리소스가 어떻게 동작할지를 제어하는 선택된 파라미터를 설정하도록 동작할 수도 있다. 이를 달성하기 위해, 애플리케이션(220)은 카메라 리소스와 관련한 모든 동작을 실행하도록 ICamera 시스템(104)에 의해 제공된 단일 프로그램 인터페이스와 상호작용한다.
장치(102)의 구성은 애플리케이션이 휴대용 장치에 대한 카메라 리소스를 효 율적으로 제어하게 하도록 ICamera 시스템(104)의 일 실시예를 구현하기에 적합한 단지 하나의 구성임을 알아야 한다. 본 발명의 사상 내에서 다른 장치들 또는 장치 구성을 사용하여 ICamera 시스템(104)을 구현하는 것이 또한 가능하다.
도 3은 장치(102) 상에 구현된 ICamera 시스템(104)의 일 실시예의 구체적인 기능 블록도이다. 장치(102)는 예를 들어, 카메라(124)인 카메라 리소스를 포함하는 네이티브 하드웨어(302)를 포함한다. 장치(102)는 또한 오디오 및 비디오 프로그램 모듈을 포함하는 네이티브 멀티미디어 소프트웨어(304)를 포함한다. 이러한 모듈은 MPEG4 및 JPEG 엔코딩 모듈과 같은 특정한 엔코딩 모듈을 포함할 수도 있다. 이러한 모듈은 네이티브 하드웨어(302)와 직접 통신하는데 사용되는 저급 소프트웨어 모듈을 제공한다. 예를 들어, 모듈(304)은 카메라 리소스(302)와 인터페이스한다. 비록 일 실시예가 도시되지만, 수개 이상의 멀티미디어 소프트웨어 모듈(304)을 갖는 것이 가능하며, 이러한 모듈은 모든 타입의 네이티브 하드웨어(302)와 인터페이스할 수도 있다. 따라서 다른 네이티브 하드웨어(302) 및 네이티브 소프트웨어(304) 구성은 본 발명의 사상 내에서 가능하다.
동작 동안, 장치(102)는 일 실시예에서 Brew 환경인 런타임 환경(116)을 활성화시키는 프로그램 명령을 실행한다. 이어, 장치(102)의 동작 동안, 애플리케이션(220)이 활성화된다. 예를 들어, 장치의 사용자는 애플리케이션을 데이터 네트워크로부터(즉, 인터페이스(214)를 사용하여) 다운로드하고, 사용자 I/F(212)를 통해 애플리케이션을 활성화시킨다. 애플리케이션(220)은 본 명세서에 개시된 바와 같이, 장치의 카메라 리소스를 제어하도록 설계되었고 ICamera 구성을 사용하여 생 성된다. 애플리케이션(220)은 ICamera 시스템(104)을 인스턴스화하며, 이는 애플리케이션(220)이 카메라 리소스와 관련한 모든 동작을 실행하도록 ICamera 시스템(104)에 의해 제공된 간단한 애플리케이션 프로그램 인터페이스(API)(306)를 사용하게 한다. 미디어 데이터 구조(308)는 비디오 정보를 저장 및 검색하기 위해 ICamera 시스템(104)에 의해 선택적으로 생성될 수도 있다.
ICamera 시스템(104)은 런타임 환경(116)을 통해 네이티브 모듈(304)과 인터페이스 및 통신한다. 예를 들어, 런타임 환경(116)은 장치 특정 리소스를 액세스하는 범용 호출을 제공하는 BREW 플랫폼일 수도 있다. 그러나 소정의 적절한 인터페이스 기술은 ICamera 시스템(104)과 모듈(304) 사이의 통신을 가능하게 하도록 사용될 수도 있다. 따라서, ICamera 시스템(104)은 소정의 모듈(304)로 직접 명령을 하여 선택된 카메라 기능을 실행하게 하는 것이 가능하다. 예를 들어, ICamera 시스템(104)은 MPEG4 모듈에 명령을 하여 카메라 리소스로부터 비디오 데이터를 획득하고 이를 MPEG4 포맷으로 엔코딩하게 할 수도 있다. 모듈(304)로부터 ICamera 시스템(104)에 의해 얻어진 데이터는 데이터 리소스(308)에 저장될 수도 있으며, 그로 인해 "Record" 기능을 수행하고, 장치 디스플레이상에 검색 및 디스플레이될 수도 있으며, 그로 인해 "Play" 기능을 수행한다.
미디어 데이터 구조
미디어 데이터 구조(308)는 네이티브 소프트웨어(304)로부터 ICamera 시스템(104)에 의해 수신된 카메라 데이터를 인캡슐레이팅하도록 동작한다. 일 실시예에서, 이하의 구조는 소스/싱크 타입 및 미디어 데이터 타입과 관련한 문맥 의존 데 이터(context sensitive data)를 제공하는 미디어 데이터 구조를 한정한다.
Figure 112005055705810-PCT00001
여기서 멤버는 이하와 같이 정의된다:
clsData // 미디어 데이터의 타입
pData // 문맥 의존 데이터
dwSize // 문맥 의존 데이터
그리고 이하의 표는 미디어 데이터 타입을 한정하는 문맥 의존 데이터의 구체 사항을 제공하며, "Read/Write"는 장치의 카메라 리소스와 관련하여, "Playback/Record"를 의미한다.
clsData Mode pData dwSize
-----------------------------------------------------------------
MMD_FILE_NAME Read/Write File name 0
MMD_BUFFER: Read/Write Buffer ptr data size or 0
MMD_ISOURCE Read/Write ISource*data size or 0
플레이백(playback)에 대해 clsData는 대응하는 인터페이스 포인터에 설정된 pData와 함께 소정의 ISource-기반 클래스의 CLSID로 설정될 수 있음을 알아야 한다.
일 실시예에서, ICamera 시스템(104)은 애플리케이션이 장치상의 카메라 리소스를 제어하게 하는 단일 인터페이스(306)를 제공한다. 인터페이스(306)는 애플리케이션이 다양한 카메라 관련 기능들을 수행하도록 실행할 수 있는 ICamera API 명령들의 세트를 포함한다. ICamera 시스템에 의해 제공된 API 명령들의 샘플은 이하와 같다.
1. ICAMERA_SetParm() ; 카메라 파라미터를 설정
2. ICAMERA_GetParm() ; 카메라 파라미터를 획득
3. ICAMERA_Preview() ; 프리뷰 시작(뷰-파인더 모드)
4. ICAMERA_Pause() ; 현지 동작 일시정지
5. ICAMERA_Resume() ; 현재 동작 재시작
6. ICAMERA_RecordSnapshot() ; 스냅샷 기록
7. ICAMERA_RecordMovie() ; 무비 기록
8. ICAMERA_Stop() ; 정지 명령을 발생
9. ICAMERA_EncodeSnapshot() ; 특정 포맷(즉, JPEG 포맷)으로 스냅샷 이미지를 엔코딩
10. ICAMERA_SetMediaData() ; 미디어 데이터를 설정
11. ICAMERA_RegisterNotify() ; 알림 기능을 등록
12. ICAMERA_CreateINstance() ; ICamera 시스템을 인스턴스화
예를 들어, ICAMERA_SetParm() 명령은 ICamera 시스템(104)이 특정 파라미터, 세팅, 또는 장치의 카메라 리소스와 관련한 변수들을 설정하도록 명령하는 애플리케이션에 의해 실행될 수도 있다. 다른 실시예에서, 애플리케이션은 실질적으로 카메라 리소스의 소정의 기능을 제어하는 Icamera 시스템(104)에 포함될 수도 있는 하나 이상의 ICamera API 명령(미도시)을 실행할 수도 있다.
일 실시예에서, ICamera 시스템(104)은 애플리케이션이 카메라 리소스를 제어하여 스냅샷을 획득하고 다음 단계를 실행하여 이를 저장하게 하도록 동작한다.
1. 애플리케이션은 "ISHELL_CreateInstance()" 명령을 사용하여 ICamera 시스템/인터페이스를 인스턴스화하고 비동기 이벤트를 수신하는 콜백 기능을 등록한다.
2. "ICAMERA_Preview()" 명령은 등록된 이미지 프레임이 콜백 기능을 통해 애플리케이션에 의해 수신되고 디스플레이되도록 하는 프리뷰 모드에서 카메라를 작동시킨다.
3. "ICAMERA_SetVideoEncode()" 명령은 데이터가 저장될 필요가 있는 파일 이름/버퍼를 설정한다.
4. "ICAMERA_SetVideoEncode()" 및 "ICAMERA_SetAudioEncode()" 명령은 카메라 리소스 및 오디오로부터 이미지 데이터를 엔코딩하는데 사용될 엔코딩 포맷을 특정한다. 예를 들어, 엔코딩 포맷은 JPEG 또는 MPEG4 엔코딩일 수도 있다. 예를 들어, 카메라 리소스는 오디오 레코딩을 위해 관련된 마이크로폰을 가질 수도 있다.
5. "ICAMERA_Recordsnapshot()" 명령은 이미지를 특정 대상으로 레코딩 및 엔코딩한다.
다른 실시예에서, ICamera 시스템(104)은 애플리케이션이 카메라 리소스를 제어하게 하여 카메라 줌 파라미터 또는 명도 및 다음의 API 명령을 실행함에 의한 콘트라스트 제어와 같은 카메라 동작 파라미터를 설정하게 하도록 동작한다.
1. 줌 레벨을 설정하는 "ICAMERA_Setzoom()" 명령이 실행된다.
2. 명도 레벨을 설정하는 "ICAMERA_SetBrightness()" 명령이 실행된다.
3. 콘트라스트 레벨을 설정하는 "ICAMERA_SetContrast()" 명령이 실행된다.
도 4는 애플리케이션이 휴대용 장치에 대해 카메라 리소스를 제어하게 하는 ICamera 시스템의 일 실시예에 의해 제공된 상태 기계(400)의 일례를 도시한다. 애플리케이션이 ICamera 시스템을 인스턴스화한 후, 상태 기계(400)는 READY 상태(402)에 있다. 이어 애플리케이션은 상태 기계(400)의 다른 상태로 진행하도록 하는 ICamera API 명령을 내리며, 그로 인해, 카메라 리소스의 동작을 제어한다. 예를 들어, Preview() 명령은 프리뷰 상태(404)를 활성화시킨다. Record_snapshot()command는 카메라 리소스로부터 이미지 스냅샷이 얻어지는 스냅샷 상태(406)를 활성화시킨다. Record_movie()command는 카메라 리소스로부터 비디오 스트림이 얻어지는 무비 상태(408)를 활성화시킨다. 상태 기계(400)는 또한 추가의 명령이 각각의 상태의 동작을 제어하게 한다. 예를 들어, Pause() 및 Resume() 명령은 프리뷰 상태(404)의 동작을 제어하는데 사용될 수 있다.
따라서, ICamera 시스템에 의해 제공된 상태 기계(400)를 사용할 경우, 애플 리케이션이 스틸 이미지 및 비디오 클립을 얻기 위해 장치의 카메라 리소스를 제어하는 것이 가능하다. 기계 명령(400)을 변경하여 상태, 및/또는 본 실시예의 사상으로부터 벗어나지 않고 상기 상태를 조정하기 위한 API 명령의 동작을 부가, 삭제, 변경 또는 재정렬하는 것이 또한 가능하다. 따라서 실질적으로 소정 타입의 상태 기계가 애플리케이션이 장치의 카메라 리소스를 제어하게 하는 ICamera 시스템에 의해 제공될 수도 있다.
도 5는 애플리케이션이 장치에 대한 카메라 리소스를 제어하게 하도록 장치에 대한 ICamera 시스템을 동작시키는 방법(500)의 일 실시예를 도시한다. 장치가 BREW 실행 환경을 실행하고 설명된 바와 같이 ICamera 시스템의 일 실시예를 포함하는 것이 가정될 것이다.
블록(502)에서, 애플리케이션은 ICamera 시스템에 의해 제공된 간단한 API 인터페이스를 사용하여 장치에 대해 카메라 리소스를 제어할 수 있도록 ICamera 구조를 사용하여 생성된다. 예를 들어, 애플리케이션 개발자는 휴대용 장치에 대해 실행하고 다양한 카메라 기능을 수행하는 애플리케이션을 생성한다. 애플리케이션은 ICamera 시스템과 인터페이스하는 ICamera API 명령들을 포함하며, 그로 인해 상태 기계(즉, 상태 기계(400)는 도4에 도시됨)에 따라 장치의 카메라의 동작을 제어한다.
블록(504)에서, ICamera API 명령들을 갖는 애플리케이션은 실행을 위해 휴대용 장치에 다운로딩된다. 예를 들어, 애플리케이션은 무선 데이터 네트워크(108)를 통해 장치로 다운로딩될 수도 있다. 애플리케이션은 즉시 실행되거나, 메 모리에 저장되어 이후에 실행될 수도 있다.
블록(506)에서, 애플리케이션은 ICamera 시스템을 실행하거나 인스턴스화한다. 예를 들어, 애플리케이션은 장치에 대해 동작하는 런타임 환경하에 실행된다. 실행 동안, 애플리케이션은 장치의 카메라 리소스를 제어하기 위해 ICamera 시스템을 인스턴스화 한다.
블록(508)에서, 애플리케이션은 ICamera 시스템으로부터의 수신된 비동기 이벤트에 바람직한 경우, 알림 기능을 등록한다. 예를 들어, 선택된 카메라 이벤트는 애플리케이션에 대한 알림을 트리거링할 수 있다.
블록(510)에서, 미디어 데이터 구조는 카메라 리소스 및/또는 바람직한 미디어 엔코딩 특성을 기초로 생성 및 초기화된다. 예를 들어, 일 실시예에서, 미디어 데이터 타입은 파일 확장자, 파일 내용, 또는 파일 엔코딩을 기초로 파생된다.
블록(512)에서, 애플리케이션은 카메라 시스템에 대해, 휴대용 장치에 대한 카메라 리소스를 제어하도록 차례로 동작하는 ICamera API 명령들을 보낸다. 예를 들어, 애플리케이션은 카메라 리소스의 동작을 제어하기 위해 상태 기계(400)에 설명된 소정의 기능을 실행하기 위한 명령을 보낸다. 따라서, 애플리케이션은 스냅샷 및 비디오를 획득하거나, 장치에 대해 유용한 카메라 리소스의 타입과 무관하게 카메라 파라미터를 제어한다. 그 결과로, 카메라 시스템은 장치의 카메라 리소스와 애플리케이션 사이의 소정의 잠재적인 호환성 문제를 제거하기 위해 동작한다.
블록(514)에서, 애플리케이션이 카메라 기능을 실행하는 것을 완료한 후, ICamera 시스템은 더 이상 필요치 않으며 릴리스된다.
방법(500)은 단지 예일 뿐이며 본 실시예의 사상에서 벗어나지 않고 방법 단계를 변경, 추가, 삭제 및/또는 재정렬하는 것이 가능하다는 것을 이해해야 한다.
구현예
이하는 ICamera 시스템이 어떻게 인스턴스화되고 카메라 리소스가 휴대용 장치에 다운로딩된 애플리케이션에 의해 어떻게 제어되는 지를 설명하는 실시예이다. 상기 예는 도 5의 방법(500)에서 대응하는 블록에 대한 기준을 포함하고 있으며, 휴대용 장치에 의해 사용된 런타임 환경은 BREW 환경이라고 가정된다. 예에서, "CApp"는 BREW 애플릿 글로벌 구조의 예이다.
Figure 112005055705810-PCT00002
멀티 카메라 리소스
일 실시예에서, ICamera 시스템은 애플리케이션이 단일 장치에 대해 멀티 카메라 리소스를 제어하게 하도록 동작한다. 예를 들어, 장치는 스틸 이미지를 얻기 위해 저해상도의 카메라를 포함하고, 비디오 클립을 얻기 위해 고해상도의 카메라를 포함할 수도 있다. 이러한 실시예에서, ICamera 시스템의 두 버젼은 애플리케이션이 두 카메라 리소스를 제어하도록 인스턴스화될 수 있다. 예를 들어, 하나의 ICamera API는 저해상도 카메라를 제어하기 위해 애플리케이션에 의해 사용되고, 다른 하나의 ICamera API는 고해상도 카메라를 제어하기 위해 애플리케이션에 의해 사용된다. 예를 들어, 하나의 카메라가 영상 전화를 위해 사용될 수 있으며, 다른 카메라가 DSC/캠코더를 위해 사용될 수 있다.
설명의 명료화를 위해, 장치에 대한 두개 이상의 ICamera 시스템을 도시하는 도면은 제공되지 않는다. 그러나, 각각의 ICamera 시스템은 본 명세서에 설명된 대로 동작하며, 도면은 예비용이며 필수적이지 않다. 동작 동안, 애플리케이션은 제 1 및 제 2 버젼의 ICamera 시스템을 인스턴스화하여, 제 1 및 제 2 ICamera API를 활성화시킨다. 그 후, 애플리케이션은 대응하는 카메라 리소스를 제어하기 위해 API 중 어느 하나와 관련한 명령을 실행한다. 따라서 ,ICamera 시스템의 실시예는 애플리케이션이 실질적으로 장치에 대한 소정 수의 카메라 리소스를 제어하도록 사용될 수 있다.
하나 이상의 실시예에서, 애플리케이션이 내장된 제어기를 갖는 리소스 제한 휴대용 장치에 대해 하나 이상의 카메라 리소스를 제어하게 동작하는 방법 및 방치를 포함하는 카메라 시스템이 설명된다. 결론적으로, 본 방법 및 장치의 하나 이상의 실시예가 도시되고 설명되지만, 다양한 변경이 본 발명의 특성 및 사상을 벗어나지 않고 행해질 수 있다. 따라서, 본 명세서의 설명 및 실시예는 단지 예일 뿐 본원 발명을 한정하지 않는다.

Claims (24)

  1. 휴대용 장치에서 애플리케이션이 카메라 리소스를 제어하게 하도록 카메라 시스템을 동작시키는 방법으로서,
    상기 카메라 리소스를 제어하도록 동작하는 상기 카메라 시스템을 활성화시키는 단계;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 애플리케이션 프로그램 인터페이스(API)를 제공하는 단계;
    상기 API를 통해 상기 애플리케이션으로부터 실행될 카메라 기능을 식별하는 명령을 수신하는 단계; 및
    상기 명령에 의해 식별된 상기 카메라 기능을 실행하는 단계를 포함하는, 카메라 시스템 동작 방법.
  2. 제 1 항에 있어서, 상기 활성화 단계는 상기 카메라 시스템이 상기 카메라 리소스와 인터페이스하는 하나 이상의 네이티브 모듈과 인터페이싱하는 단계를 포함하는 것을 특징으로 하는 카메라 시스템 동작 방법.
  3. 제 1 항에 있어서, 상기 카메라 리소스로부터 얻어진 데이터를 저장하는 미디어 데이터 구조를 생성하는 단계를 더 포함하는 것을 특징으로 하는 카메라 시스템 동작 방법.
  4. 제 1 항에 있어서, 상기 카메라 기능의 실행 단계는,
    상기 카메라 리소스와 관련한 기능들을 식별하는 상태 기계를 제공하는 단계; 및
    상기 카메라 기능을 실행하기 위해 상기 명령에 기초하여 상기 상태 기계를 조정하는 단계를 포함하는 것을 특징으로 하는 카메라 시스템 동작 방법.
  5. 제 1 항에 있어서, 상기 휴대용 장치는 제 2의 카메라 리소스를 포함하며, 상기 방법은,
    상기 제 2의 카메라 리소스를 제어하도록 동작하는 제 2의 카메라 시스템을 활성화시키는 단계;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 제 2의 애플리케이션 프로그램 인터페이스(API)를 제공하는 단계;
    상기 제 2의 API를 통해 상기 애플리케이션으로부터 상기 제 2의 카메라 리소스에 의해 실행될 카메라 기능을 식별하는 제 2의 명령을 수신하는 단계; 및
    상기 제 2의 명령에 의해 식별된 카메라 기능을 실행하는 단계를 포함하는 것을 특징으로 하는, 카메라 시스템 동작 방법.
  6. 제 1 항에 있어서, 상기 휴대용 장치는 무선 장치인 것을 특징으로 하는 카메라 시스템 동작 방법.
  7. 휴대용 장치에서 애플리케이션이 카메라 리소스를 제어하게 하도록 카메라 시스템을 동작시키는 장치로서,
    상기 카메라 리소스를 제어하도록 동작하는 상기 카메라 시스템을 활성화시키는 수단;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 애플리케이션 프로그램 인터페이스(API)를 제공하는 수단;
    상기 API를 통해 상기 애플리케이션으로부터 실행될 카메라 기능을 식별하는 명령을 수신하는 수단; 및
    상기 명령에 의해 식별된 상기 카메라 기능을 실행하는 수단을 포함하는, 카메라 시스템 동작 장치.
  8. 제 7 항에 있어서, 상기 활성화 수단은 상기 카메라 시스템이, 상기 카메라 리소스와 인터페이스하는 하나 이상의 네이티브 모듈과 인터페이싱하는 수단을 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  9. 제 7 항에 있어서, 상기 카메라 리소스로부터 얻어진 데이터를 저장하는 미디어 데이터 구조를 생성하는 수단을 더 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  10. 제 7 항에 있어서, 상기 카메라 기능을 실행하는 수단은,
    상기 카메라 리소스와 관련한 기능들을 식별하는 상태 기계를 제공하는 수단; 및
    상기 카메라 기능을 실행하기 위해 상기 명령에 기초하여 상기 상태 기계를 조정하는 수단을 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  11. 제 7 항에 있어서, 상기 휴대용 장치는 제 2의 카메라 리소스를 포함하며, 상기 장치는,
    상기 제 2의 카메라 리소스를 제어하도록 동작하는 제 2의 카메라 시스템을 활성화시키는 수단;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 제 2의 애플리케이션 프로그램 인터페이스(API)를 제공하는 수단;
    상기 제 2의 API를 통해 상기 애플리케이션으로부터 실행될 제 2의 카메라 리소스에 의해 실행될 카메라 기능을 식별하는 제 2의 명령을 수신하는 수단; 및
    상기 제 2의 명령에 의해 식별된 상기 카메라 기능을 실행하는 수단을 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  12. 제 7 항에 있어서, 상기 휴대용 장치는 무선 장치인 것을 특징으로 하는 카메라 시스템 동작 장치.
  13. 휴대용 장치의 프로세서에 의해 실행될 때, 애플리케이션이 상기 휴대용 장치의 카메라 리소스를 제어하게 하는 카메라 시스템을 제공하도록 동작하는 명령들을 포함하는 컴퓨터 판독가능 매체로서,
    상기 카메라 리소스를 제어하도록 동작가능한 상기 카메라 시스템을 활성화시키기 위한 명령들;
    상기 애플리케이션으로부터 API 명령들을 수신하기 위해 애플리케이션 프로그램 인터페이스(API)를 제공하기 위한 명령들;
    상기 API를 통해 상기 애플리케이션으로부터 실행될 카메라 기능을 식별하는 API 명령을 수신하기 위한 명령들; 및
    상기 API 명령에 의해 상기 식별된 카메라 기능을 실행하기 위한 명령들을 포함하는, 컴퓨터 판독가능 매체.
  14. 제 13 항에 있어서, 상기 활성화시키기 위한 명령들은 상기 카메라 시스템이, 상기 카메라 리소스와 인터페이스하는 하나 이상의 네이티브 모듈과 인터페이싱하기 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  15. 제 13 항에 있어서, 상기 카메라 리소스로부터 얻어진 데이터를 저장하는 미디어 데이터 구조를 생성하기 위한 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  16. 제 13 항에 있어서, 실행을 위한 명령들은,
    상기 카메라 리소스와 관련한 기능들을 식별하는 상태 기계를 제공하기 위한 명령들; 및
    상기 카메라 기능을 실행하기 위해 상기 API 명령에 기초하여 상기 상태 기계를 조정하기 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  17. 제 13 항에 있어서, 상기 휴대용 장치는 제 2의 카메라 리소스를 포함하며, 상기 판독가능 매체는,
    상기 제 2의 카메라 리소스를 제어하도록 동작하는 제 2의 카메라 시스템을 활성화시키기 위한 명령들;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 제 2의 애플리케이션 프로그램 인터페이스(API)를 제공하기 위한 명령들;
    상기 제 2의 API를 통해 상기 애플리케이션으로부터 상기 제 2의 카메라 리소스에 의해 실행될 카메라 기능을 식별하는 제 2의 API 명령을 수신하기 위한 명령들; 및
    상기 제 2의 API 명령에 의해 식별된 상기 카메라 기능을 실행하기 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  18. 제 13 항에 있어서, 상기 휴대용 장치는 무선 장치인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  19. 휴대용 장치에서 애플리케이션이 카메라 리소스를 제어하도록 카메라 시스템을 동작시키는 장치로서,
    상기 카메라 리소스를 제어하도록 동작하는 상기 카메라 시스템을 활성화시키기 위한 로직;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 애플리케이션 프로그램 인터페이스(API)를 제공하기 위한 로직;
    상기 API를 통해 상기 애플리케이션으로부터 실행될 카메라 기능을 식별하는 명령을 수신하기 위한 로직; 및
    상기 명령에 의해 식별된 상기 카메라 기능을 실행하기 위한 로직을 포함하는, 카메라 시스템 동작 장치.
  20. 제 19 항에 있어서, 상기 활성화시키기 위한 로직은 상기 카메라 시스템이, 상기 카메라 리소스와 인터페이스하기 위한 하나 이상의 네이티브 모듈과 인터페이싱하는 로직을 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  21. 제 19 항에 있어서, 상기 카메라 리소스로부터 얻어진 데이터를 저장하는 미디어 데이터 구조를 생성하기 위한 로직을 더 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  22. 제 19 항에 있어서, 상기 카메라 기능을 실행하기 위한 로직은,
    상기 카메라 리소스와 관련한 기능들을 식별하는 상태 기계를 제공하기 위한 로직; 및
    상기 카메라 기능을 실행하기 위해 상기 명령에 기초하여 상기 상태 기계를 조정하기 위한 로직을 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  23. 제 19 항에 있어서, 상기 휴대용 장치는 제 2의 카메라 리소스를 포함하며, 상기 장치는,
    상기 제 2의 카메라 리소스를 제어하도록 동작하는 제 2의 카메라 시스템을 활성화시키기 위한 로직;
    상기 애플리케이션으로부터 명령들을 수신하기 위해 제 2의 애플리케이션 프로그램 인터페이스(API)를 제공하기 위한 로직;
    상기 제 2의 API를 통해 상기 애플리케이션으로부터 상기 제 2의 카메라 리소스에 의해 실행될 카메라 기능을 식별하는 제 2의 명령을 수신하기 위한 로직; 및
    상기 제 2의 명령에 의해 식별된 상기 카메라 기능을 실행하기 위한 로직을 포함하는 것을 특징으로 하는 카메라 시스템 동작 장치.
  24. 제 19 항에 있어서, 상기 휴대용 장치는 무선 장치인 것을 특징으로 하는 카메라 시스템 동작 장치.
KR1020057018730A 2003-04-25 2004-04-26 휴대용 장치에서 카메라 리소스를 제어하는 시스템 KR20060023954A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US60/465,533 2003-04-02
US46553303P 2003-04-25 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 (1)

Publication Number Publication Date
KR20060023954A true KR20060023954A (ko) 2006-03-15

Family

ID=34138431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057018730A KR20060023954A (ko) 2003-04-25 2004-04-26 휴대용 장치에서 카메라 리소스를 제어하는 시스템

Country Status (14)

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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100628771B1 (ko) 2005-06-21 2006-10-02 엘지전자 주식회사 브루 플랫폼을 사용하는 이동통신 단말기의 프리로드어플리케이션 탑재 방법
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 富士通株式会社 通信方法、情報処理装置、及びプログラム
US10212326B2 (en) 2016-11-18 2019-02-19 Microsoft Technology Licensing, Llc Notifications for control sharing of camera resources

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001526847A (ja) * 1996-09-30 2001-12-18 フラッシュポイント テクノロジー インコーポレイテッド デジタルカメラに支持されたメディアタイプを拡張するための方法及びシステム
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
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 日本電気株式会社 携帯端末
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods

Also Published As

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

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
KR100890236B1 (ko) 카메라핸드폰을 컴퓨터의 카메라로 사용하여비디오데이터를 취득하는 방법
JP2010288301A (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
WO2006070262A1 (en) Maintenance of shortcut keys in a mobile device
CN104281478B (zh) 更新应用程序的方法及装置
JP2023506936A (ja) マルチ画面共働方法およびシステム、ならびに電子デバイス
CN110865837B (zh) 一种进行系统升级的方法和终端
KR20060023954A (ko) 휴대용 장치에서 카메라 리소스를 제어하는 시스템
RU2316907C2 (ru) Система воспроизведения мультимедиа в портативном устройстве
CN113055585B (zh) 拍摄界面的缩略图显示方法及移动终端
CN116700601B (zh) 内存优化方法、设备及存储介质
CN113079332B (zh) 移动终端及其录屏方法
CN113642010B (zh) 一种获取扩展存储设备数据的方法及移动终端
CN113626099A (zh) 应用程序的启动方法、装置及电子设备
WO2023061298A1 (zh) 一种图片备份系统、方法与设备
WO2023123787A1 (zh) 图像处理方法、装置、电子设备及存储介质
US20240220184A1 (en) Screen projection method and related apparatus
CN116957906A (zh) 图像处理系统、方法、电子设备、可读存储介质和芯片
JP2024521564A (ja) 画面投影方法及び関連装置
CN114979451A (zh) 图像预览方法及装置、存储介质
CN117978907A (zh) 一种数据处理方法、电子设备及介质
CN117130516A (zh) 一种显示方法及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application