무선 통신 채널에 HD video sequence가 25 frames/sec 당 전송되어야 한다고 가정해보자.
HD : 1920 x 1080 (resolution) pixels
각각의 픽셀들은 R,G,B에 대해서 8비트 코드 되었다. 이 때, Comprssion(압축)없이 필요한 transmission rate(전송률)은 어떻게 계산할까?
$R_u =1920\times 1080\times 25\times 3\times 8=1,244\;\mathrm{Gbs}$
5G 네트워크의 타겟 전송률은 전체 cell에 대해 1Gb/s이다. 따라서, Source coding은 아주 중요하고 필요하다.
1. 다양한 소스들의 Redundancy :
압축 할 데이터에 중복성(Redundancy)이 존재하면 저장 또는 전송할 콘텐츠의 크기를 줄이는 데 된다.
1) Temporal redundancy :
예를 들어, 비디오 시퀀스의 연속 프레임은 매우 유사하고, 오디오 소스의 연속 샘플도 비슷한 경우가 많다.
2) Spatial redundancy :
사진의 근접한 픽셀은 비슷한 색깔이나 Luminance(휘도)를 갖는다.
또 다른 예로, 가까이 위치한 센서로 연결된 온도 측정은 서로 Correlate(관련)이 있거나 비슷하다.
3) Spectral redundancy :
압축 될 신호의 스펙트럼 영역은 일반적으로 완전히 occupied되지 않는다. 예를 들어, 사람의 목소리는 일반적으로 300Hz ~3000Hz의 주파수 대역을 가지고 있다.
4)Statistical redundancy :
어떤 한 Test에서 어떤 글자는 다른 글자보다 더 많이 쓰인다. (Scramble : 스크램블). 일반적으로 일부 Symbols(기호)의 발생 빈도는 모든 기호에 대해 내용이 동일하지 않다. 이러한 모든 소스의 redundancy는 소스 코더가 식별하고 이용해야 하는 정보이다.
2. Color space transform(색 공간변환):
색 공간 변환은 한 기준에서 다른 기준으로 색상 표현을 변환하는 것이다.
예를 들어 한 유형의 색상 인코딩 신호를 다른 유형으로 변경하는 것은, 비디오 형식으로 작업 할 때 RGB에서 YUV로 다시 RGB로 변환하는 것이 일반적인 색상 공간 변환이다. RGB, CMYK, YUV, YIQ, Y’CbCr, HSV 등) 널리 사용되는 많은 색 공간이 있으며 광범위하게 사용된다.
RGB 색 공간
RGB clor 공간에는 Red, Green, Blue가 있는데, 각 색상을 추가하면 더 밝은 색상을 얻을 수 있다. 위의 사진은 색공간을 나타낸다.
YUV 색 공간
YUV는 일반적으로 컬러 이미지 파이프 라인의 일부로 사용되는 컬러 인코딩 시스템으로, Y 채널은 (Luminance)휘도를 의미한다. 그리고 U 및 V 채널을 사용하여 색차 데이터를 나타낸다. YUB 색공간 변환은 비디오 데이터 또는 텔레비전 신호를 효율적으로 전송하기 위해 개발되었다.
YUV 색 공간은 컬러 비디오 표준에서 사용되는 표준 색 표현 방법으로, U 축은 청색에서 밝기 성분을 뺀 것이고, V 축은 적색에서 밝기 성분을 뺀 것이다. 가중치 계수를 사용하여 RGB 색상 공간을 YUV 색상 공간으로 변경할 수 있다.
① From RGB to YUV
Y = 0.299R + 0.587G + 0.114B
U = 0.492 (B-Y)
V = 0.877 (R-Y)
It can also be represented as:
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
YIQ color space
컬러 TV 표준에서 일반적으로 사용되는 표준 모델로 YUV와 동일한 원칙을 사용한다. 아래 방정식을 사용하여 RGB에서 YIQ로 변환 할 수 있다.
② From RGB to YIQ
Y = 0.299R + 0.587G + 0.114B
I = 0.596R - 0.274G - 0.321B
Q = 0.211R - 0.523G + 0.311B
3. Chroma subsampling (크로마 서브샘플링) :
크로마 서브 샘플링은 비디오 파일 또는 비디오 신호의 색상 데이터를 압축하는 방법이다. 크로마는 색상을 의미하고 서브 샘플링은 인코딩 된 프로세스 동안 색상 데이터가 샘플링되는 빈도를 나타낸다. 크로마 데이터의 양은 밝기 데이터의 양과 같다.
Y | Cr | Cb |
---|---|---|
The numbers of Across pixels 4 x 2 |
First row the numbers of colors |
Second row the numbers of colors |
YCbCr은 비디오 및 디지털 사진 시스템에서 컬러 이미지 파이프 라인의 일부로 사용되는 색 공간 중 하나로, Y는 픽셀의 밝기를 나타내며 신호 양의 1/3을 공유한다. 밝기 신호는 압축없이 항상 유지되고 Cb와 Cr은 2/3 양의 신호를 공유하는 두 개의 크로마 신호다. 크로마 신호를 압축하여 데이터로드 량을 줄일 수 있다!
왜 색상을 압축할까? 인간의 시각은 색상 (채도)보다 밝기 (휘도)와 움직임에 훨씬 더 민감하다. 휘도는 모든 그림 세부 사항을 전달하는 것이며 채도는 컬러 이미지를 만들기 위해 추가되기에 비디오 파일 또는 신호의 크로마 데이터를 압축하여 비디오를 저장하고 전송할 때 귀중한 대역폭을 절약 할 수 있다.
Chroma 서브 샘플링에는 3 가지 종류가 있다. (4 : 4 : 4, 4 : 2 : 2, 4 : 2 : 0)
비율의 각 숫자는 다음과 같다.
① 첫 번째 숫자는 픽셀을 기준으로하는 샘플 영역의 크기를 의미한다.
② 비율의 두 번째 숫자는 샘플링 된 영역의 첫 번째 행에서 고유 한 색도 정보를 포함하는 픽셀 수를 나타낸다.
③ 세 번째 숫자는 샘플 영역의 두 번째 행에서 고유 한 채도 정보를 포함하는 픽셀 수를 나타낸다.
1) 4 : 4 : 4 (비 압축)
각 픽셀에는 모든 채도 정보를 포함하는 자체 색상 값이 있으므로 압축되지 않는다. 4 : 4 : 4에는 크로마 서브 샘플링이 사용되지 않는다고 말할 수 있다.
2) 4 : 2 : 2 (크로마 50 %)
두 행 모두 4 픽셀 중 2 픽셀의 크로마 정보를 포함한다.
3) 4 : 2 : 0 (크로마 25 %)
맨 위 행에는 4 개 픽셀 중 2 개 픽셀의 크로마 정보가 포함되어 있으며 크로마 정보를 위해 맨 아래 행에서 샘플링 된 픽셀은 없다.
'Information theory' 카테고리의 다른 글
Differential entropy (0) | 2021.04.24 |
---|---|
Lossy coding과 Entropy,Distortion (0) | 2021.04.24 |
Memoryless source, Markov source Entropy (0) | 2021.03.02 |
Midrise quantizer, Midtread quantizer (0) | 2021.02.27 |
Entropy란? (0) | 2021.02.27 |