이미지 센서를 이용한 멀티미디어 센서 네트워크의 설계 및 구현

2010-01-05     CCTV뉴스
무선통신과 하드웨어 기술의 발전에 의해 센서 네트워크에 사용되는 센서 노드의 성능은 점차 향상되어 가고 있다. 뿐만 아니라 최근에는 CMOS 이미지 센서 기술의 발전에 의해 센서 네트워크에 멀티미디어 데이터를 활용한 멀티미디어 센서 네트워크 연구가 활발히 진행 되고 있다. CMOS 이미지 센서는 기존의 CCD에 비해 저가격으로 생산이 가능하고 저전력의 특징을 가진다.

이러한 CMOS 이미지 센서를 활용한 멀티미디어 센서 네트워크는 기존의 센서 네트워크를 이용한 화재감시, 방범 시스템 등의 애플리케이션에 영상 데이터를 제공함으로써 보다 신뢰성 있는 정보를 제공할 수 있다. 본고에서는 CMOS 이미지 센서를 이용한 이미지 센서 모듈과 이를 활용한 멀티미디어 센서 네트워크를 설계 및 구현한다. 구현된 멀티미디어 센서 네트워크를 통해 이미지 데이터 수집을 테스트하고 그 성능을 분석한다.

무선 통신 기술과 컴퓨팅 기술의 비약적인 발전으로 초소형의 센서 노드들이 개발되고 있다. 이러한 센서 노드는 크게 감지 작업을 수행하는 센서와 센서 노드들 간의 단거리 통신을 위한 무선 송수신 장치, 감지된 데이터를 처리하기 위한 프로세싱 유닛으로 구성된다.

센서로부터 수집된 조도, 온도, 습도와 같은 다양한 정보는 프로세싱 유닛으로 처리되어 무선 송수신 장치로 전송되고 전송된 데이터는 군대, 가정, 산업 등 여러 분야에서 널리 사용된다. 다양한 정보 수집이 가능한 센서 네트워크를 활용한 애플리케이션에는 환경 모니터링, 화재감시, 방범 시스템 등 그 종류가 다양하다.

최근 CMOS(Complementary metal oxide semiconductor)기술의 발전에 의해 기존의 센서 네트워크에 이미지 센서를 활용한 멀티미디어 센서 네트워크가 활발히 연구되고 있다. 이러한 멀티미디어 센서 네트워크는 기존의 조도, 온도, 습도 같은 1차원적 데이터를 통한 정보 보다 한 차원 높은 이미지 정보를 제공할 수 있다.

멀티미디어 센서 네트워크는 기존의 센서 네트워크를 활용한 화재 감시 시스템이나 보안 시스템과 같은 애플리케이션에 이미지와 영상 데이터를 제공함으로써 더욱 신뢰성 있는 정보를 제공할 수 있다.

멀티미디어 센서 네트워크를 구성하기 위해서는 센서 네트워크의 통신 모트와 연동 가능한 이미지 센서 모듈이 필요하다. 대표적인 이미지 센서 모듈에 UCLA의 cyclops가 있다. cyclops는 Crossbow 사의 통신 모트인 Micaz 모트와 Mica2 모트에 부착되어 작동한다.

cyclops는 다양한 컬러와 크기의 이미지 포맷을 지원하지만 하드웨어적으로 이미지 데이터를 압축하는 루틴이 없어 소프트웨어적으로 해결해야 하는 오버헤드가 있다. 기본적으로 이미지는 QCIF의 작은 크기도 약 38Kbyte의 용량을 가진다. 이러한 크기는 기존의 수 byte에 불과한 조도, 온도 등의 데이터에 비하면 매우 큰 데이터이기 때문에 반드시 압축루틴이 있어야 한다.

따라서, 본고에서는 저전력의 동작과 하드웨어적 압축이 가능한 CMOS 이미지 센서 모듈을 이용해 멀티미디어 센서 네트워크를 구축하였다. CMOS 이미지 센서는 COMedia사의 C328 이미지 센서 모듈을 이용하였다.

