HEVC 1-2

coding_bird·2022년 7월 6일
0

HEVC

목록 보기
1/1
post-thumbnail

1. 컬러공간 (RGB vs YCbCr)

색상을 표현하는 방식을, RGB와 YCbCr의 두 가지로 나누어 설명한다.

1-1. RGB

일상적으로 많이 사용하는 색 표현 방식. 보통 8bit 표현 방식을 주로 사용하는데, 이 경우 R(Red), G(Green), B(Blue) 색상에 대해 각각 0 ~ 255, 즉 2의 8제곱 단계를 통하여 색상을 나타낸다.

따라서 나타낼 수 있는 색상의 가짓수로는 255 x 255 x 255 = 16,777,216가지가 있다.

현재는 10bit 표현 방식도 점차 많이 사용하는 추세인데, 이 경우 R, G, B가 각각 2의 10제곱, 즉 1024단계로 색상을 나타내게 된다. 이때 표현 가능한 색상의 총 가짓수는 10억 색상이 넘는다.

1-2. YCbCr

YCbCr은 RGB에 비해 색상 분리효과는 약하지만, 적은 데이터로 보다 많은 색상을 표현할 수 있어 영상 압축 기술에 주로 사용된다. 또 아래에서 언급하겠지만, 흑백 TV와 컬러 TV에서 모두 사용가능하다는 특징을 가진다.

YCbCr이라는 용어는 Y, Cb, Cr의 합을 의미하는데, 각각은 다음의 약자이다.

  1. Y는 Luma의 약자이며, 밝기를 의미한다.
  2. Cb는 Blue - related to Chroma를 의미한다.
  3. Cr은 Red - related to Chroma를 의미한다 (이때 Chroma는 채도를 의미한다).

Cb와 Cr의 의미를 대략적으로 설명하자면,
Cb는 Y와 Blue 간의 차이, Cr은 Y와 Red 간의 차이를 의미한다.

정확한 수식은 아래와 같다.

여기서 KR,KG,KBK_R, K_G, K_B 는 Hyper Parameter로, ITU-R BT.601 규격의 경우 다음의 파라미터를 사용한다.

KR=0.299,KG=0.587,KB=0.114K_R = 0.299, K_G = 0.587, K_B = 0.114

이 파라미터를 사용한 경우의 변환식은 아래와 같다.

Y=0.299R+0.587G+0.114BY = 0.299R + 0.587G + 0.114B
Cb=0.16874R0.33126G+0.5BC_b = -0.16874R - 0.33126G + 0.5B
Cr=0.5R0.41869G0.08131BC_r = 0.5R - 0.41869G - 0.08131B

(단, 이 변환식에서의 R, G, B는 RGB에서의 값을 감마 변환한 값을 말한다. 이 과정에 대해서는 자세히 다루지 않는다)

2. 순차/비월 주사

우리가 유튜브를 볼 떄, 화질을 설정하는 항목에서 480p, 720p, 1080p 등의 숫자를 본 적이 있을 것이다. 여기서의 p는 순차주사 방식을 말하는 것으로, Progressive의 약자이다. 또 다른 방법으로는 비월주사가 있으며, Interlaced의 약자인 i를 사용한다. 현재는 잘 사용되지 않아 최근에는 본 경험이 적을 것이다.

참고) interlaced는 '꼬여있는, 엮인' 이라는 의미이다.

비월 주사 (Interlaced Scan)

'비월'이란, 무언가를 뛰어 넘는 것을 의미하는 한자어이다. 이는 비월 주사의 방법과 일맥상통한데, 텔레비전 화면을 구성하는 수평주사선을 1개 간격으로 뛰어넘으며 주사하는 방식을 말한다.

즉 화면의 가로 줄을 짝수 번째 라인과 홀수 번째 라인으로 나눈 후, 한 프레임에서는 짝수 번째, 다음 프레임에서는 홀수 번째라인을 주사하는 방식이다. 이 방법은 제한된 주파수 대역에 해상도를 맞추기 위한 방법으로 사용되었으며, 화면의 재생률을 높이지 않고서도 세로 방향의 해상도를 두 배로 할 수 있다는 장점이 있다.

하지만 화면이 떨려 보이거나, 화면이 위, 아래로 천천히 움직이는 '라인 크롤' 문제가 발생한다는 단점이 있어, 더 높은 주파수 대역을 사용할 수 있는 현재에는 잘 사용되지 않는 방식이다.

의문) 비월 주사는 짝, 홀수 라인을 교대로 보여주는 것인가요, 아니면 한번은 짝수, 다음 번은 전체를 보여주는 것인가요?

순차 주사 (Progressive Scan)

비월 주사에서 발전한 방식으로, 가장 직관적인 방식에 해당한다.
한 프레임에 하나의 온전한 화면을 주사하는 방식으로, 30p인 경우 1초에 30장의 온전한 화면을 주사한다. 비월 주사에 비해 더 높은 대역폭을 요구하지만, 앞에서 언급한 비월 주사의 단점이 없어 현재 주로 사용한다.


Reference
https://10scopes.com/rgb-vs-ycbcr/
https://teus.me/481
https://www.studiobinder.com/blog/interlaced-vs-progressive-scan/

profile
소프트웨어 세상 날아다니는 중입니다

0개의 댓글