본문 바로가기

Hello CE,Mobile

[Windows Mobile] Programming Camera Driver #1

안녕하세요.

   

 Windows Mobile 이용한 Pocket PC Smart Phone에서 Multimedia 기능 하나로 Camera 있습니다.

일반 Phone 포함하여, Mobile Device 상의 Camera 사용 범위 정도는 다들 알고 계시리라 생각됩니다.

요즘은 Video Call 위해 Mobile Device 상의 Camera 두개 (Main Camera and VTCall Camera) 장착되고 있으며, 쓰임 또한 일반적인 촬영 넘어 Multi-media App 연동 등 다양해지고 있습니다.

   

 User Interface Conference 등에서는 Camera 이용한 사용자의 모션 인식을 통해 특정 어플리케이션 실행 기능 제어등에 관한 내용이 나오고 있으며, 화소가 높은 Camera Sensor Mobile Device 장착함으로써, Camera 검증을 위한 비교 시료를 일반 Digital Camera 비교하는 Camera 관련된 부분은 앞으로도 많은 발전이 있을 것으로 보입니다. (개인적인 생각입니다. ^^;)

   

 많은 분들이 Mobile Device상의 System 개발에 대한 부분에 접근이 힘들어 (Hardware 부재등의 이유), 일반적으로 Application 개발을 먼저 시작하며, 기회가 되거나 현업에 근무할 경우, System 개발의 기회를 가지게 됩니다.

따라서 Camera Application 개발에 대한 부분을 먼저 다루어야 하나 Camera Application 경우, DirectShow 대한 방대한 내용이 함께 들어가는 부분이라 글을 올리기에 쉬운 부분은 아니라 생각하여, Camera Driver 개발 부분을 먼저 다루도록 하겠습니다.

   

 "Programming Camera Driver" 대한 내용은 Microsoft에서 제공하는 Document 기반으로 작성되었으며, 해당 Document상의 포함된 Camera관련 모든 내용(아마도 Camera Driver 개발에 참고가 될만한 내용 정도) 올리도록 하겠습니다.

덧붙여, Camera Driver 관련 내용이 강좌& 게시판에 모두 마무리 있도록 하겠습니다.

   

 Camera Driver 대한 내용은 현업에서 해당 드라이버를 개발하시는 분들께는 참고 정도가 될만한 내용 정도이며, Driver 개발에 관심이 있으신 분들께는 Camera Driver 개발함에 있어 고려되어야 부분이나 전체 구조에 대한 이해 정도가 될것으로 보입니다.

   

너무나 미비한 글이지만 Camera 개발해 보고 싶어 하시는 분들게 참고가 될만한 내용이 되었으면 하는 바램입니다.

그럼 내용은 아래와 같습니다.

   

   

[Windows Mobile] Programming Camera Driver #1

Camera Driver Overview

Windows Embedded CE Video Camera Device Driver Interface video and still image capture devices 위한 기본적인 지원을 제공한다. 문서는 camera driver 개발하는 개발자를 위해 계획되었다. Camera applications 개발자들이 Embedded CE camera hardware 어떤 방식으로 통신을 하는지를 알기 위해, 문서를 이용할 수는 있지만, camera applications camera driver 직접적인 통신을 없다. Camera applications camera control 하고 통신하기 위해서는, DirectShow video capture infrastructure 제공하는 middleware layer 사용해야만 한다. Camera device driver interface 주로 사용하는 것은 DirectShow video capture filter이다. Camera driver documentation client 또는 applications 초점을 맞추고 있다면, 그것은 실제로 DirectShow components 의미하는 것이다. Application camera's device driver interface 직접적으로 참조가 필요한 부분들은 아래와 같다.

Device enumeration routines

Test and diagnostic software

   

Camera Characteristics