C328 이미지 센서 모듈은 다양한 컬러의 이미지 타입을 지원할 뿐만 아니라 하드웨어적으로 JPEG 인코딩 회로가 내장되어 있어 소프트웨어적 오버헤드 없이 이미지 데이터를 압축할 수 있다. 또한 이미지 데이터 출력을 UART 형식으로 지원하고 있어 이미지 센서 모듈과 별도의 컨트롤 없이 제어할 수 있다.

C328 이미지 센서를 위한 통신 모트는 Crossbow사의 Micaz 모트를 이용하였다. Micaz 센서 모트는 외부로 51핀 확장 커넥터를 지원하고 이 확장 커넥터에 UART0, UART1 인터페이스가 연결되어 있어 C328이미지 센서와 간단하게 부착이 가능하다.

구현된 멀티미디어 센서 네트워크의 성능을 평가하기 위하여 이미지 센서 모듈에서 획득되는 영상의 크기 별 전송 시간과 홉 수의 변화에 따른 전송시간의 변화를 측정하였다.

본고의 구성은 다음과 같다. 2장에서 멀티미디어 센서 네트워크 연구 동향에 대해 살펴보고, 3장에서는 이미지 센서 제작과 이미지 정보 전송에 대해 설명한다. 4장에서는 본 논문의 이미지 센서의 테스트를 위한 실험 환경과 결과 데이터를 기술한다. 5장에서는 결론과 향후 계획을 논의한다.

관련연구

최근 이미지 데이터를 취득할 수 있는 장비의 소형화, 저전력화가 빠르게 이루어지고 있다. 특히 CMOS 이미지 센서 기술의 발전으로 센서 네트워크에 이미지 센서를 적용한 멀티미디어 센서 네트워크 연구가 활발히 진행되고 있다. 기존 센서 네트워크에서 얻어지는 조도, 온도, 습도 등의 데이터는 그 크기가 수 byte의 작은 크기로 이루어진다.

하지만 멀티미디어 센서 네트워크에서 전송되는 이미지 데이터는 8bit-gray scale CIF 크기라 해도 압축되지 않는다면 약 100Kbyte의 크기를 가진다. 이렇게 용량이 큰 멀티미디어 데이터는 반드시 압축이 필요하다. 이를 위해 센서 네트워크의 제한된 환경을 위한 압축 전송 알고리즘 역시 활발히 연구되고 있다.

Massachusetts University의 SensEye는 기존의 센서 네트워크와 멀티미디어 센서 네트워크를 계층적으로 구현한 Multi-tier 카메라 센서 네트워크를 연구하였다. Stanford University의 WiSNAP는 영상 정보를 통한 event detection 및 node localization을 위한 연구를 진행하였다.

센서 네트워크에서 사용되는 모트는 배터리나 컴퓨팅 파워가 제한되어 있다. 이러한 환경에서 이미지를 얻고 전송하기 위해서는 저전력의 이미지 센서가 필요하다. CMOS 이미지 센서는 기존의 CCD(Charge Coupled Device)에 비해 저가격, 저전력의 장점을 지닌다. 또한 CMOS 기술의 발전으로 소형화되고 영상의 품질 또한 향상되고 있다.

UCLA의 cyclops는 이러한 CMOS 이미지 센서를 이용해 Crossbow 사의 통신 모트인 Micaz와 Mica2 모트를 위한 이미지 센서 모듈을 설계 및 구현하였다. cyclops의 이미지 센서 모듈은 CMOS 이미지 센서로 제작되어 저전력으로 동작하며 다양한 포맷의 RAW 이미지를 제공한다. 하지만 높은 가격과 하드웨어적 이미지 압축루틴이 포함되어 있지 않아 소프트웨어적으로 처리해야 하는 문제가 있다.

멀티미디어 센서 네트워크 구현

(1) 이미지 센서 제작

