11/25/2015

RGB , YCbCr, YUV 및 영상 Format 정리

매번 영상관련부분을 할때 마다 관련부분을 읽까먹어서 아래와 같이 간단히 정리한다.


1. RGB (Red , Green, Blue)

일반적으로 RGB Color의 정확한 이해부터 해보도록 해보자.
어렸을 때 흔히 빛의 3원색과 색의 3원색을  배웠던 기억이 있을 것이다.
우선 RGB를 이해하기위해서는 빛의 3원색의 이해가 중요하다.
색의 3원색은 우리가 물감을 이용할때가 필요 할때이며, 빛의 3원색과 성질이 다르다.

1.1 빛의 3원색 

이 세상에는 다양한 색이 존재하고 인간은 이를 많은 색상을 구분하는 것이 가능하다. (사람이 모든 색상을 완벽하게 구분을 하는 것은 아니지만)

색상의 기본적인 이해부터 해보도록 해보자. 일단 빛이 있어야 사람은 색상을 구분한다.
흔히 예전에 빛의 R, G, B로 색을 기본으로 합칠 경우 거의 모든색상이 표현이 되는데, 이를 빛의 3원색이다. 그리고, 이것이 RGB 이다.
기본적으로 존재하는 색상은 3가지 색상이며 이를 혼합하여 다른색상을 표현을 하는 것이 기본원리이다.
흔히 말하는 빛의 3원색이라고 한다. 빛의 경우 3가지 색상을 합칠 경우 흰색이 나온다.


RGB값을  이용하여 LCD 에 Display 할 경우 위와 같이 동작을 할것이며, 이를 적용하여 나온 것이며,

1.2 빛의 이론과 성질 

빛의 이론으로 들어가면 빛도 일종의 파장과 진동수가 존재하며 이를 깊게 파고 들고자 한다면 (예전부터 과학동아 많이 봐왔기에 이 부분을 간단히 정리하겠다 )
빛은 파동설과 입자설 존재하며, 이 부분은 거의 정설로 되어져 있다. (이 부분까지 들어가며 설명이 길어질 것 같다, 사실 나도 자세히 모르겠다.)

간단히 설명하면, 빛도 일종의 파장을 가지고 있으며, 주파수를 가지고 있다고 하는 것이 기본 정설이다. 그래서 일종의 주파수 개념이라고 생각을 파면되겠다. 거기에 입자설까지 나왔는데, 그 부분은 나도 오래되어서 까먹었다. (추후 공부하겠지만, 현재부분과 별로 관계가 없다)
관련부분이 궁금하다면, 직접 검색을 추천 (이 부분은 이전에 과학동아에서 우주관련부분에서 많이 설명이 나왔다.)

그래서 결론적으로 RGB의 즉 빛은 3원색에서 각 색상에는 특정 파장(Wavelength) 과 진동수(Frequency ,Hz) 도 존재한다는 것이다.

일단 차근차근 살펴보자. 인간이 볼수 있는 가시광선부터 살펴보자.
아래의 그림처럼 Wavelength와 Frequency를 나타내어주고 있으며,  빨간색으로 갈수록 점점 Low Frequency 와 Wavelength가는 것을 볼수 있다. .  
빛을 파동설로 보기때문에 이를 Microwave와 Radio 까지 연결시켜 볼수 있다.
빛을 일종의 전자파 개념으로 보는 것이다.


  • 파동-입자설 

 https://ko.wikipedia.org/wiki/%EB%B9%9B
 https://ko.wikipedia.org/wiki/%ED%8C%8C%EB%8F%99-%EC%9E%85%EC%9E%90_%EC%9D%B4%EC%A4%91%EC%84%B1


사람은 가시광선의 빛을 보고 색을 감지하기 때문에 이부분에 대해서 좀 더 자세히 알아보자.


RGB 색상혼합
  http://yjh-phys.tistory.com/35
  https://ko.wikipedia.org/wiki/RGB_%EA%B0%80%EC%82%B0%ED%98%BC%ED%95%A9


sRGB관련사항
  https://en.wikipedia.org/wiki/SRGB
  https://ko.wikipedia.org/wiki/SRGB



1.3 RGB의 표현 


  • RGB16  (5:6:5) 
Red,Blue에 5Bit를 할당하고, Green에 6bit에 할당하며, 이유는 Green 값이 Gamma 값과 밀접하기때문에 이곳에 더 할당값을 더 주었다.