아래의 리스트는 Windows Embedded CE camera driver model 위해 디자인된 capture device type 대한 특징을 보여주고 있다. Device 압축 또는 압축되지 않은 video stream segments 하나의 파일로 capture한다. Capture 필요한 정확한 시간은 디바이스상의 processing power 저장영역에 달려있다. 아주 짧은 시간에 작업이 이루어지는 것이 일반적임에도 불구하고, driver architecture 정해지지 않은 길이의 recording 가능하도록 하고 있다. Device video capture preview 있도록 viewfinder 제공한다. Full motion video 외에도 device still image capture 지원한다. Windows Embedded CE camera driver model camera 장착된 cell phone 또는 PDA 같은 일반적은 사용자 디바이스를 위해 작고 편리하며, 실제 camera 같은 시나리오를 가지고 디자인된다. Driver model full-featured digital camera 또는 video conferencing 같은 앞선 capture 시나리오는 제공하고 있지 않다. 정확하고, 높은 Quality still image 기능은 digital camera 같은 다른 디바이스들의 앞선 기술을 취한다. Camera device driver model 하나의 디바이스에 multiple camera 위한 특정한 시나리오를 제공하지 않음에도 불구하고, 앞으로는 multiple camera 뿐만 아니라 pluggable camera까지 지원할 것이다.

   

Hardware Design

아래의 table 공통의 camera hardware 기술을 위한 일반적인 design goals 요약한 것이다.

Hardware

Description

DMA capability

Camera driver platform상의 DMA capabilities 필요한 장점을 사용해야 한다.

DSP support for encoding

Small devices 상의 실시간 encoding 하기 위해, camera driver hardware-based encoding decoding 지원하는 interfaces 제공한다.

Asynchronous I/O operation

Camera driver CPU camera hardware 사이의 video frame 효과적인 streaming 최대의 parallelism 제공하기 위해, 동기화된 I/O operation 제공해야 한다.

Camera control properties

Camera driver hue(), saturation(채도)등과 같은 기본적인 camera properties 나열하기 위한, 하나의 interface application 제공해야 한다. Driver 또한 camera devices 위해, custom property sets 알리기 위한, 한가지 방법을 제공해야 한다.

Camera driver model video ports 제공하지 않는다.

   

Performance Terms

아래의 table camera performance metrics 논의시, 일반적으로 사용되는 다양한 용어를 기술하고 있다.

   

Metric

Description

Lag time

Shutter 눌러지고, camera 사진을 실제로 가져올 때까지의 시간

Shutter Lag (pre-focused)

Shutter 눌러지고, 이미지가 auto-focus 없이 획득될 때까지의 시간

Shutter Lag (auto focus)

Shutter 눌러지고 이미지가 auto-focus 함께 획득될 때까지의 시간

Image file acquisition delay

Shutter 눌러지고 이미지 파일 만들기 닫기까지의 시간

Preview startup latency

Preview window 시작되고 이미지가 화면상에 나타날 때까지의 시간

Preview latency

실제 상황에서 이벤트가 발생하고 이벤트가 preview window상에 등록될 때까지의 시간

Memory Limitations

System memory 양이 encoding process사이에 요구된다.

Video Encoding speed

Video clip 레코딩 하는데 필요한 시간으로, 이벤트가 발생하고 이벤트 이후에 encoding까지의 시간

Inter-frame delay

두장 연속 촬영 사이의 최소의 시간.

Rendering times for frames

아래와 같은 conditions 바탕으로, 디스플레이 상에 하나의 프레임을 그리는데 필요한 시간의 :

Color conversion needed

Decoding needed

Uncompressed RGB

   

   

   

October 4, 2007

Written by Hoya^^

   

원본 위치 <http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=60&MAEULNO=23&no=263&page=2>

   

'Hello CE,Mobile' 카테고리의 다른 글

[Windows Mobile] Programming Camera Driver #3  (0) 2010.10.28
[Wndows Mobile] Programming Camera Driver #2  (0) 2010.10.28
버스드라이버  (0) 2010.10.27
NAND  (1) 2010.10.19
Windows Mobile 6.5 기대반 실망반 by 키온  (0) 2010.10.13