출퇴근 시간마다 교통체증 때문에 난항을 겪습니다. 특정 시간마다 한꺼번에 많은 차량이 몰리면서 보통 10분, 20분이면 갈 거리를 1시간동안 도로에서 시간을 보내게 되죠. 이럴 때마다 2차원 공간의 한계를 항상 느낍니다. 물론 우리에게는 지하철도 있고 고가도로도 있습니다. 2차원에서 3차원으로의 확장이죠. 하지만 확장된 범위가 위 아래로 1단계 뿐이기 때문에 러시아워 때가 되면 전쟁터가 됩니다. 이걸 해결하기 위해 2017년 일론머스크는 지하를 뚫고 하이퍼루프를 개발하는 보링컴퍼니를 설립해요. 진정한 2차원에서 3차원으로의 확장입니다. 아직 여러 규제와 비용 등으로 난항을 겪고 있지만, 계속 시도해서 사업에 성공한다면 머지않은 미래에는 지하세계가 펼쳐질 거라 생각합니다.
보링컴퍼니의 하이퍼루프는 땅 너머 보이지 않는 세계를 건설하는 것입니다. 그리고 이와 똑같이 화면 너머에도 보이지 않는 세계가 활발히 움직이고 있습니다. 하지만 이 세계는 하이퍼루프와는 비교할 수 없을 정도로 깊고 다양한 모습을 갖고 있어요.
오늘은 화면 속에 숨겨진 진정한 보석들, 비트뎁스에 대해 설명해보도록 하겠습니다.
1. 디지털(Digital)
예상대로 비트뎁스의 비트는 데이터의 최소단위의 그 비트가 맞아요. 따라서 앞으로 디지털과 관련된 이야기가 계속 나올 것이기 때문에 디지털에 대해 먼저 알아보겠습니다.
디지털은 어떤 정보를 특정한 최소 단위만을 사용해서 표현하는 방식을 말합니다. 예를들면 짧은 전류와 긴 전류만을 사용하는 모스부호, 불이 켜지고 꺼지는 것으로 상황을 전달하는 봉화대, 엄지의 방향에 따라 의미가 달라지는 업앤다운이 있어요. 그리고 디지털은 모두가 알다시피 0과 1. 이 두가지로 모든 표현을 하게 됩니다. 전압이 높으면 1, 전압이 낮으면 0. 이렇게 말이죠.
설명이 조금 길어질 수도 있겠지만 어쩔 수 없이 디지털 신호와 반대되는 아날로그 신호를 먼저 설명하겠습니다. 아날로그는 연속적으로 변하는 값을 가지는 신호나 데이터를 뜻합니다. 예를들어 자연에 존재하는 빛과 소리, 날씨와 기후, 지형의 곡선과 흔들리는 나무까지 연속적으로 일어날 수 있는 것이죠. 인간이 만든 것들 중에서도 분침이 시침이 움직일 때, 온도계가 올라갈 때, 렌즈의 초점을 맞출 때, 다이얼로 볼륨을 높일 때 모두 아날로그라고 할 수 있습니다.
아날로그 신호를 디지털 신호로 바꾸기 위해서는 표본화(Sampling)와 양자화(Quantization)를 거쳐야 합니다.
먼저 표본화는 무한한 데이터 중에서 일부만 뽑아서 전체 패턴을 추적하는 것입니다. 예를들면 빈 과녁판이 있는데 5칸으로 나눠서 최대 5점짜리 과녁을 만들 수도 있고, 100칸으로 나눠서 최대 100점짜리 과녁을 만들 수도 있습니다. 아날로그의 연속된 정보는 무한하기 때문에 마음만 먹으면 1억점짜리 과녁판도 만들 수 있어요. 하지만 표본화 주기가 짧을수록, 즉 더 많이 쪼갤수록 더 정확한 과녁판이 되겠지만 그만큼 시간과 비용이 많이 들기 때문에 효율이 떨어지게 됩니다. 우선 예시로 10점이 최고점인 과녁판을 100번 쪼개어 만들어놓도록 할게요.
표본화된(쪼개진) 아날로그 데이터는 양자화(Quantization)를 거쳐 디지털화 되게 됩니다.
양자화는 일정한 범위나 기준값을 정해놓고, 특정 값이 나오면 거기에 가장 근접해있는 값을 기준값으로 만들어서 사용하는 것입니다. 예를들면 표본화를 설명할 때 만들었던 과녁판을 가져와 양자화 범위를 '정수 단위'로 설정해 보겠습니다. 그럼 우리가 실제 화살를 쏘았을 때 8.5점 지점에 맞더라도 기록은 9점이 되겠죠. 이는 우리가 실제 양궁을 채점할 때와 같습니다. 특정 점수를 얻었을 때 그와 가까운 높은 점수를 기록하게 되는 거예요.
이해를 돕기위해 디지털화 과정을 정말 간단하게 예시로 들었지만, 사실 굉장히 복잡한 과정들이 생략되어 있습니다. 나중에 기회가 된다면 조금 더 자세히 설명하도록 해볼게요. 여기에서는 무한한 아날로그 데이터를 잘게 쪼개고(표본화Sampling), 정해진 규격 안에서 다루기 편하도록 간소화하고 정리하는 개념이라는 것까지만 알아두면 되겠습니다.
2. 비트뎁스(Bit Depth)
이제 본격적으로 비트뎁스에 대해 설명해보도록 하겠습니다. 비트뎁스를 풀이하면 색의 깊이를 뜻하는데요, 더 정확한 정의로는 하나의 픽셀이 표현할 수 있는 색의 수를 뜻합니다. 저는 비트뎁스를 설명할 때 항상 물감을 예로들고 있어요. 만약 똑같은 실력을 가진 두 사람이 있다고 해보겠습니다. 먼저 A라는 사람에게는 12가지 색의 물감을 주었고 B에게는 100가지 색의 물감을 주고 똑같은 나무의 밑그림이 그려진 종이에 색칠을 해보라고 합니다. 누가 더 사실에 가까운 그림을 그릴 수 있을까요? 당연히 더 많은 색을 가지고 있는 B일겁니다. 여기서 더 많은 색의 물감을 가질수록 더 사실적으로 색칠할 수 있을 것이고, 더 창의적인 색감으로도 표현할 수 있을 거예요.
마찬가지로 색 깊이가 깊을수록, 즉 비트뎁스가 높을수록 하나의 픽셀이 표현할 수 있는 색도 많아집니다. 화면 위에 켜져있는 한개의 픽셀은 하나의 색을 표현할 뿐이지만 그 뒤에는 수많은 색이 숨겨져 있어요. 마치 지하세계의 하이퍼루프처럼 아득히 깊은 컬러의 세계가 펼쳐져있는 것입니다. 그래서 높은 비트뎁스로 더 많은 색을 표현할 수 있게 되면 실제와 가깝게 이미지를 나타낼 수 있습니다. 하지만 비트뎁스는 실제와 가까운 이미지를 재현하는 것 이상으로 더 큰 가치를 가지는데요, 내가 원하는 색을 꺼낼 수 있기 때문에 의도한 분위기와 창의적인 컬러를 만드는데 활용되기 때문입니다. 이는 후반 색보정을 할 때 엄청난 강점을 가지게 됩니다. 언제든 아이디어만 있다면 새로운 컨셉을 부여할 수도 있고, 평소에 보지 못했던 색감을 만들 수도 있게 되죠.
3. 이미지 표본화(Sampling)와 양자화(Quantization)
이제 비트뎁스가 만들어지는 과정에 대해 알아보겠습니다. 영상기술에서 가장 원시적인 아날로그 신호는 빛입니다. 렌즈를 통해 카메라로 들어온 빛이 이미지 센서에 닿게 되면, 광자에서 전자로, 전자는 전압으로 변환되어 디지털 신호로 바뀌게 됩니다. 이미지 센서를 확대해보면 수백, 수천개의 센서 픽셀들이 배열되어 있는데요, 배열된 센서픽셀이 빛의 무한한 아날로그 신호를 잘게 쪼갠 후 촬영 중인 장면의 패턴을 추적하게 됩니다. 이 때 센서 픽셀의 개수와 밀도에 따라서 이미지의 품질이 달라지고 결과적으로 해상도에 영향을 미치게 됩니다. 위에서 설명했던 과녁판의 칸이 많아지고 촘촘해질수록 더 정확한 점수 기록을 할 수 있는 것처럼, 배열된 센서 픽샐의 개수가 많아질수록 더 정확하고 선명한 화면을 기록할 수 있게됩니다. 최대한 간단하게 설명하기 위해 많은 부분을 생략 했지만, 빛을
전기신호로 바꾸는 과정에서 표본화(Sampling)를 진행하고 있는 거예요.
이렇게 이미지 표본화가 되면, 이제 양자화(Quantization)를 거칩니다. 양자화는 특정 값이 나오게 되면 정해진 양자화 설정에 따라 기준값에 가장 근접한 값으로 매칭되는 것이라고 했습니다. 과녁판에 8.5를 맞춰도 9점으로 기록되는 것처럼 말이죠. 빛 에너지가 센서에 닿으면 전압으로 변환됩니다. 여기까지가 표본화(Sampling) 단계예요. 빛에 따라 얻어진 전압은 다시 몇단계의 레벨을 기준으로 매칭시켜 디지털화 시킬 것인지를 정하게 됩니다. 즉, 표본화 과정에서 얻어진 전압을 정해진 간격에 따라 근사치로 바꿔 저장하는 거죠. 여기서 말하는 단계와 간격은 표현할 수 있는 정보의 개수를 뜻하는데, 이는 양자화를 거칠 때 설정된 비트에 따라 달라지게 돼요.
비트는 디지털 정보의 최소단위 입니다. 그리고 우리는 컴퓨터가 0과 1만으로 모든 정보를 분석하고 처리한다는 것을 알고 있어요. 이 비트를 0과 1이 들어갈 수 있는 공간이라고 생각하면 쉽습니다. 만약 1비트라면 들어갈 수 있는 공간이 1자리 뿐이기 때문에 0 혹은 1로 하나씩 들어갈 수 있습니다. 따라서 1비트는 0, 1 이렇게 2가지 표현만 할 수 있어요. 2비트가 되면 들어갈 수 있는 공간이 2자리가 생기기 때문에 표현할 수 있는 정보의 개수가 늘어납니다. 정리 해보면,
1bit = 0 / 1 (2가지 표현)
2bit = 0 1 / 1 0 / 1 1 / 0 0 (4가지 표현)
3bit = 0 0 0 / 0 0 1 / 0 1 1 / 1 1 1 / 1 0 1 / 1 0 0 / 0 1 0 / 1 1 0 (8가지 표현)
4bit = 0 0 0 0 / 0 0 0 1 / 0 0 1 0 / 0 0 1 1 / 0 1 0 0 / 0 1 0 1 / 0 1 1 0 / 0 1 1 1 / 1 0 0 0 / 1 0 0 1 / 1 0 1 0 / 1 0 1 1 / 1 1 0 0
/ 1 1 0 1 / 1 1 1 0 / 1 1 1 1 (16가지 표현)
...
이와 같은 방식으로 비트 수가 늘어날 수록 표현할 수 있는 정보의 개수가 늘어나게 됩니다. 여기서 우리는 2n 이라는 공식을 얻을 수 있습니다. 예를들어 8bit는 210 으로 256가지의 표현을 할 수 있는 것이죠. 그리고 여기서 말하는 '표현'이라는 것은 밝기와 색의 표현이라고 할 수 있습니다.
처음에 말했던 것처럼 비트뎁스는 1개의 픽셀이 표현할 수 있는 색의 가지수를 뜻한다고 했어요. 8비트는 256가지의 색, 10비트는 1024가지의 색을 표현할 수 있는 겁니다. 하지만 이는 하나의 채널만 사용하는 모노크롬, 즉 흑백이나 단색 이미지에만 해당해요. 디지털이 컬러 이미지를 만드는 과정을 한번 보겠습니다. 이미지 센서에 배열된 센서 픽셀을 확대하면 컬러 필터가 포함되어 있는 것을 볼 수 있는데 일반적으로 R(레드),G(그린),B(블루) 3가지 색으로 되어 있어요. 나중에 색채학을 설명할 때 다시 나오겠지만 R, G, B는 빛의 3원색으로 이론적으로 이 세가지 색을 적절하게 조합하면 모든 색을 구현할 수 있습니다. 센서로 빛이 들어오면 RGB 각각의 컬러필터를 통해 특정 파장에만 반응해서 전압으로 변환하고, 그 전압에 대해 양자화를 거치게 되는거죠. 따라서 각 채널마다 비트뎁스를 가지게 됩니다. RGB 색모델을 가진 카메라와 모니터가 8비트를 지원한다면 이론적으로 256(R) x 256(G) x 256(B) = 16,777,216 가지의 색표현이 가능하고, 10비트라면 1024(R) x 1024(G) x 1024(B) = 1,073,741,824, 약 10억가지의 색상을 표현할 수 있게 됩니다.
4. ADC, 그리고 코덱
이미지 표본화(Sampling)는 픽셀 센서에 의해서, 더 정확히는 센서 픽셀의 배열에 의해서 이루어진다고 했습니다. 그리고 이는 해상도와 밀접한 관련이 있어요. 그렇다면 양자화는 어디에서 진행되는 걸까요? 기종마다 차이가 있겠지만, 현재 출시되는 대부분의 카메라는 CMOS 이미지 센서이기 때문에 이를 토대로 설명하겠습니다. 양자화는 이미지센서에 내장된 Analog to Digital Converter, 줄여서 ADC에 의해 진행돼요. 위에서 설명했듯이 표본화 과정에서 얻어진 전압 레벨(전기신호)을 ADC에 넣으면 정해진 단계, 간격만큼 양자화를 거치게 됩니다.
여기에서는 생략되겠지만, 양자화 이후 디지털화 된 신호는 복잡한 이미지 프로세싱을 거쳐 이미지 데이터가 됩니다. 그리고 내장된 코덱에 의해 영상 파일로 나오게 돼요. 코덱은 이미지 데이터를 담아내는 그릇과 같은 것이라고 생각하면 쉽습니다. 궁극적으로 이미지 데이터를 담아내는 코덱이 비트뎁스를 결정하게 됩니다. 현재까지 나온 코덱의 종류가 너무나 많은 것처럼, 각 코덱마다 지원하는 비트뎁스도 다릅니다. 따라서 용도와 목적에 맞는 코덱을 정하는 것도 굉장히 중요하겠죠. 이 이야기는 나중에 더 자세히 해보도록 하겠습니다.
5. 다이나믹레인지(Dynamic Range)와 비트뎁스(Bit Depth)
마지막으로 알고있으면 더 도움이 될만한 개념을 소개하겠습니다. 이전에 다이나믹 레인지에 대해 설명했었는데요, 다이나믹 레인지는 가장 어두운 부분에서 가장 밝은 부분까지 몇단계로 표현할 수 있는지를 뜻합니다. 그리고 우리 눈이 1배 밝아지려면 2배 더 많은 빛이 필요하다는 원리에 의해서 다이나믹 레인지의 단계, 즉 stop은 2n으로 계산되고 표현된다고 할 수 있어요. 가령 어떤 카메라의 다이나믹 레인지가 14stop 이라면 이 카메라의 가장 어두운 부분을 기준으로 214 = 16,384배 더 밝은 단계까지 표현할 수 있게 되는 겁니다. 여기서 눈치채신 분도 있겠지만 이는 양자화 과정에서 표현할 수 있는 단계의 수를 이진법으로 계산되어 처리하는 것과 같아요. 14stop의 다이나믹 레인지가 16,384 단계의 밝기를 표현하는 것처럼, 14비트는 16,384가지의 색(이론적으로는 약44조개의 색이지만)을 표현할 수 있습니다. 여기서 이 둘은 아주 밀접한 관계를 가지게 돼요.
저는 다이나믹 레인지는 밑그림을 그려 윤곽선을 만드는 것, 비트뎁스는 그 위에 색을 칠하는 것으로 비유합니다. 연필로 밑그림을 그려놓고 색연필이나 물감으로 채색을 하는거죠. 채색을 하기 전에 먼저 그릴 것에 대한 윤곽은 반드시 필요합니다. 그리고 그 윤곽이 선명하고 디테일 할수록 칠할 수 있는 색도 훨씬 더 다양해질 것입니다. 이처럼 영상에서도 반드시 밝기가 존재해야 컬러가 있을 수 있습니다. 다이나믹 레인지가 밝기의 단계이고 비트뎁스가 컬러의 단계라면, 이를 미루어 봤을 때 다이나믹 레인지가 존재해야 그에 맞게 비트뎁스도 충족될 수 있어요. 즉, 표현할 수 있는 색이 아무리 많더라도 그에 상응하는 밝기가 없으면 전부 표현할 수 없다는 말입니다. 예를들어 12stop의 다이나믹 레인지를 가진 카메라를 온전히 활용하기 위해서는 12비트로 양자화를 할 수 있는 ADC, 그리고 12비트를 담을 수 있는 코덱이 필요한 것이죠. 역으로 내가 촬영한 클립이 12비트를 지원하는 코덱으로 찍혔다면 최소한 12stop 이상의 다이나믹 레인지를 가진 카메라인 것을 추측할 수 있습니다.
이렇게 비트뎁스에 대해 알아보았습니다. 비트뎁스는 다이나믹 레인지와 함께 색을 표현하고 바꾸는 것에 있어서 정말 중요한 요소입니다. 화면 위에 존재하는 픽셀에 단 하나의 색을 밝히기 위해 이면에 펼쳐진 컬러의 세계를 탐험하는 것이 영상 색보정, 컬러 그레이딩(Color Grading)이라 생각해요. 컬러 그레이딩은 우주를 탐험하는 것이고 비트뎁스는 숨겨진 우주입니다.
'nonlinear > 영상기술' 카테고리의 다른 글
코덱에 관한 자세하고 직관적인 설명들 (0) | 2024.03.30 |
---|---|
프레임레이트와 비트레이트(Framerate, Bitrate) (0) | 2024.03.03 |
다이나믹 레인지(Dynamic Range): 궁극의 장면을 빚어내기 위해서 (2) | 2024.02.04 |
해상도에 대하여: 화면이 크면 무조건 좋은걸까? (3) | 2024.01.25 |
영상 공부를 시작했다면: 화질에 영향을 주는 것들 (1) | 2024.01.22 |