라벨이 standard인 게시물 표시

카메라 인터페이스 MIPI CSI에 관하여

이미지
카메라와 호스트 프로세서사이의 인터페이스로 CSI가 있다.  CSI (Camera Serial Interface)는 MIPI(Mobile Industry Process Interface, https://www.mipi.org/ ) alliance에 규정되어 있다. CSI는 CSI-1, CSI-2, CSI-3가 있다.  CSI-1 CSI-1은 카메라와 호스트 프로세서 간의 인터페이스를 정의하는 MIPI의 오리지널 표준이고, 이는 CSI-2와 CSI-3로 발전되고 있다.  이미지 센서의 컨트롤은 CCI (Camera Control Interface) I2C, I3C릍 사용한다. 컨트롤 명령어 세트 CCS(Camera Command Set) V1.0은 2017년 11월에 출시되었으며, CSI-2를 사용하여 이미지 세트를 제어하기 위한 표준 기능 세트를 정의한다.  CSI에서 지원되는 이미지 포맷은 RGB, RAW, YUV, JPEG가 있으며, Payload/Header보호를 위한 CRC/ECC를 지원한다.  CSI-2 CSI-2는 모바일 및 기타 시장에서 가장 널리 사용되는 카메라 인터페이스라고 한다. CSI-2는 아래와 같은 계층 구조를 가진다.   물리 계층으로 MIPI C-PHY/D-PHY를 지원하고 CSI-2 프로토콜은 전송계층과 응용 계층을 포함하고 있다.  CSI-2는 v1.0이 2005년, v2.0은 2017년 4월, v3.0은 2019년 9월에 출시되었다. V2.0은 RAW-16 및 RAW-20을 지원하고, 가상채널은 4에서 32로 늘어났다. 또한 LRTE(Latency Reduction and Transport), DPCM(Differential Pulse-Code Modulation) 압축 및 스크램블을 통해 사용 전력을 줄였다. LRTE는 시스템 비...

IoT Protocol CoAP 메시지 요청/응답 모델 내용 정리

이미지
 본 포스트에서는 CoAP(Constrained Application Protocol, RFC 2752)의 메시지 모델에서 지원하는 Request의 메소드와 Response의 코드 및 옵션에 대해 알아보았다. CoAP의 메시지 형식에 대한 내용은 아래 포스트에서 다룬 적이 있다. IoT protocol CoAP 메시지 구조(Message Format) 요약 정리 ∘ CoAP의 Request/Response 모델 CoAP는 HTTP의 Request/Response 모델과 유사하게 운영된다. 클라이언트는 서버로 CoAP Request를 보내고, 서버는 요청에 해당하는 응답을 클라이언트로 보내게 된다. 다만, CoAP는 HTTP와 달리 endpoint간에 TCP 연결을 필요로 하지 않는다. CoAP는 HTTP와 유사한 GET, PUT, POST, DELETE 메소드를 제공한다.  Request는 CoAP 헤더의 Code필드를 메소드 코드로 설정하고 Request 정보를 포함한다. Response는 헤더의 Code필드를 응답 코드로 하여 Response를 식별하도록 되어있다. 이는 HTTP에서 상태코드를 사용하는 것과 유사하다. Code 필드는 아래와 같이 Class와 Detail로 나눠진다. Class는 다음과 같은 카테고리로 구분된다.  0 Request 2 Response Success 3 Response Client Error, The Request contains bad syntax or cannot be fulfilled 4 Response Server Error The server failed to fulfill an apparently valid request ∘  Request/Response 전송 모델 CoAP에서 Request/Response 송수...

IoT protocol CoAP 메시지 구조(Message Format) 요약 정리

이미지
 CoAP(Constrained Application Protocol)는 제한된 환경에서 M2M(Machine To Machine) 요구사항을 충족하는 웹 프로토콜이며, 이런 특성으로 인해 IoT를 위한 프로토콜로 각광받고 있다고 한다. 본 포스트에서는 이러한 CoAP의 메시지 구조에 대해 알아봤으며, 앞으로 CoAP에 관한 더 많은 포스트를 게재할 예정이다. CoAP는 RFC 7252에 정의 되어있다. CoAP (Constrained Application Protocol) CoAP의 상호 작용 모델은 HTTP의 클라이언트/서버 모델과 유사하다.  그림 1. CoAP의 메시지는 각 EndPoint간 UDP를 통해 전송된다. 그림 2. CoAP Message Format 그림 3. CoAP Message Format CoAP의 메시지 형식은 위 그림과 같다.  - Var CoAP 버전을 의미한다. 값은 0b01이다. - T (Type) 메시지의 형식을 나타낸다. Confirmable(CON): 0 , ack를 요구하는 메시지 Non-confirmable(NON): 1 , ack를 요구하지 않는 메시지 Acknowledgement(ACK): 2 , CON 메시지에 대한 응답 메시지 Rest(RST): 3 , 메시지가 수신되었으나 올바르게 처리하기 위한 내용이 누락되었음을 나타내는 메시지 메시지의 타입은 아래와 같은 형태의 메시지에 사용된다. Empty 메시지는 일반적인 경우 CON형식은 사용되지 않으나...

HTTP 프로토콜 구조 개요와 예제

이미지
HTTP는 HyperText Transfer Protocol의 약자이다. HTTP는 아마도 인터넷에서 가장 많이 사용되는 프로토콜일 것이다. HTTP 관련 표준은 다음과 같다. RFC 1945 "Hypertext Transfer Protocol HTTP/1.0", 1996 RFC 2616 "Hypertext Transfer Protocol HTTP/1.1", 1999 HTTP는 OSI 7 layer 에서 가장 상위 단의 application layer에 속한다. HTTP는 TCP/IP 연결 위에 올라가 있으며, HTTPS의 경우에는 SSL 위에 올라가 있다.  ================ HTTP     |      HTTPS ================                     SSL               =========           TCP  ================            IP ================ ◾ Protocol overview   HTTP는 위 그림과 같이 HTTP 클라이언트에서 HTTP 서버로 요청을 보내고, 요청을 받은 서버는 클라이언트에게 상황에 맞는 응답을 보내는 형태로 이루어져 있다. 예를 들어 웹 브라우저에서 서버로 웹 페이지를 요청할 때 아래와 같은 요청 메시지를 서버에 보내고, GET / HTTP/1.1 Host: ryanclaire.blogspot.com Connection: keep-alive DNT: ...

wav 파일 포맷에 대해 알아보자

이미지
 wave file format은 멀티미디어 파일 재생을 위해 마이크로소프트에서 만든 데이터 포맷RIFF(Resource Interchange File Format)의 하나이다. 본 포스트에서는 wave file format에 대해 알아보고 간단한 python code를 만들어 wave file을 분석해 보았다. file format은 아래 문서를 참조 했다. Multimedia Programming Interface and Data Specifications 1.0 Issued as a joint design by IBM Corporation and Microsoft Corporation August 1991 RIFF chunk wave file format은 RIFF 컨테이너를 사용하고 있다. 각 chunk는 ID, 길이 정보, 데이터를 가지고 있다. Chunk의 ID 및 Format는 big-endian이고, 그 외는 little-endian으로 저장되어 있다. 그림 1. wave file format RIFF chunk wave 파일의 sub chunk에는 기본으로 fmt, data chunk가 들어가며, 필요에 따라 fact, cue points, playlist, associated data list 들이 들어간다.   fmt Chunk 그림 2. fmt chunk fmt chunk는 그림 2와 같은 형태로 이루어져 있으며, data chunk에 들어있는 오디오 데이터의 형식에 관한 정보를 가지고 있다.  fmt chunk는 공통을 사용되는 'common file...

GIF file format 정리

이미지
GIF(Graphic Interchange Format)파일은 인터넷에서 많이 사용되는 이미지 형식 중 하나다. - 개발자 : CompuServe - 라이센스 소유: CompuServe - Version : 87a, 89a  - 릴리즈 : 1987년 - 이미지 압축 : LZW 사용 - 컬러 : 최대 256색의 RGB를 사용 - 표준 문서 url : https://www.w3.org/Graphics/GIF/spec-gif89a.txt GIF 파일 구조 및 구성 요소 GIF 파일은 이미지의 정보를 가지고 있는 Control Block과 렌더링할 이미지 데이터를 가지고 있는 Graphic Rendering Block. 그리고, 특수 목적으로 사용되는 Special Purpose Block으로 구성되어 있다.   일반적인 version 89a파일의 경우 보통 아래와 같은 구조로 되어 있다. 전체 GIF 파일의 정보를 가진 Descriptor가 맨 앞에 있고, 그 뒤로 이미지별 Descriptor와 압축된 이미지 데이터, 그리고 마지막엔 Trailer가 존재한다.  |  Header   |  Logical Screen Descriptor  |  Global Color Table  | |  Graphic Control Extension  |  Image Descriptor  |  Local Color Table  |  Image Data |  |  Graphic Control Extension  |  Image Descriptor  |  Local Colo...