CMOS 기술의 발전으로 인해 CMOS 이미지 센서는 저전력과 저가격으로 발전하였다. 이러한 발전으로 인해 CMOS 이미지 센서를 센서 네트워크에 적용하기 시작하였다. 한 가지 문제점이 있다면 취득된 이미지를 압축할 수 있는 알고리즘이 필요하다는 것이다. 센서 네트워크에 사용되는 센서 모트의 제한된 컴퓨팅 파워나 배터리로는 소프트웨어적 압축은 오버헤드가 큰 문제가 있다.



본고에서는 이러한 문제를 해결하기 위해 그림 1의 (a)와 같이 COMedia의 C328 카메라 모듈을 사용하였다. C328 카메라 모듈은 표 1과 같이 RAW이미지 포맷뿐만 아니라 JPEG 압축 포맷을 지원한다. RAW 이미지 포맷은 다양한 컬러와 데이터 비트를 지원한다. 사용자를 위한 이미지 데이터 출력은 UART를 통해 이루어진다.

UART를 통해 이미지 획득 요청 명령을 카메라 모듈에 전달하면 다양한 포맷의 이미지를 받을 수 있다. 이미지의 데이터 포맷 형식은 snapshot 명령을 보낼 때 사용자 임의로 설정할 수 있다. C328은 8bit YCbCr의 422 포맷의 JPEG만을 지원한다. 또한 3.3v의 저전력으로 동작하고 20x28mm의 크기를 가진다. 지원 가능한 이미지 크기는 640x480에서 80x64를 지원한다. UART BAUDRATE는 7.2kbps에서 115.2kbps의 전송 속도를 가진다.

 

(a) C328  이미지 센서                                                    (b) 이미지 센서 모트

                      그림 1. 이미지 센서와 Micaz에 부착된 이미지 센서

멀티미디어 센서 네트워크를 위해 그림 1의 (b)와 같이 Crowbow 사의 Micaz 모트에 C328 카메라 모듈을 부착하여 제작하였다. 사용된 Micaz 모트의 사양은 표 2와 같다. Micaz 모트와 C328 이미지 센서 간 통신을 위하여 그림 2과 같이 Micaz 센서 모트의 51 확장 핀의 UART 인터페이스를 이용하였다.

Micaz 센서 모트의 MCU인 AVR128L은 기본적으로 UART0, UART1 두 개의 UART 인터페이스를 가지고 있다. Micaz에서 UART0 인터페이스는 AVR128L 프로그래밍과 PC간 통신을 위해 사용된다. 하지만 UART1 인터페이스는 FLASH 메모리외에 사용되지 않고 있다. 따라서, UART1번 인터페이스를 이용해 C328 카메라 모듈과 통신한다. 통신 모트와 이미지 센서 모듈간 UART BAUDRATE는 57.6kbps를 사용한다. 


                           
C328 카메라 모듈은 영상을 획득할 수 있는 두 가지 모드를 지원한다. 하나는 preview 모드이고 다른 하나는 snapshot 모드이다. preview 모드는 OV7640/8 VGA IMAGE SENSOR로부터 획득된 영상을 바로 UART를 통해 전송하는 모드이고 snapshot 모드는 그림 2와 같이 내장 EEPROM에 영상을 일시적으로 저장 후 저장된 데이터를 UART를 통해 전송하는 모드이다.



Micaz 모트는 내부 메모리가 4Kbyte로 제한되어 있어 획득된 이미지 전체를 전송 받지 못한다. 따라서, 획득된 정지 영상을 일시적으로 C328 카메라 모듈의 EEPROM에 저장하고 이미지의 일부를 연속적으로 전송 받을 수 있도록 C328의 snapshot 모드를 통해 구현하였다.

(2) 이미지 전송



그림 3은 이미지 모트가 사용자에게 이미지를 전송하는 방법을 나타낸 것이다. 이미지 센서는 초기 전원이 On되면 Idle 상태에 있다. 이 상태는 이미지 요청을 받기 위해 대기하고 있는 상태이다. 사용자로부터 이미지 요청 메시지를 수신하게 되면 모트는 요청 메시지의 ID를 확인하여 자신에게 온 이미지 요청 메시지인지 확인한다.