그리고, 2Byte로 쉽게 표현이 가능하기에 , 이전에는 Video 영상보다는 거의 OSD에서 많이 사용되어져 왔으며 사용되었다.


  • RGB24  (8:8:8) 

각각 8bit씩 할당하며, 이 값은 LCD에도 전달하기에도 편하고 많이 사용되어지고 있다.
흔히 True Color 라고 하며, RGB888이라고 한다.


  • RGBA 

상위 RGB24와 거의 동일하지만, A 즉, 알파,Alpha 값 즉 투명값을 두어 32bit로 만들어 이를 사용하고 있다.



2. YUV 

YUV를 논하기 전에 사람의 색상을 인식하는 방법에 대해서 좀 알아보도록하자.
인간은 어떻게 색을 구분하는지에 대해서 원리를 알아야 YUV에 대한 기본접근이 가능하기 때문이다.

상위 RGB는 물리적인 접근이라면, YUV는 사람이 색을 어떻게 감지하는지에 대해서 힌트를 얻어 만들어낸 접근방식이다.


2.1 인간의 색 인식 방법 

인간은 망막을 가지고 있으며,  망막에는 망막에 상이 맺히며, 이 상을 시세포가 인지하여 색을 구분을 한다.
시세포는 다시 2가지로 구분이 되는데, 이 것이 간상세포와 원추세포이다.

각 세포의 역할을 살펴보면 다음과 같다.


  • 간상세포(막대세포)

사람마다 다르겠지만, 대체적으로 약 1억 3천만개의 간상세포을 가지고 있다고 한다.
빛에 대한 감도는 원추세포보다는 간상세포가 더 뛰어나기때문에 물체의 명암을 구별을 해주고 빛에 민감하다고 한다.
 
  https://ko.wikipedia.org/wiki/%EA%B0%84%EC%83%81%EC%84%B8%ED%8F%AC
  https://en.wikipedia.org/wiki/Rod_cell


  • 원추세포(원뿔세포)

사람마다 다르지만, 약 7백만개 정도를 가지고 있다고 하며, 원추세포의 역할은 자세한 모양과 색을 구별을 해주는 역할이다.
상위에서 RGB에서 배웠듯이 빛의 3원색에 각 빛에는 파장이 존재하며, 각 원추세포는 16개 정도의 원추세포가 존재하는 것으로 알려져있다.
대략 아래와 같이 3가지색으로 구분해보고 그 비율을 보면 아래와 같다.

  1. 장파장 L 원추세포인 로우(ρ)세포 (빨간영역)
  2. 중파장 M 원추세포인 감마(γ)세포 (초록색 과 노랑색 부분)
  3. 단파장 S 원추세포인 베타(β)세포 (파란색)



  https://en.wikipedia.org/wiki/Cone_cell
  https://ko.wikipedia.org/wiki/%EC%9B%90%EC%B6%94%EC%84%B8%ED%8F%AC



  • 사람의 색 인지방법 

  http://yjh-phys.tistory.com/35
  http://lovescience.pe.kr/ms/chapter2/color.htm









  • CIE-1931 Color Space 


아래와 같이 각 빛의 Wavelength를 알아보자. (nm, Wavelength라고 보면되겠다)
X 축 Cb
Y 축 Cr


  https://en.wikipedia.org/wiki/Chromaticity
  https://en.wikipedia.org/wiki/CIE_1931_color_space


   
  https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_xy_chromaticity_diagram_and_the_CIE_xyY_color_space




  https://en.wikipedia.org/wiki/YUV



YCbCr 관련 사항 Link
  https://en.wikipedia.org/wiki/Chroma_subsampling
  https://ko.wikipedia.org/wiki/%ED%81%AC%EB%A1%9C%EB%A7%88_%EC%84%9C%EB%B8%8C%EC%83%98%ED%94%8C%EB%A7%81


  https://en.wikipedia.org/wiki/YUV

  https://en.wikipedia.org/wiki/YCbCr

  http://www.avsforum.com/forum/149-blu-ray-players/2762609-official-sony-ubp-x800-owners-thread-no-price-talk-69.html




  http://www.fourcc.org/yuv.php

  http://ryan.tistory.com/129

  https://msdn.microsoft.com/ko-kr/library/windows/desktop/bb970578(v=vs.85).aspx