Embedded

image data streaming

Megan Kim 2020. 5. 30. 20:32

-이미지 센서: 렌즈로 받은 빛을 디지털 신호로 바꿔서 저장을 하는 카메라의 코어 부분. 

-디지털 신호 : 0,1 비트로 표현 가능한 신호. 흑과 백은 0과1로 1bit로 표현가능하다. 1Byte라면 2^8 =  256개의 표현을 갖을 것이다.  

-픽셀 (화소) :  picture element , 디지털 이미지를 구성하는 가장 작은 단위이다.  아래 그림과 같이 이미지를 확대해보면 정사각형의 픽셀들의 조합들이 보여진다.

-해상도 (ppi) : Pixels per Inch , 1인치단위에 몇개의 픽셀이 들어있는지를 의미한다. 그 수가 많을 수록 해상도가 높아진다(섬세,촘촘히)

- 프레임 : 동영상의 가장 작은 단위 , 화면에 뿌려지는 한장 한장의 이미지라고 생각하면 된다.

-프레임 레이트 : Frame per second,  1초당 프레임 개수를 의미한다.

 

이미지 출처 : 구글

그렇다면 1픽셀이 모든 색을 표현하기 위한 최소 비트수는 얼마나 될까? 

우리가 흔히 아는 RGB 빛의 3원색의 조합으로 모든 색을 표현한다는 사실에 근거하여, 

R(256bits) * G(256bits) * B(256bits) * 명도(256bits) = 2^ 32 bits = 4bytes 라는걸 알아 낼 수 있다. 

한마디로 4바이트 디지털 신호로 각기 다른 색의 값을 담아낼 수 있다는 것이다. 

이미지센서는 수광부에서 렌즈의 빛을 받아 그  아날로그 신호를 디지털 (바이트) 신호로 변환하는 카메라의 핵심부인것이다. 

 

센서로부터 받은 전기적 신호를 모니터 화면에 영상 출력을 하는 원리는 어떤것일까? 

TCP/IP 통신 프로토콜을 가정하자. 물론 UDP가 영상 송출엔 더 유리하겠지만, TCP의 장점인 연결지향성을 우선시한다.

우리 회사의 카메라는 앞선 포스팅에서 이야기했듯이 FPGA를 사용하여 하드웨어적으로 거리 계산이 실시간으로 빠르게 이루어져 이미지에 대한 3D 데이터 정보를 생성한다. TCP/IP는 패킷 단위의 바이트 스트리밍을 기반으로하는데, 이때 1장의 이미지 프레임이 1단위가 되는 것이다. 프레임 단위의 전송이 끊김없이 이루어져서 화면에는 영상이 정상적으로 연속 출력이 되는 것이다.