자신의 요청 메시지이면 모트는 영상을 전송하기 위해 우선 이미지 센서의 초기화 작업에 들어간다. 초기화 작업은 UART BAUDRATE 설정, 이미지 포맷 설정, 이미지 크기 설정 그리고 이미지 센서로부터 모트로 전송 되어질 패키지 크기 설정이 있다. 위 작업이 모두 성공적으로 마무리 되면 이미지 센서는 통신 모트로 이미지를 전송한다.



그림 4는 이미지 센서가 통신 모트로 전송하는 패키지의 형식을 나타낸 것이다. 패키지의 ID는 시퀀스 번호이고 Data Size는 패키지에 들어가는 Image Data의 크기를 말한다. Image Data는 이미지 센서의 초기화 작업 시 설정할 수 있다. 그 크기는 64바이트에서 512바이트까지 가능하다.

패키지의 마지막에 위치한 Verify Code는 ID, Data Size, Image Data의 값을 모두 더한 값으로 이를 이용해 패키지의 오류 여부를 검증할 수 있다. 통신 모트는 이미지 센서로부터 획득된 패키지의 오류 여부를 체크한 후 오류가 없으면 RF로 전송하게 된다. RF 전송이 모두 끝나면 통신 모트는 이미지 센서에 다음 이미지가 있는지 검사한 후 다음 이미지가 있으면 다시 통신 모트로 전송 받은 후 RF로 전송한다. 이러한 작업은 이미지 센서의 EEPROM에 저장된 한 프레임의 이미지가 모두 전송될 때까지 반복된다.



RF로 전송되는 전송 메시지 포맷은 그림 5와 같다. 메시지는 크게 3종류의 메시지 타입을 가진다. 첫째 TinyOS에서 모트들 간의 정보를 전달하기 위한 TOS_Msg, 둘째 멀티 홉을 지원하기 위한 MultihopMsg, 셋째 이미지를 전송 정보를 지원하기 위한 Image_Msg가 있다. Image_Msg는 MultihopMsg의 페이로드에 적재되고 MultihopMsg는 TOS_Msg의 페이로드에 적재되어 전송할 전체 TOS_Msg를 구성한다.

메시지의 전체 크기는 79바이트로 이루어진다. Image_Msg의 sourceMoteID는 이미지를 전송하는 센서 모트의 ID 번호이고 seq는 현재 패킷에 담겨있는 이미지의 시퀀스 번호이다. count는 하나의 이미지 프레임을 구성하기 위한 전체 패킷의 수이고 length는 현재 패킷에 담겨있는 이미지 데이터의 길이 정보가 담겨있다.

성능평가

(1)실험환경



그림 6과 같이 본 논문의 이미지 센서 모트를 이용해 멀티미디어센서 네트워크 환경을 구축하였다. 통신 모트로부터 전송된 영상을 확인하기 위해 호스트 PC의 USB 인터페이스를 통해 센서 모트를 연결하였다. 실험에 사용된 영상의 포맷은 8-bit YCbCr 422 포맷의 JPEG을 사용하였다.

이미지 센서로부터 센서 모트로 전송되는 Package Size는 64바이트이고, Snapshot 모드를 이용하여 실험하였다. 실험은 단일 홉에서 80x64에서 640x480까지 이미지 크기의 변화에 따른 전송 시간과 320x240사이즈의 이미지를 홉 수의 변화에 따른 시간 두 가지를 측정하였다. 실험에 사용한 Micaz 모트의 RF전송 속도는 250kbps이다.

(2) 이미지 전송 결과



그림 7은 80x64, 160x128, 320x240의 JPEG 이미지를 멀티미디어 센서 네트워크를 통해 전송 후 PC에서 확인한 것이고 표 3은 이미지 크기 별 전송시간, 표 4는 홉 수 별 전송시간을 나타낸 것이다. 그림 7에서 구축된 멀티미디어 센서 네트워크를 통해 각 크기 별 JPEG 이미지를 정확히 전송할 수 있음을 알 수 있다.



