KR20130034832A - 기능 확장 지원 방법 및 이를 지원하는 단말기 - Google Patents

기능 확장 지원 방법 및 이를 지원하는 단말기 Download PDF

Info

Publication number
KR20130034832A
KR20130034832A KR1020110098925A KR20110098925A KR20130034832A KR 20130034832 A KR20130034832 A KR 20130034832A KR 1020110098925 A KR1020110098925 A KR 1020110098925A KR 20110098925 A KR20110098925 A KR 20110098925A KR 20130034832 A KR20130034832 A KR 20130034832A
Authority
KR
South Korea
Prior art keywords
function
camera
supporting
extension
module
Prior art date
Application number
KR1020110098925A
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110098925A priority Critical patent/KR20130034832A/ko
Priority to US13/568,571 priority patent/US9280368B2/en
Priority to EP12184011A priority patent/EP2575038A1/en
Priority to CN2012103694763A priority patent/CN103034531A/zh
Publication of KR20130034832A publication Critical patent/KR20130034832A/ko

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user 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
    • 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/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Studio Devices (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 단말기에 장착된 장치 관련 사용자 기능 확장에 관한 것으로, 특히 본 발명은 특정 장치관련 사용자 기능 활성화를 위한 입력 신호 수신 과정, 상기 사용자 기능 활성화 시 장치 운용을 위해 제공되는 기본 기능 지원 통로를 형성하고, 상기 장치의 확장 기능 운용을 위한 입력 신호 수신 시 확장 기능 지원을 위한 확장 기능 지원 통로를 형성하는 형성 과정, 상기 확장 기능 운용을 위한 입력 신호 수신에 따라 확장 기능 운용을 위한 명령을 상기 확장 기능 지원 통로를 통하여 전달하는 과정을 포함하는 것을 특징으로 하는 기능 확장 지원 방법 및 이를 지원하는 단말기의 구성을 개시한다.

Description

기능 확장 지원 방법 및 이를 지원하는 단말기{Expansion Function Supporting Method And Electric Device supporting the same}
본 발명은 단말기의 기능 확장에 관한 것으로, 특히 단말기에 마련된 다양한 장치들의 기능을 확장 지원할 수 있도록 하는 기능 확장 지원 방법 및 이를 지원하는 단말기에 관한 것이다.
휴대 단말기는 이동성을 기반으로 통화 기능을 지원하는 단말기로서, 그 이용의 편리성과 휴대의 용이성 등으로 인하여 매우 폭넓은 분야에서 이용되고 있다. 이러한 휴대 단말기는 사용자 기능 제공을 위하여 다양한 입력 방식을 제공하고 있다. 예를 들어, 종래 휴대 단말기는 터치 패널과 표시부를 포함하는 터치스크린을 제공함에 따라 사용자가 표시부에 출력되는 특정 이미지를 선택하기 위하여 수행하는 동작을 터치 패널에서 처리할 수 있다. 그리고 상기 휴대 단말기는 해당 사용자 동작에 따른 터치 이벤트를 생성하고, 이를 기반으로 사용자 기능에 대응하는 응용 프로그램을 제어하고 있다.
한편, 휴대 단말기 사용자는 휴대 단말기 이용 중에 이미지 수집을 위하여 카메라 기능을 지원하고 있다. 이에 따라 사용자는 휴대 단말기의 카메라 기능을 이용하여 다양한 이미지를 수집하고 이를 전송하는 등의 서비스를 이용하고 있다. 그런데 종래 휴대 단말기의 경우 카메라가 제공하는 기능에 한계가 있어 사용자의 다양한 니즈를 충족시켜주지 못하고 있는 실정이다. 예를 들어 종래 카메라 기능에서 동영상을 수집하는 녹화 기능은 단순히 녹화를 시작하는 기능과 녹화를 종료하는 기능만을 제공하고 있다. 따라서 사용자는 녹화 중에 특별한 사용자 기능을 이용하고 싶어도 할 수 없는 상태에 있다. 또한 종래 휴대 단말기는 사용자가 원하는 카메라 기능을 새로 설계하거나 구축하고자 하는 경우 기존 기능과의 충돌이나 예기치 못한 문제점을 발생시키고 있다. 이에 따라 충돌이나 이상 효과의 발생 없이 새로운 기능의 추가나 조정 등의 요구를 충족시킬 수 있는 기술의 개발이 요구되고 있다.
따라서 본 발명의 목적은 단말기에 장착된 다양한 장치들의 기능 운용을 보다 다양화 할 수 있도록 지원하는 기능 확장 지원 방법 및 이를 지원하는 단말기를 제공함에 있다.
또한 본 발명의 목적은 단말기에 장착된 다양한 장치들의 기본 기능과의 충돌 없이 새로운 기능의 추가를 보다 유연하게 할 수 있도록 하며 명령어 처리 등을 보다 원활하고 신속하게 할 수 있도록 하는 기능 확장 지원 방법 및 이를 지원하는 단말기를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 특정 장치 예를 들면 카메라 기능 확장을 지원하는 단말기는 이미지 수집 기능을 지원하는 카메라, 상기 카메라 활성화 시 카메라 운용을 위해 제공되는 기본 기능 지원 통로와, 상기 카메라의 확장 기능 운용을 위해 제공되는 확장 기능 지원 통로를 위한 모듈들을 저장하는 저장부, 상기 카메라 운용을 위한 입력 신호를 생성하는 입력부 및 터치스크린 중 적어도 하나, 상기 입력 신호 생성에 따라 기본 기능 지원 통로를 위한 모듈을 운용하거나 확장 기능 지원 통로를 위한 모듈들을 운용하는 제어부를 포함하는 것을 특징으로 한다.
또한 본 발명은 특정 장치의 사용자 기능 예를 들면 이미지 수집 기능을 지원하는 카메라 활성화를 위한 입력 신호 수신 과정, 상기 카메라 활성화 시 카메라 운용을 위해 제공되는 기본 기능 지원 통로를 형성하고, 상기 카메라의 확장 기능 운용을 위한 입력 신호 수신 시 확장 기능 지원을 위한 확장 기능 지원 통로를 형성하는 형성 과정, 상기 확장 기능 운용을 위한 입력 신호 수신에 따라 확장 기능 운용을 위한 명령을 상기 확장 기능 지원 통로를 통하여 전달하는 과정을 포함하는 기능 확장 지원 방법의 구성을 개시한다.
본 발명의 실시 예에 따른 기능 확장 지원 방법 및 이를 지원하는 단말기에 따르면, 본 발명은 단말기에 장착된 다양한 장치들의 기본 기능과의 충돌 없이 사용자가 원하는 장치의 새로운 기능을 추가 확장할 수 있도록 하며, 장치의 기능 수행을 위한 데이터 처리를 보다 효과적이며 원활하게 할 수 있도록 지원한다.
도 1은 본 발명의 실시 예에 따른 단말기의 구성을 개략적으로 나타낸 도면,
도 2는 도 1의 제어부 구성의 일예를 상세히 나타낸 도면,
도 3은 본 발명의 실시 예에 따른 제어부 구성을 보다 상세히 나타낸 도면,
도 4는 본 발명의 실시 예에 따른 단말기의 화면 인터페이스의 일예를 나타낸 도면,
도 5는 본 발명의 실시 예에 따른 기능 확장 지원 방법을 설명하기 위한 순서도.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명의 실시 예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
설명에 앞서, 이하 설명에서 단말기에 장착된 장치를 카메라를 대표로 하여 설명하기로 한다. 그러나 본 발명의 기능 확장 지원 방법은 카메라 기능에 한정되는 것은 아니며 단말기에 장착된 다른 장치들 예를 들면 단말기의 동작 상태를 감지하는 적어도 하나의 센서, 오디오 데이터를 수집하는 녹음 기능의 마이크, 방송 데이터 수신 기능을 지원하는 방송 수신 모듈 등에도 적용 가능할 것이다. 이에 따라 이하 도 1에서 단말기는 카메라뿐만 아니라 상술한 각 구성들도 추가된 형태로 구현될 수 있다.
도 1은 본 발명의 실시 예에 따른 단말기 구성을 개략적으로 나타낸 블록도이다.
상기 도 1을 참조하면, 본 발명의 단말기(100)는 통신부(110), 입력부(120), 오디오 처리부(130), 터치스크린(140), 저장부(150), 카메라(170) 및 제어부(160)의 구성을 포함할 수 있다.
이와 같은 구성을 가지는 본 발명의 단말기(100)는 카메라(170) 운용 과정에서 카메라의 확장 기능 운용을 위하여 기본 카메라 기능을 지원하는 기본 기능용 API와 독립적인 새로운 확장 기능용 API(Application Programming Interface)를 제공한다. 이에 따라 본 발명의 단말기(100)는 카메라(170) 운용에 있어서 기본 기능과의 충돌이나 예기치 못한 효과(side effect)의 발현 없이 사용자가 요구하는 다양한 카메라 확장 기능을 제공할 수 있다. 특히 본 발명의 단말기(100)는 사용자가 요구하는 카메라 확장 기능을 상술한 확장 기능용 API를 기반으로 정의하고, 이때 확장 기능 운용을 위한 데이터 전달 경로를 확장 기능용 API에서 기능 제어 모듈에 바로 전달될 수 있도록 설계한다. 이에 따라 본 발명의 단말기(100)는 용이한 기능 확장성과 간편한 운용성을 제공하여 다양한 카메라(170) 운용을 수행할 수 있도록 지원할 수 있다. 즉 본 발명의 단말기(100)는 카메라(170) 운용을 위해 기본 기능 지원 통로와 확장 기능 지원 통로를 각각 마련하여 확장 기능 지원 요구 시 확장 기능 지원 통로를 개설하고 이를 기반으로 확장 기능 운용에 필요한 데이터 전달을 수행하도록 제어할 수 있다.
상기 통신부(110)는 음성 통화를 위한 통신 채널 형성 및 화상 통화를 위한 통신 채널 형성, 영상이나 메시지 등의 데이터 전송을 위한 통신 채널 형성 등을 제어부(160)의 제어 하에 수행한다. 즉, 통신부(110)는 음성 통화 채널, 데이터 통신 채널 및 화상 통화 채널을 이동통신 시스템 간에 형성한다. 이를 위하여 상기 통신부(110)는 송신되는 신호의 주파수를 상승변환 및 증폭하는 무선주파수 송신부와, 수신되는 신호의 주파수를 저잡음 증폭 및 하강 변환하는 무선주파수 수신부 등을 포함할 수 있다. 본 발명의 통신부(110)는 상기 카메라(170)가 수집한 다양한 이미지 정보를 사용자 제어에 따라 다른 단말기에 전송하도록 지원할 수 있다. 또한 상기 통신부(110)는 다른 단말기로부터 수집된 이미지 정보를 수신하기 위한 통신 채널을 형성할 수 있다. 특히 본 발명의 통신부(110)는 카메라 확장 기능 추가를 위한 기능 블록 데이터들을 외부로부터 수신하고, 수신된 데이터들을 제어부(160)에 전달할 수 있다. 상술한 통신부(110)는 본 발명의 단말기(100)가 특정 통신 기능을 지원하지 않는 경우 제외될 수 있는 구성이다.
상기 입력부(120)는 숫자 또는 문자 정보를 입력받고 각종 기능들을 설정하기 위한 다수의 입력키 및 기능키들을 포함한다. 상기 기능키들은 특정 기능을 수행하도록 설정된 방향키, 사이드 키 및 단축키 등을 포함할 수 있다. 또한 상기 입력부(120)는 사용자 설정 및 단말기(100)의 기능 제어와 관련한 키 신호를 생성하고 상기 제어부(160)로 전달한다. 이러한 입력부(120)는 단말기(100)의 표시부 형태가 터치스크린(140)으로 구성된 경우 터치스크린(140) 상에 출력되는 다수개의 키들을 포함하는 쿼티 키맵, DVORAK 키맵, 3*4 키맵, 4*3 키맵 등으로 구현될 수 있다. 특히 상기 입력부(120)는 카메라(170) 운용 중에 카메라(170) 제어를 위한 제어 키맵으로 구현될 수 있다. 상기 입력부(120)는 카메라(170) 활성화를 위한 입력 신호, 이미지 캡처 또는 녹화 기능 활성화를 위한 입력 신호, 녹화 기능 활성화 중에 녹화 잠시 멈춤을 위한 입력 신호, 잠시 멈춰진 녹화를 재실행하기 위한 입력 신호 등을 사용자 제어에 따라 생성할 수 있다. 또한 상기 입력부(120)는 프리뷰 이미지의 특정 지점을 자동 포커싱하도록 지시하기 위한 입력 신호, 녹화 중 이미지를 특정 단말기로 바로 전송하도록 지시하기 위한 입력 신호, 녹화 중 오디오 수집 기능 온/오프 지시를 위한 입력 신호 등을 사용자 제어에 따라 생성할 수 있다. 생성된 입력 신호는 제어부(160)에 전달되어 본 발명의 카메라 확장 기능을 위한 명령어로 이용될 수 있다.
오디오 처리부(130)는 통화 시 송수신 되는 오디오 데이터, 메시지에 포함된 오디오 데이터, 저장부(150)에 저장된 오디오 데이터 등을 출력하기 위한 스피커(SPK)와, 통화 시 사용자의 음성 또는 기타 오디오 신호를 수집하기 위한 마이크(MIC)를 포함한다. 이러한 오디오 처리부(130)는 카메라(170) 기능 운용과 관련된 다양한 안내음이나 효과음을 출력할 수 있다. 특히 본 발명의 오디오 처리부(130)는 확장 기능과 관련된 기능 키 선택 시 해당 기능키에 대한 안내음이나 효과음을 출력할 수 있다. 이러한 카메라 기능 확장과 관련된 기능키에 대한 오디오 데이터를 출력은 사용자 요청에 따라 생략될 수 도 있다.
상기 터치스크린(140)은 표시 패널(141)과 터치 패널(143)을 포함한다. 이러한 터치스크린(140)은 표시 패널(141) 전면에 터치 패널(143)이 배치되는 구조를 가질 수 있다.
상기 표시 패널(141)은 단말기(100)의 각종 메뉴를 비롯하여 사용자가 입력한 정보 또는 사용자에게 제공하는 정보를 표시한다. 즉 표시 패널(141)은 단말기(100) 이용에 따른 다양한 화면 예를 들면, 대기화면, 메뉴 화면, 메시지 작성 화면, 통화 화면 등을 제공할 수 있다. 이러한 표시 패널(141)은 액정 표시 장치(Liquid Crystal Display), OLED(Organic Light Emitted Diode) 등으로 형성될 수 있다. 그리고 표시 패널은 터치 패널 상부 또는 하부에 배치될 수 있다.
특히, 본 발명의 표시 패널(141)은 카메라(170) 운용과 관련된 다양한 화면을 제공할 수 있다. 예를 들어 표시 패널(141)은 카메라(170) 운용 기능 중 정지 영상 수집을 위한 프리뷰 화면, 프리뷰 화면 출력 상태에서 특정 피사체 또는 특정 시점의 영상을 수집하기 위한 입력 신호 생성에 따라 수집된 영상화면, 수집된 영상을 저장하거나 삭제하기 위한 화면 등을 출력할 수 있다. 또한 본 발명의 표시 패널(141)은 카메라(170) 기능 운용 중 동영상 수집을 위한 프리뷰 화면, 동영상 수집을 위한 입력 신호 발생 시 동영상을 수집하는 녹화 화면, 수집 완료된 동영상의 저장이나 삭제, 전송 또는 기타 처리를 위한 다양한 메뉴 항목을 포함하는 항목을 출력할 수 있다.
여기서 녹화 화면은 다양한 확장 기능을 지원하는 기능키들에 대응하는 키맵을 포함할 수 있다. 즉 상기 표시 패널(141)은 녹화 화면 출력 시 잠시 멈춤 기능키맵, 잠시 멈춰진 녹화를 재실행하기 위한 기능키맵, 녹화 중 이미지 전송을 위한 기능키맵, 녹화 중 오디오 수집 관련 기능 제어를 위한 기능키맵 등을 포함하도록 출력할 수 있다. 그리고 표시 패널(141)은 녹화 중 화면에서 특정 지점을 터치하는 터치 이벤트가 생성 시 해당 터치 지점을 중심으로 자동 포커싱되는 화면, 자동 포커싱과 함께 계속 녹화 중인 화면 등을 출력할 수 있다.
상기 터치 패널(143)은 상기 표시 패널(141)의 상하부 중 적어도 한 곳에 배치되며 터치 물체 예를 들면 사용자 손가락 접촉에 따라 터치 이벤트를 생성하고, 생성된 터치 이벤트를 제어부(160)에 전달할 수 있다. 이때, 터치 패널(143)을 구성하는 센서는 매트릭스 형태로 배열되고, 터치 패널 상에서 발생하는 터치 이벤트에 대하여 해당 위치 정보와 터치 이벤트의 종류에 대한 정보가 제어부(160)에 전달된다. 특히 상기 터치 패널(143)은 상술한 다양한 기능키맵에서의 터치 이벤트 생성과, 자동 포커싱 지원을 위한 특정 지점의 터치 이벤트 수집을 지원할 수 있다. 터치 패널(143)에서 수집된 터치 이벤트는 해당 위치에 할당된 기능키맵에 대응하는 명령어 데이터로 변환된 뒤 제어부(160)에 전달될 수 있다. 또한 자동 포커싱 지원을 위해서 상기 터치 패널(143)은 해당 기능키에 대응하는 명령어 데이터와 터치 이벤트 위치 정보를 제어부(160)에 전달할 수 있다.
상기 저장부(150)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 상기 터치스크린(140) 운용을 위한 키 맵이나 메뉴 맵 등을 저장할 수 있다. 여기서 키 맵, 메뉴 맵은 각각 다양한 형태가 될 수 있다. 이러한 상기 저장부(150)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다.
상기 프로그램 영역은 단말기(100)의 부팅 및 상술한 각 구성의 운용을 위한 운영체제(OS, Operating System), 단말기(100)의 다양한 사용자 기능 지원을 위한 응용 프로그램 예를 들면 다양한 파일을 재생하기 위한 응용 프로그램, 상기 단말기(100)의 통화기능 지원을 위한 응용 프로그램, 인터넷 서버에 접속하기 위한 웹 브라우저, 기타 음원을 재생하기 위한 MP3 응용 프로그램, 사진 등을 검색하기 위한 이미지 출력 응용 프로그램, 동영상 재생 응용 프로그램 등을 저장할 수 있다. 특히, 본 발명의 프로그램 영역은 카메라 기능 확장 지원 프로그램(151)을 저장할 수 있다.
카메라 기능 확장 지원 프로그램(151)은 카메라(170) 기능 운용 시 기본 기능 지원을 위한 루틴과 확장 기능 지원을 위한 루틴을 포함할 수 있다. 여기서 기본 기능 지원 루틴은 단말기(100)가 최초 부팅되는 단계에서 기능 실행을 위해 배치된 메모리에 로드된 후, 카메라(170) 기능 활성화를 요청하는 입력 신호 발생 시 제어부(160) 제어에 따라 해당 기능 수행을 지원할 수 있다. 확장 기능 지원 루틴은 카메라(170) 기능 운용 중에 확장 기능이 포함된 특정 기능 예를 들면 녹화 기능을 운용하기 위한 입력 신호가 발생하면 저장부(150)로부터 기능 실행을 위해 배치된 메모리에 로드된 후 제어부(160) 제어에 따라 확장 기능을 운용하도록 지원할 수 있다. 이에 따라 본 발명의 카메라 기능 확장 지원 프로그램(151)은 기능 실행을 위해 배치된 메모리에 고정적으로 로드되지 않고, 해당 확장 기능 운용 시에만 로드됨으로 메모리 운용을 보다 효율적으로 수행할 수 있도록 지원한다. 상기 확장 기능 지원 루틴은 녹화 기능 운용 시 녹화 중 잠시 멈춤 기능, 재녹화 기능, 녹화 중 오디오 제어 기능, 녹화 중 데이터 전송 기능 등을 지원하는 다양한 서브루틴들을 포함한다. 확장 기능 지원 루틴에 의하여 형성되는 기능 모듈들에 대해서는 제어부(160) 설명과 함께 보다 상세히 설명하기로 한다.
상기 데이터 영역은 단말기(100) 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 폰 북 데이터, 위젯 기능에 따른 적어도 하나의 아이콘들 및 다양한 컨텐츠들을 저장할 수 있다. 또한 상기 데이터 영역은 상기 터치 패널(143)을 통하여 입력되는 사용자 입력을 저장할 수 있다. 특히 상기 데이터 영역은 카메라 확장 기능 운용에 따라 현재 녹화 중인 이미지들을 임시 저장할 수 있다. 예를 들어 카메라(170)를 기반으로 녹화 기능 수행 중에 잠시 멈춤 기능이 활성화되면 데이터 영역은 현재까지 수집된 영상을 임시 저장할 수 있다. 이후 재녹화 기능이 활성화되면 데이터 영역은 현재까지 수집된 영상에 이어서 이후 녹화되는 영상을 함께 저장할 수 있다.
상기 제어부(160)는 상기 단말기(100)의 각 구성에 전원 공급을 제어하여 초기화 과정을 수행하도록 지원한다. 그리고 상기 제어부(160)는 상기 단말기(100)의 카메라 확장 기능 지원을 위한 다양한 신호 흐름을 제어할 수 있다. 이를 위하여 상기 제어부(160)는 도 2에 도시된 바와 같은 구성을 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 제어부(160) 구성을 보다 상세히 나타낸 도면이다.
상기 도 2를 참조하면, 본 발명의 제어부(160)는 사용자 기능 수행부(210), 인터페이스 모듈(220), 경로 생성 모듈(230), 기능 제어 모듈(240), 제어 전달 모듈(250)을 포함하며 추가적으로 기능 갱신 모듈(260)을 더 포함할 수 있다.
사용자 기능 수행부(210)는 입력부(120) 또는 터치스크린(140)으로부터 입력되는 입력 신호에 의하여 특정 사용자 기능이 선택되면, 선택된 사용자 기능에 대응하는 어플리케이션을 호출하여 운용하는 구성이다. 선택된 어플리케이션은 기능 실행을 위한 메모리에 배치되고 사용자 기능 수행부(210) 제어에 따라 특정 사용자 기능을 지원할 수 있다. 예를 들어 사용자가 카메라(170) 기능 활성화를 위한 메뉴나 위젯 등을 선택하는 경우 사용자 기능 수행부(210)는 카메라(170) 기능을 지원하는 어플리케이션을 메모리에 로드한 후 활성화하여 카메라(170) 관련 기능을 지원하도록 제어할 수 있다. 이때 사용자 기능 수행부(210)는 카메라(170) 활성화와 함께 카메라(170)를 통해 투사된 영상을 프리뷰 영상으로 터치스크린(140)에 출력하도록 지원하고, 영상 수집을 위한 셔터키 입력 신호가 발생하면 해당 입력 신호 발생 시점에 영상을 수집하도록 제어할 수 있다. 이와 함께 사용자 기능 수행부(210)는 카메라(170)의 설정 환경을 조절할 수 있는 다양한 기능을 지원할 수 있다. 또한 사용자 기능 수행부(210)는 센서 기반의 사용자 기능이 선택되면, 선택된 사용자 기능에 대응하는 어플리케이션을 호출하여 운용할 수 도 있다.
한편 제어부(160)는 카메라(170) 기본 기능 운용을 위하여 사용자 기능 수행부(210) 하부에 인터페이스 모듈(220)을 배치하며, 인터페이스 모듈(220) 하부에 경로 생성 모듈(230)을, 경로 생성 모듈(230) 하부에 기능 제어 모듈(240)을, 기능 제어 모듈(240) 하부에 제어 전달 모듈(250)을 배치할 수 있다. 이에 따라 사용자 기능 수행부(210)는 특정 장치 예를 들면 카메라(170) 기능 운용을 위한 명령어를 하부 인터페이스 모듈(220)에 전달할 수 있고, 인터페이스 모듈(220)은 수신된 명령어를 하부 경로 생성 모듈(230)에 적용될 수 있는 언어로 변환하여 전달한다. 이러한 인터페이스 모듈(220)은 기본 기능 지원을 위한 API와 확장 기능 지원을 위한 API를 각각 포함할 수 있다. 그리고 인터페이스 모듈(220)은 단말기에 장착된 장치 예를 들면 카메라(170) 기능 운용 시 기본 기능 지원을 위한 API를 제공할 수 있고, 확장 기능이 요구되는 경우 확장 기능 지원을 위한 API를 제공할 수 있다.
경로 생성 모듈(230)은 단말기(100)의 이미지 출력과 관련되어 기 로드된 상위 프로세스에서 카메라(170) 기능 지원을 위한 프로세스를 호출하고 해당 프로세스 간 바인딩 과정을 통하여 카메라(170) 제어와 관련된 명령어를 전달할 수 있는 경로를 형성하는 모듈이다. 여기서 상위 프로세스는 카메라(170) 기능 지원을 위한 프로세스 간 바인딩 시점에 카메라(170) 기능 운용을 위한 기능 제어 모듈(240)을 호출하도록 지원할 수 있다. 인터페이스 모듈(220)은 프로세스 간 바인딩에 따라 경로가 생성되면 기능 제어 모듈(240)로 연결되는 경로를 통하여 특정 기능 블록을 이용할 수 있는 명령을 기능 제어 모듈(240)에 전달할 수 있다. 이때 기능 블록을 이용할 수 있는 명령은 기능 제어 모듈(240)에 포함된 기능 블록을 적절하게 호출할 수 있도록 인터페이스 모듈(220) 내에서 정의될 수 있다. 이에 따라 인터페이스 모듈(220)은 기능 제어 모듈(240)에 포함된 기능 블록들을 정의한 정의 정보를 포함할 수 있다. 여기서 상기 기능 블록은 카메라(170) 운용과 관련된 기능들을 지원하는 블록들로 설명하지만, 다른 장치 기반 사용자 기능 예를 들면 센서 기반의 사용자 기능이 선택된 경우 센서 기반 기능 지원을 위한 기능 블록이 될 수 있다.
기능 제어 모듈(240)은 경로 생성 모듈(230) 하부에 배치되어 인터페이스 모듈(220)에서 전달된 명령어를 경로 생성 모듈(230)을 통하여 수신하고 수신된 명령어에 따른 동작 제어를 수행한다. 예를 들어 기능 제어 모듈(240)은 상부로부터 녹화 기능 시작을 위한 명령어가 수신되면, 녹화 기능 수행을 위해 필요한 다양한 구성 제어를 위한 명령어들을 생성하고, 생성된 명령어들을 제어 전달 모듈(250)에 전달한다. 즉 기능 제어 모듈(240)은 기 설정된 녹화 설정 값을 확인하여 해당 설정 값에 따라 카메라(170)의 설정을 조정하는 제어 명령, 녹화 기능 시작을 위한 카메라 제어 명령, 녹화 중에 수집되는 영상 저장을 위한 제어 명령 등을 생성하고, 생성된 제어 명령을 제어 전달 모듈(250)에 전달할 수 있다. 이러한 기능 제어 모듈(240)은 카메라 기본 기능 지원을 위한 루틴들을 포함하고, 이를 기반으로 카메라 기본 기능 지원을 위한 제어 명령을 생성 및 전달한다.
그리고 기능 제어 모듈(240)은 확장 기능 운용 시 해당 확장 기능 운용을 위한 모듈들을 로드하고, 이를 기반으로 확장 기능 지원을 수행할 수 있다. 이때 기능 제어 모듈(240)에 포함된 확장 기능들은 각 기능들에 대응하는 기능 블록으로 배치될 수 있으며, 각 기능 블록들에 대한 정의는 인터페이스 모듈(220)에서 이루어질 수 있다. 이에 따라 인터페이스 모듈(220)은 정의된 기능 블록 수행을 위한 명령만을 경로 생성 모듈(230)을 통하여 기능 제어 모듈(240)에 전달할 수 있고, 기능 제어 모듈(240)은 인터페이스 모듈(220)이 전달한 명령에 해당하는 기능 블록을 확인하고 이를 기반으로 해당 확장 기능을 운용하도록 지원할 수 있다. 이와 같이 본 발명의 카메라 확장 기능은 카메라(170)와 관련된 새로운 기능 구현 시 해당 기능에 대응하는 기능 블록을 기능 제어 모듈(240)에 배치한 후 이에 대응하는 정의를 인터페이스 모듈(220)에서 수행함으로써 기능 확장을 보다 용이하게 할 수 있도록 지원할 수 있다.
제어 전달 모듈(250)은 기능 제어 모듈(240)이 전달하는 다양한 명령들을 실제 각 구성들 운용에 적용되는 형태로 전환하고, 전환된 명령을 각 구성들에 전달하는 구성이다. 즉 제어 전달 모듈(250)은 기능 제어 모듈(240)이 특정 카메라(170) 기능 운용을 위한 다양한 제어 명령을 생성하면, 생성된 제어 명령을 카메라(170)를 구성하는 각 모듈들에 전달하여 카메라(170) 동작을 수행하도록 지원한다. 이에 따라 기능 제어 모듈(240)은 제어 전달 모듈(250)을 기반으로 사용자가 요청하는 명령에 대응하는 카메라(170)의 실제 동작을 제어할 수 있다.
기능 갱신 모듈(260)은 카메라(170)의 기능 확장을 지원하는 모듈이다. 카메라(170)의 다양한 추가 기능 구현 또는 이전 기능의 갱신을 위하여 새로운 기능 블록들이 구현되거나 갱신 정보를 수신하면, 기능 갱신 모듈(260)은 해당 기능 블록들을 통신부(110)를 통하여 외부로부터 수신하거나 갱신 정보를 수신할 수 있다. 여기서 통신부(110)는 기능 블록 및 갱신 정보를 수신할 수 있는 경로로서 유무선 등 다양한 인터페이스를 포함하는 형태로 구성될 수 있다. 기능 갱신 모듈(260)은 외부로부터 기능 블록 및 갱신 정보 중 적어도 하나를 수신하면, 이를 해당 기능 제어 모듈(240)의 일정 위치에 배치시키고, 추가된 기능 블록에 대한 정의를 인터페이스 모듈(220)에 기입하도록 지원한다. 이에 따라 본 발명의 단말기(100)는 카메라(170) 관련 추가 기능이 구현되면 기능 제어 모듈(240)과 인터페이스 모듈(220)에 각각 정의하는 것만으로 새로운 기능 이용을 지원할 수 있다. 카메라(170) 관련 기능 블록의 갱신 시에는 별도의 정의를 수행하지 않거나 설계자 의도에 따라 갱신에 맞는 정의를 새롭게 지원할 수 있다.
도 3은 본 발명의 실시 예에 따른 카메라(170) 기능 지원을 위한 모듈들의 실제 구현에 대한 일예를 나타낸 도면이다. 특히 도 3은 안드로이드 프레임워크를 기반으로 카메라(170)를 운용하기 위한 모듈들의 배치 형태를 나타낸 도면이다. 여기서 본 발명은 안드로이드 프레임워크 기반의 카메라(170) 운용에 한정되는 것이 아니라 앞서 설명한 바와 같이 카메라(170) 관련 기능을 확장하기 위한 것으로 다양한 프레임워크에 적응적으로 조절 및 배치되는 것으로 이해되어야 할 것이다.
도 3을 참조하면, 본 발명의 제어부(160)는 사용자 기능 수행부(210)로서 어플리케이션 레이어(App layer)에 배치되는 카메라/캠코더 어플리케이션(251)이 위치하고, 카메라/캠코더 어플리케이션(251)에서 생성되는 명령어를 하부 모듈들에 전달할 수 있도록 인터페이스 모듈(220)이 API layer에 배치된다. 여기서 인터페이스 모듈(220)은 카메라(170) 기본 기능을 지원하는 MediaRecorder.java(221)와 MediaRecorder.java(221)의 언어 변환을 지원하는 MediaRecorder JNI(222)를 포함할 수 있다. 이러한 구성은 카메라/캠코더 어플리케이션(251)이 Java 언어로 동작하는 것을 예로 한 것이며, 하부 모듈들에서는 C 또는 C++ 언어로 동작하는 것을 예로 한 사례에 기인하는 것이다.
또한 인터페이스 모듈(220)은 카메라(170)의 확장 기능을 가지는 녹화 기능 운용이 수행되는 경우 기능 실행을 위한 메모리에 배치되는 SecMediaRecorder.java(223)와 SecMediaRecorder JNI(224)를 포함할 수 있다. 여기서 SecMediaRecorder.java(223)와 SecMediaRecorder JNI(224)는 각각 카메라(170)의 확장 기능 지원을 위해 새롭게 정의된 모듈들로서 카메라(170)의 확장 기능이 운용되지 않는 동안에는 로드되지 않고, 해당 확장 기능 운용을 위한 입력 신호가 발생하는 시점에 로드되어 확장 기능 지원을 위한 인터페이싱을 수행할 수 있다.
Media Framework layer에 위치하는 경로 생성 모듈(230)에 대응하는 MediaPlayerService(233)는 단말기(100)가 부팅되는 과정에서 로드되어 단말기(100)의 다양한 이미지 출력을 지원하는 모듈이다. MediaPlayerService(233)는 인터페이스 모듈(220) 요청에 따라 MediaRecorder(231)를 생성하며, 카메라(170) 기능 지원을 위하여 인터페이스 모듈(220)의 요청에 따라 MediaRecorderClient(232)를 생성한다. 여기서 MediaRecorder(231)와 MediaRecorderClient(232)는 상호 바인딩 처리되며, 이에 따라 인터페이스 모듈(220)이 전달하는 명령을 바인딩된 경로를 통하여 통신하여 하부에 위치한 기능 제어 모듈(240)에 전달한다. 여기서 MediaRecorderClient(232)는 MediaRecorderBase(234)를 기반으로 인터페이스 모듈(220)이 전달하는 명령 데이터의 헤더를 처리할 수 있다.
기능 제어 모듈(240)에 대응하는 StagefrightRecorder Framework(241) 또는 PVMediaRecorder Framework(242)는 카메라(170)의 실제 기능 운용을 위한 모듈들이다. 이러한 모듈들은 단말기(100)에 설치된 카메라(170) 특성에 따라 다양하게 구현될 수 있다. 도면에서는 두 개의 모듈이 배치되는 것으로 설명하였지만 카메라(170) 관련 기능 운용을 위한 설계자가 임의로 하나의 모듈만을 배치할 수 있다. 두 개의 모듈이 배치된 상태에서도 인터페이스 모듈(220)은 두 개의 모듈 중 특정 모듈과 연계하여 카메라(170) 기능을 운용하도록 경로 설정할 수 있다. 예를 들어, MediaRecorder.java(221)는 StagefrightRecorder Framework(241)와 경로를 형성하고 해당 모듈을 기반으로 카메라(170) 기능 운용을 수행할 수 있다. 또한 SecMediaRecorder.java(223)는 StagefrightRecorder Framework(241) 또는 PVMediaRecorder Framework(242) 중 어느 하나와 경로를 형성하고 해당 모듈을 기반으로 카메라(170) 운용에 필요한 명령을 전달할 수 있다.
기능 제어 모듈(240)은 앞서 설명한 바와 같이 인터페이스 모듈(220)이 바인딩된 경로 생성 모듈(230)들을 통하여 전달한 명령을 실제 카메라(170) 운용에 필요한 명령어로 전환하는 기능을 수행한다. 여기서 기능 제어 모듈(240)은 확장 기능 지원 시 확장 기능에 대응하는 특정 기능 블록들을 마련하고, 인터페이스 모듈(220)이 전달한 명령에 대응하는 기능 블록을 선택하여 해당 기능 블록과 관련된 카메라(170) 기능이 수행되도록 명령어를 생산할 수 있다.
OMX(250)는 기능 제어 모듈(240)이 전달한 명령어들을 커널 레이어(Kernel Layer)에 해당하는 Video/Audio Encoder Driver Layer(260)에서 인식할 수 있는 포맷으로 변환한다. 그리고 OMX(250)는 Video/Audio Encoder Driver Layer(260)로 해당 명령어를 전달한다. Video/Audio Encoder Driver Layer(260)는 카메라(170) 장치와 연결되는 다양한 신호 라인과 코덱 등을 포함하고 상부에서 전달된 카메라(170) 제어에 필요한 명령어를 카메라(170)의 일정 구성에 전달하는 역할을 수행한다. 또한 Video/Audio Encoder Driver Layer(260)는 카메라(170) 운용에 따라 카메라(170)가 수집한 영상에 대한 정보를 OMX(250)를 통하여 기능 제어 모듈(240)에 전달한다. 즉 Video/Audio Encoder Driver Layer(260)는 녹화가 수행되면 영상이 수집되고 있거나 또는 수집되었음을 지시하는 정보를 기능 제어 모듈(240)에 전달한다. 그리고 기능 제어 모듈(240)이 전달하는 명령에 따라 Video/Audio Encoder Driver Layer(260)는 수집된 영상을 특정 저장부(150) 또는 기능 실행을 위한 메모리에 일시적으로 저장하도록 데이터 전달을 수행할 수 있다. 이때 Video/Audio Encoder Driver Layer(260)는 카메라(170)가 수집한 영상을 일정 방식에 따라 부호화하고, 부호화한 데이터를 저장부(150)에 저장하도록 지원할 수 있다.
도 4는 본 발명의 실시 예에 따른 단말기(100)의 화면 인터페이스의 일예를 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 단말기(100)는 사용자 입력에 따라 카메라(170) 기능을 활성화하도록 제어할 수 있다. 카메라(170) 활성화를 위한 입력 신호가 생성되면 단말기(100)는 카메라(170)를 활성화하고 카메라(170)의 렌즈를 통하여 수집되는 영상을 프리뷰 영상으로 터치스크린(140)에 출력하도록 지원할 수 있다. 이때 단말기(100)는 사용자 기능 수행부(210)를 로드하여 카메라(170) 운용을 지원할 수 있다.
한편 사용자는 카메라(170) 기능 중 확장 기능이 적용된 특정 기능 예를 들면 녹화 기능을 활성화하기 위한 입력 신호를 생성할 수 있다. 그러면 단말기(100)는 확장 기능 지원을 위하여 인터페이스 모듈(220) 중 확장 기능 지원을 위한 API를 로드하고, 확장 기능 지원을 위한 경로 생성을 수행할 수 있다. 그리고 단말기(100)는 확장 기능 지원을 위한 기능 제어 모듈(240)을 호출할 수 있다. 즉 단말기(100)는 확장 기능 지원을 위하여 기본 기능 지원을 위한 기본 기능 지원 통로와 독립된 확장 기능 지원을 위한 확장 기능 지원 통로를 형성할 수 있다.
기능 제어 모듈(240)이 호출되어 해당 모듈에 포함된 다양한 기능 블록들이 확인되면 단말기(100)는 도시된 바와 같이 각 기능 블록들에 대응하는 항목들을 포함하는 화면을 출력하도록 지원할 수 있다. 즉 단말기(100)는 잠시 멈춤 기능 블록에 대응하는 "Pause 항목", 재녹화 기능 블록에 대응하는 "Resume 항목", 오디오 제어를 위한 "Audio 항목" 등을 화면 일측에 출력하도록 지원할 수 있다. 그러면 사용자는 상술한 각 항목들 중 녹화 과정에서 필요한 항목을 선택하여 운용할 수 있다. 또는 제어부(160)는 카메라(170)가 확장 기능을 지원하는 경우 해당 확장 기능 선택을 위한 링크 항목들을 터치스크린(140)에 출력하도록 제어하고, 해당 항목이 선택되면 카메라의 확장 기능 지원을 위한 상술한 인터페이스 모듈(210), 경로 설정 모듈(220), 기능 제어 모듈(240) 등을 호출할 수 있다.
예를 들면 사용자가 "Pause 항목"을 선택하는 입력 신호를 생성한 경우 터치스크린(140)은 해당 입력 신호에 대응하는 명령어를 사용자 기능 수행부(210)에 전달하고, 사용자 기능 수행부(210)는 이를 인터페이스 모듈(220)에 전달할 수 있다. 그러면 인터페이스 모듈(220)은 "Pause 항목"에 대응하는 명령을 생성하고 이를 바인딩된 경로 생성 모듈(230)을 통하여 기능 제어 모듈(240)에 전달할 수 있다. 기능 제어 모듈(240)은 수신된 명령을 통하여 "Pause" 기능 블록을 호출하고, 해당 기능 블록에 의한 카메라 제어를 수행할 명령들을 생성할 수 있다.
한편 상기 인터페이스 모듈(220)은 기능 블록 운용을 위하여 복수의 파라메터를 포함하는 명령 데이터를 기능 제어 모듈(240)에 전달할 수 있다. 이를 보다 상세히 설명하면, 사용자가 녹화 중 화면의 특정 지점을 선택하는 경우, 터치스크린(140)은 선택된 지점의 위치 정보와 특정 기능 예를 들면 자동 포커싱 기능에 대응하는 명령어를 사용자 기능 수행부(210)에 전달할 수 있다. 해당 정보를 수신한 인터페이스 모듈(220)은 터치 지점의 위치 정보와 자동 포커싱 기능에 대응하는 명령 데이터를 생성하고 이를 기능 제어 모듈(240)에 전달할 수 있다. 기능 제어 모듈(240)은 수신된 자동 포커싱 기능을 수행하기 위한 기능 블록을 선택하는 한편 자동 포커싱의 초점 지점을 수신된 위치 정보를 기반으로 수행하도록 명령을 생성하고 이를 카메라(170)에 전달할 수 있다.
상술한 바와 같이 본 발명의 단말기(100)는 카메라(170)의 다양한 기능 제어를 수행하되 확장 기능 수행 시에는 기본 기능과 독립된 인터페이스 모듈(220)을 생성하고 이를 기반으로 카메라(170) 기능 제어에 필요한 명령 생성 및 전달을 수행하도록 지원할 수 있다. 이에 따라 본 발명의 단말기(100)는 카메라(170) 기본 기능과 충돌하거나 예기치 않은 효과의 발생 없이 카메라(170)의 기능 확장을 수행할 수 있도록 지원할 수 있다.
이상에서는 본 발명의 실시 예에 따른 카메라(170) 기능 확장과 관련된 단말기(100)의 구성과 역할 및 화면 인터페이스에 대하여 설명하였다. 이하에서는 본 발명의 단말기 운용에 관한 방법을 도면을 참조하여 보다 상세히 설명하기로 한다.
도 5는 본 발명의 실시 예에 따른 기능 확장 지원 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 본 발명의 기능 확장 지원 방법은 먼저, 501 단계에서 단말기(100)의 제어부(160)가 전원부로부터 공급된 전원을 이용하여 단말기(100)의 각 구성들 운용에 필요한 전원을 공급한다. 이후 제어부(160)는 입력 신호가 발생하면 503 단계에서 해당 입력 신호가 카메라(170) 기능 운용을 위한 입력 신호인지 여부를 확인할 수 있다. 이 단계에서 카메라(170) 기능 운용을 위한 입력 신호가 아닌 경우 제어부(160)는 505 단계로 분기하여 해당 입력 신호에 대응하는 사용자 기능 수행을 위한 제어를 수행할 수 있다. 예를 들어 제어부(160)는 단말기(100) 지원여부에 따라 통화 기능, 파일 검색 기능, 파일 재생 기능, 웹 접속 기능 등을 수행할 수 있다. 특히 사용자가 카메라(170)와 관련된 새로운 확장 기능을 추가하고자 하는 경우 제어부(160)는 해당 확장 기능에 대응하는 기능 블록 데이터를 제공하는 서버와 통신 채널을 형성하고, 기능 블록 데이터를 수신할 수 있다. 수신된 기능 블록 데이터는 앞서 설명한 바와 같이 인터페이스 모듈(220) 및 기능 제어 모듈(240)에 각각 정의되며 배치될 수 있다.
한편 503 단계에서 카메라(170) 기능 운용과 관련된 입력 신호가 발생하면, 제어부(160)는 507 단계로 분기하여 카메라(170) 기본 기능 지원을 위한 기본 미디어 리코더 API를 기반으로 카메라(170) 기능을 운용하도록 지원할 수 있다. 즉 제어부(160)는 사용자 기능 수행부(210)를 기반으로 카메라(170) 운용을 위한 어플리케이션을 호출하고, 해당 어플리케이션 운용에 따른 명령 처리를 위하여 미디어리코더.java, 미디어리코더 JNI, 미디어리코더와 미디어리코더클라이언트와의 바인딩, 기능 제어 모듈(240) 호출 등을 수행할 수 있다. 즉 제어부(160)는 기본 기능 지원을 위한 모듈들로 기본 기능 지원 통로를 형성할 수 있다. 이후 제어부(160)는 터치스크린(140) 등으로부터 입력되는 카메라(170) 제어를 위한 입력 신호를 기반으로 카메라(170) 기본 기능을 지원하도록 제어할 수 있다. 여기서 카메라(170) 기본 기능은 단말기(100)에 장착된 각 카메라(170)들의 특성에 따라 달라질 수 있으며 예를 들면 카메라(170) 기본 기능은 정지 영상 수집 기능 등을 포함할 수 있다.
한편 제어부(160)는 509 단계에서 확장 기능 예를 들면 확장된 녹화 기능을 활성화하기 위한 입력 신호가 발생하는지 여부를 확인할 수 있다. 여기서 확장된 녹화 기능은 디폴트로 제공되는 기능이 될 수 있으며, 또는 선택적으로 이전 녹화 기능과 확장 녹화 기능 중 어느 하나를 선택할 수 도 있다. 선택 지원을 위하여 단말기(100)는 정지 영상 수집 기능, 기본 녹화 기능, 확장된 녹화 기능 중 어느 하나의 기능을 선택할 수 있는 항목을 터치스크린(140) 상에 출력할 수 있을 것이다. 이 단계에서 별도의 확장 녹화 기능 운용을 위한 입력 신호 발생이 없는 경우 503 단계 이전으로 분기하여 이하 과정을 반복적으로 수행하도록 지원할 수 있다.
한편 503 단계에서 확장된 녹화 기능을 수행하기 위한 입력 신호가 발생하는 경우, 제어부(160)는 511 단계로 분기하여 확장 미디어리코더 API를 로딩하도록 제어할 수 있다. 즉 제어부(160)는 카메라(170)의 확장 기능 지원을 위한 인터페이스 모듈(220)을 호출할 수 있다. 이후 제어부(160)는 513 단계에서 명령어 전송 경로를 가지는 미디어리코더 및 미디어리코더클라이언트 바인딩을 수행할 수 있다. 즉 제어부(160)는 인터페이스 모듈(220)의 명령어를 전달할 수 있는 경로 설정을 위한 동작을 수행할 수 있다. 이 과정에서 단말기(100)의 이미지 처리와 관련된 미디어플레이어서비스 모듈이 인터페이스 모듈(220)의 요청에 따라 경로 설정을 위한 프로세스들을 호출하고, 해당 프로세스들의 바인딩을 수행하도록 지원할 수 있다.
그리고 미디어플레이어서비스 모듈은 515 단계에서와 같이 해당 경로 설정과 연결되는 확장된 녹화 기능들을 마련하기 위하여 기능 제어 모듈(240)을 호출할 수 있다. 여기서 기능 제어 모듈(240)은 카메라(170) 기본 기능 지원을 위하여 이미 호출되어 있을 수 있으며, 추가적으로 카메라 확장 기능 지원을 위하여 해당 기능 블록들을 호출할 수 있다. 메모리의 효율적인 관리를 위해서 해당 기능 블록들은 카메라 확장 기능 지원 시에 호출되는 것이 바람직하지만 설계자 의도에 따라 기본 기능 지원 시 기능 실행을 위한 메모리에 배치된 후 해당 기능 사용 시 활성화될 수 도 있을 것이다. 이와 같이 본 발명의 제어부(160)는 확장 기능 지원을 위한 모듈들로 확장 기능 지원 통로를 형성할 수 있다.
다음으로 제어부(160)는 517 단계에서 입력 신호에 따른 확장 녹화 기능을 수행할 수 있다. 그리고 제어부(160)는 519 단계에서 해당 기능 종료를 위한 입력 신호 발생 여부를 확인하고, 기능 종료 입력 신호 발생 시 501 단계에서부터 이하 단계를 재수행하도록 지원할 수 있다. 519 단계에서 기능 종료 입력 신호 발생이 없는 경우 제어부(160)는 509 단계 이전으로 분기하여 이하 과정을 재수행하도록 지원할 수 있다.
이와 같이 본 발명의 기능 확장 지원 방법은 사용자 기능으로 선택된 장치의 기본 기능 지원을 위한 모듈들로 기본 기능 지원 통로를 구성하는 한편, 확장 기능 지원을 위한 모듈들로 확장 기능 지원 통로를 각각 마련하고, 확장 기능 지원을 위한 명령 생성 시 이를 확장 기능 지원 통로를 위해 전달되도록 지원한다. 이에 따라 본 발명의 실시 예에 따른 기능 확장 지원 방법은 단말기(100)에 장착된 장치 예를 들면 카메라(170)의 기본 기능을 확장하여 추가적인 기능을 운용하고자 하는 경우 기존 시스템의 영향을 최소화하면서도 능동적인 기능 확장이 가능하도록 지원한다. 또한 확장된 기능 지원 시에만 필요한 데이터들을 호출하여 운용함으로써 메모리 사용 효율을 높일 수 있다.
한편 상술한 설명에서 정지 영상 수집 기능은 카메라(170)의 기본 기능으로 정의하여 설명하였지만 본 발명이 이에 한정되는 것은 아니다. 즉 카메라(170)의 정지 영상 수집 기능 또한 다양한 개발자와 설계자들의 의하여 새로운 기능 추가가 이루어질 수 있다. 이 경우 앞서 설명한 바와 같이 확장된 정지 영상 수집 기능 지원을 위하여 기능 블록을 기능 제어 모듈(240)에 배치하는 한편, 해당 기능 블록 지정을 위한 정의(define)가 인터페이스 모듈(220)에서 이루어질 수 있을 것이다. 따라서 본 발명의 카메라 기능 확장 방법 및 이를 지원하는 단말기(100)는 카메라(170)의 특정 기능에 한정되는 것이 아니라 기본적으로 제공되는 카메라(170) 기능에 확장된 기능을 추가하고자 하는 경우 적용될 수 있는 기술에 해당하는 것으로 이해되어야 할 것이다.
한편 상기 단말기(100)는 그 제공 형태에 근거리 통신을 위한 근거리통신모듈, 상기 단말기(100)의 유선통신방식 또는 무선통신방식에 의한 데이터 송수신을 위한 인터페이스, 인터넷 네트워크와 통신하여 인터넷 기능을 수행하는 인터넷통신모듈 및 디지털 방송 수신과 재생 기능을 수행하는 디지털방송모듈 등과 같이 상기에서 언급되지 않은 구성들을 포함할 수도 있다. 이러한 구성 요소들은 디지털 기기의 컨버전스(convergence) 추세에 따라 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 구성 요소들과 동등한 수준의 구성 요소가 상기 단말기(100)에 추가로 더 포함되어 구성될 수 있다. 또한 본 발명의 단말기(100)는 그 제공 형태에 따라 상기한 구성에서 특정 구성들이 제외되거나 다른 구성으로 대체될 수도 있음은 물론이다. 이는 본 기술분야의 통상의 지식을 가진 자에겐 쉽게 이해될 수 있을 것이다.
또한 본 발명의 실시 예에 따른 상기 단말기(100)는 카메라(170) 관련 기능을 지원하는 모든 형태의 디바이스를 포함할 수 있다. 예를 들면, 상기 단말기(100)는 다양한 통신 시스템들에 대응되는 통신 프로토콜들(communication protocols)에 의거하여 동작하는 모든 이동통신 단말기들(mobile communication terminals)을 비롯하여, PMP(Portable Multimedia Player), 디지털방송 플레이어, PDA(Personal Digital Assistant), 음악 재생기(예컨대, MP3 플레이어), 휴대게임단말, 스마트 폰(Smart Phone), 노트북(Notebook) 및 핸드헬드 PC 등 모든 정보통신기기와 멀티미디어기기 및 그에 대한 응용기기를 포함할 수 있다.
이상 본 발명을 몇 가지 바람직한 실시 예를 사용하여 설명하였으나, 이들 실시 예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100 : 단말기 110 : 통신부
120 : 입력부 130 : 오디오 처리부
140 : 터치스크린 141 : 표시 패널
143 : 터치 패널 150 : 저장부
160 : 제어부

Claims (20)

  1. 특정 사용자 기능을 지원하는 장치;
    상기 장치 활성화 시 장치 운용을 위해 제공되는 기본 기능 지원 통로와, 상기 장치의 확장 기능 운용을 위해 제공되는 확장 기능 지원 통로를 위한 모듈들을 저장하는 저장부;
    상기 장치 운용을 위한 입력 신호를 생성하는 입력부 및 터치스크린 중 적어도 하나;
    상기 입력 신호 생성에 따라 기본 기능 지원 통로를 위한 모듈을 운용하거나, 확장 기능 지원 통로를 위한 모듈들을 운용하는 제어부;를 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  2. 제1항에 있어서,
    상기 제어부는
    상기 장치에 관한 사용자 기능을 위해 설정된 어플리케이션을 운용하는 사용자 기능 수행부;
    상기 사용자 기능 수행부에서 생성되는 명령을 변환하는 인터페이스 모듈;
    상기 인터페이스 모듈이 변환한 명령을 전달하는 경로를 생성하는 경로 생성 모듈;
    상기 변환된 명령을 수신하여 상기 장치에 관한 사용자 기능 제어를 위한 적어도 하나의 명령어를 생성하는 기능 제어 모듈;
    상기 생성된 명령어를 상기 장치에 전달하는 제어 전달 모듈;을 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  3. 제2항에 있어서,
    상기 인터페이스 모듈은
    상기 기본 기능 지원을 위한 기본 기능 지원 어플리케이션 프로그래밍 인터페이스;
    상기 확장 기능 지원을 위한 확장 기능 지원 어플리케이션 프로그래밍 인터페이스;를 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  4. 제3항에 있어서,
    상기 제어부는
    상기 장치 관련 사용자 기능 운용 중 확장 기능 운용을 위한 입력 신호 발생 시 상기 확장 기능 지원 어플리케이션 프로그래밍 인터페이스를 로드하도록 제어하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  5. 제3항에 있어서,
    상기 경로 생성 모듈은
    상기 장치 관련 사용자 기능 활성화 시 상기 기본 기능 지원 어플리케이션 프로그램 인터페이스 지원을 위한 경로를 생성하고, 상기 확장 기능 지원을 위한 입력 신호 발생 시 상기 확장 기능 지원 어플리케이션 프로그래밍 인터페이스 지원을 위한 경로를 생성하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  6. 제3항에 있어서,
    상기 기능 제어 모듈은
    상기 확장 기능에 대응하는 기능 블록들을 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  7. 제6항에 있어서,
    상기 인터페이스 모듈은
    상기 기능 블록 제어를 위한 명령을 정의한 정보를 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  8. 제7항에 있어서,
    상기 제어부는
    기능 블록의 추가 또는 갱신을 위한 기능 갱신 모듈을 더 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  9. 제8항에 있어서,
    상기 기능 블록의 추가 또는 갱신을 위한 갱신 정보를 수신하는 통신부;를 더 포함하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  10. 제9항에 있어서,
    상기 기능 갱신 모듈은
    추가 기능 블록 수신 시 상기 인터페이스 모듈에 해당 추가 기능 블록에 대한 정의를 수행함과 아울러 상기 추가 기능 블록을 상기 기능 제어 모듈에 배치하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  11. 제1항에 있어서,
    상기 장치는 카메라이며,
    상기 카메라의 기본 기능 지원을 위한 화면 인터페이스 및 상기 카메라의 확장 기능 지원을 위한 화면 인터페이스 중 적어도 하나를 출력하는 터치스크린;을 더 포함하고,
    상기 터치스크린은
    상기 확장 기능의 특정 기능 선택을 위한 항목들을 화면 일측에 출력하는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  12. 제1항에 있어서,
    상기 기본 기능 지원 통로와 상기 확장 기능 지원 통로는
    안드로이드 프레임 워크 기반으로 구성되는 것을 특징으로 하는 기능 확장을 지원하는 단말기.
  13. 단말기에 장착된 특정 장치 관련 사용자 기능 활성화를 위한 입력 신호 수신 과정;
    상기 사용자 기능 활성화 시 장치 운용을 위해 제공되는 기본 기능 지원 통로를 형성하고, 상기 장치의 확장 기능 운용을 위한 입력 신호 수신 시 확장 기능 지원을 위한 확장 기능 지원 통로를 형성하는 형성 과정;
    상기 확장 기능 운용을 위한 입력 신호 수신에 따라 확장 기능 운용을 위한 명령을 상기 확장 기능 지원 통로를 통하여 전달하는 과정;을 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  14. 제13항에 있어서,
    상기 형성 과정은
    상기 장치 관련 사용자 기능 운용 중 확장 기능 운용을 위한 입력 신호 발생 시 상기 확장 기능 지원 어플리케이션 프로그래밍 인터페이스를 로드하는 과정;
    상기 확장 기능 지원 어플리케이션 프로그래밍 인터페이스 지원을 위한 경로를 생성하는 과정;
    상기 확장 기능에 대응하는 기능 블록들을 포함하는 기능 제어 모듈을 호출하는 과정;을 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  15. 제14항에 있어서,
    상기 인터페이스 모듈은
    상기 기능 블록 제어를 위한 명령을 정의한 정보를 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  16. 제14항에 있어서,
    상기 기능 블록의 추가 또는 갱신을 수행하는 과정;을 더 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  17. 제16항에 있어서,
    상기 기능 블록의 추가 또는 갱신을 위한 갱신 정보를 수신하기 위한 통신 채널을 형성하는 과정;을 더 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  18. 제17항에 있어서,
    상기 추가 기능 블록 수신 시 상기 인터페이스 모듈에 해당 추가 기능 블록에 대한 정의를 수행함과 아울러 상기 추가 기능 블록을 상기 기능 제어 모듈에 배치하는 과정;을 더 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  19. 제13항에 있어서,
    상기 장치 관련 사용자 기능의 확장 기능을 선택할 수 있는 항목들을 포함하는 화면 인터페이스를 출력하는 과정;을 더 포함하는 것을 특징으로 하는 기능 확장 지원 방법.
  20. 제13항에 있어서,
    상기 장치는 카메라이며,
    상기 형성 과정은
    안드로이드 프레임 워크 기반으로 상기 통로들을 구성하는 것을 특징으로 하는 기능 확장 지원 방법.
KR1020110098925A 2011-09-29 2011-09-29 기능 확장 지원 방법 및 이를 지원하는 단말기 KR20130034832A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110098925A KR20130034832A (ko) 2011-09-29 2011-09-29 기능 확장 지원 방법 및 이를 지원하는 단말기
US13/568,571 US9280368B2 (en) 2011-09-29 2012-08-07 Function expanding method and mobile device adapted thereto
EP12184011A EP2575038A1 (en) 2011-09-29 2012-09-12 Function expanding method and mobile device adapted thereto
CN2012103694763A CN103034531A (zh) 2011-09-29 2012-09-27 功能扩展方法及适于该方法的移动装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110098925A KR20130034832A (ko) 2011-09-29 2011-09-29 기능 확장 지원 방법 및 이를 지원하는 단말기

Publications (1)

Publication Number Publication Date
KR20130034832A true KR20130034832A (ko) 2013-04-08

Family

ID=46940327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110098925A KR20130034832A (ko) 2011-09-29 2011-09-29 기능 확장 지원 방법 및 이를 지원하는 단말기

Country Status (4)

Country Link
US (1) US9280368B2 (ko)
EP (1) EP2575038A1 (ko)
KR (1) KR20130034832A (ko)
CN (1) CN103034531A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI437844B (zh) * 2009-12-16 2014-05-11 Realtek Semiconductor Corp 一種用以控制天線諧振點之控制迴路以及其相關控制方法
CN103716691B (zh) * 2012-09-29 2017-10-27 腾讯科技(深圳)有限公司 一种视频采集方法和装置
WO2018076309A1 (zh) * 2016-10-29 2018-05-03 华为技术有限公司 一种拍摄方法和终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903728A (en) * 1997-05-05 1999-05-11 Microsoft Corporation Plug-in control including an independent plug-in process
US20070156913A1 (en) 2005-12-30 2007-07-05 Hiroyuki Miyamoto Method for enabling extension points through plug-ins
CN101309209B (zh) * 2008-05-12 2012-07-04 华为技术有限公司 修复单板软件的方法及一种单板
CN101404626B (zh) * 2008-11-10 2011-08-17 腾讯科技(深圳)有限公司 一种即时通讯系统及电子设备
KR101255685B1 (ko) 2008-12-22 2013-04-24 한국전자통신연구원 로봇 응용 프로그램 실행 장치 및 방법
US8448090B2 (en) * 2009-01-23 2013-05-21 Hewlett-Packard Development Company, L.P. Selective plug-in activation for resource-limited platforms
US8532714B2 (en) * 2009-01-29 2013-09-10 Qualcomm Incorporated Dynamically provisioning a device with audio processing capability
US8694988B2 (en) * 2010-10-22 2014-04-08 Adobe Systems Incorporated Runtime extensions
US10235147B2 (en) * 2011-08-26 2019-03-19 Microsoft Technology Licensing, Llc Discovery and activation of application extensions

Also Published As

Publication number Publication date
US20130084843A1 (en) 2013-04-04
CN103034531A (zh) 2013-04-10
US9280368B2 (en) 2016-03-08
EP2575038A1 (en) 2013-04-03

Similar Documents

Publication Publication Date Title
US8649826B2 (en) Mobile device and control method thereof
KR101640460B1 (ko) 휴대 단말기의 분할 화면 운용 방법 및 이를 지원하는 휴대 단말기
US20180220099A1 (en) Device, system and method for operating electric appliance by mobile terminal
KR101633366B1 (ko) 앱스토어 서비스 제공 방법 및 시스템
KR101608673B1 (ko) 터치 락 상태를 가지는 휴대 단말기 및 이의 운용 방법
KR102481065B1 (ko) 애플리케이션 기능 구현 방법 및 전자 디바이스
JP5904704B2 (ja) コントロールウィジェット提供方法及びこれを適用したデバイス
US20110191516A1 (en) Universal touch-screen remote controller
WO2015078293A1 (zh) 音效处理方法、装置、插件管理器及音效插件
CN104281478B (zh) 更新应用程序的方法及装置
JP2017531891A (ja) リモートアシスタンス方法、クライアント、プログラム及び記録媒体
US20080126511A1 (en) Method for Handing Off Applications for WebOS-Enabled User Devices
KR20130024255A (ko) 데이터 복합 기록 지원 방법 및 이를 지원하는 단말기
CN103069374A (zh) 复合属性控制方法及便携式设备
KR101966708B1 (ko) 배경 컨텐츠 운용 방법 및 이를 지원하는 단말기
KR20120016184A (ko) 휴대 단말기의 통신 설정 제어 방법 및 이를 기반으로 운용되는 휴대 단말기
KR20130046482A (ko) 기본 화면 제어 방법 및 이를 지원하는 단말기
CN111246299A (zh) 通信终端以及应用管理方法
KR20110044496A (ko) 휴대 단말기의 입력 신호 처리 장치 및 방법
JP2010113416A (ja) 情報処理装置及びプログラム
KR20130034832A (ko) 기능 확장 지원 방법 및 이를 지원하는 단말기
JP2023547821A (ja) 制御方法及び装置、及び電子デバイス
KR101482149B1 (ko) 어플리케이션 실행 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체
JP7319431B2 (ja) アプリケーション機能の実施方法及び電子装置
KR102206426B1 (ko) 사용자 기기의 도움말 제공 방법 및 그에 관한 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination