일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- pygraphviz 설치 오류
- Design DNN Accelerator
- CDC
- Pyverilog 설치
- Makefile compile
- CLOCK GATING
- AMBA
- Pyverilog 튜토리얼
- gcc 컴파일
- CUDA
- 이진수 곱셈 알고리즘
- 컨벌루션 연산
- gpgpu-sim
- DNN Accelerator
- pyverilog 설치 오류
- 딥러닝 가속기
- linux c 컴파일
- Pyvrilog tutorial
- makefile
- 대구 반도체 설계기업 특화
- Pyverilog 실행
- 클럭 게이팅
- 남산업힐
- 데이터 해저드
- linux makefile 작성
- DNN 가속기
- pytest-pythonpath 설치 오류
- Data HAzard
- systolic array
- linux c++ 컴파일
- Today
- Total
오늘은 맑음
YUV/YCbCr file format의 종류 본문
YUV와 YCbCr
YUV와 YCbCr은 현재 혼용해서 많이들 사용하지만 엄밀히 말하면 다른 포맷입니다.
YUV는 아날로그 비디오에서 사용하던 포맷이고 YCbCr은 디지털 비디오에서 사용하는 포맷입니다.
RGB to YUV 와 RGB to YCbCr을 변경하는 수식이 다르다고 합니다.
오늘은 Digital Video Codec에서 사용하는 YCbCr을 알아보겠습니다.
YUV와 YCbCr은 모두 RGB로부터 변형된 포맷입니다.
Y는 모두 luma를 의미하고, UV/CbCr은 모두 chroma 또는 chrominance를 의미합니다.
luma와 luminance를 헷갈리실 수도 있는데, 다른 데이터입니다.
저는 처음에 헷갈려서 혼용해서 용어를 사용했었습니다...
luma는 gamma 인코딩된 RGB값이므로 luma는 luma라고 표기해야 합니다.
Video Codec에서 YCbCr 포멧을 사용하는 이유는 압축하기에 좋아 압축률이 우수하기 때문입니다.
압축률이 우수한 이유는 사람의 눈은 luma성분에는 민감하지만 chroma성분에는 둔감합니다.
따라서 chroma 성분을 줄인 YCbCr 포멧의 데이터는 사람의 눈으로 보기에 화질에는 큰 영향이 없으면서, 영상의 용량이 매우 줄어들게 됩니다. 곧 압축을 했을 때 더욱 작은 용량으로 압축이 가능하다는 뜻이 됩니다.
YCbCr은 여러가지 포멧이 있지만 오늘은 가장 많이 언급되는 4:4:4, 4:2:2, 4:2:0에 대해 알아보겠습니다.
4:4:4
4:4:4 format은 위와 같습니다. 파란 성분은 luma, 빨간 점선은 chroma(cb, cr)성분입니다.
4:4:4는 Luma성분 하나에 Cb, Cr성분이 대응됩니다. 모든 데이터를 다 사용 한다고 볼 수 있습니다.
4:2:2
다음은 4:2:2 포맷입니다. width로 Luma 2개에 Cb/Cr성분이 1개가 대응되는 것을 볼 수 있습니다.
이러한 경우 Luma와 chroma의 비율이 2:1이 됩니다. chroma성분이 그만큼 줄었기 때문에 전체적인 파일의 용량이 줄어들게 됩니다.
4:2:0
마지막으로 4:2:0 format입니다. 4:2:0은 width/height단위로 4개의 luma 성분이 1개의 cb/cr성분을 공유합니다.
따라서 luma와 chroma의 비율은 4:1이 되어 chroma 성분이 더욱 줄어들게 되어 원본의 용량이 4:2:2보다 더욱 줄어들게 됩니다.
이렇게 Digital Video Codec에서 사용하는 YCbCr 데이터 포맷에서 가장 많이 사용하는 세 가지를 알아봤습니다.
추가적으로 위의 포맷 외에도 4:1:1, 4:0:0(monochrome)과 같은 포맷도 있습니다.
'Video Processing' 카테고리의 다른 글
Baseline JPEG for hardware (0) | 2021.12.30 |
---|---|
Dithering, Floyd-Steinberg (0) | 2021.05.19 |
Video raster scan(raster scan order) (0) | 2021.04.17 |
DCT (1) | 2017.11.18 |