표 3은 이미지 크기별 전송시간을 나타낸 것이다. 이미지 센서에서 통신 모트로 전송되는 시간이 전체적인 이미지 전송 시간에 얼마만큼의 영향을 미치는지 알아보기 위하여 8kbyte의 더미데이터의 전송 시간을 측정하였다. 8kbyte의 더미데이터는 이미지 센서에서 올라온 데이터가 아니라 Micaz 통신 모트 내부에서 랜덤 한 값을 사용한 것이다.

따라서, 두 값을 비교하여 이미지 센서에서 지연되는 시간을 측정할 수 있다. 전송 시간은 932byte에서 약 2초, 1666byte에서 약 4초, 3552byte에서 약 6초, 9312byte에서 약 16초이고 더미데이터가 약 6초가량의 전송 시간을 보였다. 이미지 센서를 통해 획득된 9kbyte의 데이터를 전송하는데 걸린 16초에 비해 8kbyte의 더미데이터를 전송하는데 걸린 시간이 10초가량 빠르게 측정되었다.
 
이것은 이미지 센서에서 통신 모트로 전송되는 시간이 10초가량 걸린다는 것을 알 수 있다. 이러한 결과는 이미지 센서의 UART 통신 속도(57.6kbps)나 Micaz 모트의 통신 속도(250kbps)에 비해 그 전송속도가 늦은 것을 알 수 있다.

이러한 원인은 첫째 이미지 센서에서 통신 모트로 이미지 프레임 전체를 전송 받은 후 RF로 이미지를 전송하는 것이 아니라 64byte의 이미지 패킷이 이미지 센서에서 통신 모트로 도착할 때 마다 RF로 전송하고 전송이 완료되면 다시 이미지 센서로부터 64byte의 이미지 데이터를 획득하기 때문이다.

이러한 방식은 통신 모트의 메모리가 4kbyte여서 이미지 프레임을 더 이상 크게 받아올 수 없기 때문이다. 통신 모트의 메모리 크기가 늘어날 수 있다면 이러한 문제를 수정할 수 있을 것이다. 둘째 통신 모트 간 RF 통신에서 에러로 인한 재전송이 빈번히 발생하기 때문이다. 압축된 이미지 데이터는 중간에 데이터 손실이 조금만 발생해도 이미지를 복원하지 못하는 문제가 있다.

따라서 모든 이미지 데이터가 에러 없이 전송되어야 한다. 이러한 조건은 재전송 횟수를 증가시키고 전송 지연 시간을 늘리는 원인이 된다. 표 3에서 더미데이터를 제외한 이미지 크기 별 데이터 전송 속도가 모두 다른 것을 알 수 있다. 이것은 실험마다 발생하는 통신 에러가 다르기 때문이다.



표 4는 홉 수를 1홉에서 3홉까지 변경해가며 전송시간을 측정한 것이다. 1홉에서는 3552byte의 데이터를 전송하는데 6초, 2홉에서 5090byte의 데이터를 전송하는데 14초, 3홉에서 4126byte의 데이터를 전송하는데 13초의 시간이 걸린다. 각 홉 수 별 전송 속도를 보면 홉 수 가 늘어날수록 전체적인 이미지 전송 속도는 떨어지는 것을 알 수 있다. 이러한 원인은 홉 수가 늘어날수록 통신 에러가 발생하는 빈도수도 같이 늘어나기 때문이다.

결론 및 향후 계획

영상 획득 장치 기술의 발전으로 센서 네트워크에 영상획득 기술이 접목된 멀티미디어 센서네트워크가 활발히 연구되고 있다. 본고에서는 멀티미디어 센서네트워크를 위해 자체 제작한 이미지 센서 모트를 이용해 멀티미디어 센서네트워크를 설계 및 구현하였다. 구현된 네트워크를 통해 영상 정보의 전송 및 획득을 확인하였다.

또한 각 이미지 크기의 변화와 홉 수의 변화에 따른 전송 지연을 측정하여 성능을 테스트 하였다. 성능 측정 결과 센서 모트의 성능이나 이미지 센서의 성능에 비해 전송 속도가 다소 느린 문제점이 있었다. 향후에는 신뢰성 있는 이미지 전송을 위한 프로토콜 연구를 진행할 계획이다.