애플TV를 가지고 실험 설계#
애플TV 4K 2세대는 다른 제품과 비교해서 성능면에서 작지만 두 가지 장점을 가지고 있습니다.
- 자연스러운 동영상 재생
- 색상 표현 능력
제가 판단할 때에 화질에 엄청난 차이를 주는 것은 아니고 약간의 색온도 변화 정도 있는 것 같습니다. 당연히 가정에 있는 메이커가 전부 다른 TV세트 하드웨어 설정을 건드릴 수 없기 때문에 간단한 후보정을 하는 것으로 보입니다. 암부 계조 표현을 대충 살펴보니 조금 더 심화해서 들어가면 디더패턴을 건드리는 것 같기도 하지만 적어도 2미터 뒤에서 보는 거실 TV경우에는 그 부분이 크게 중요하지 않다고 생각합니다. 하지만 영상의 프레임이 어떻게 뽑히는지는 사용자가 체감할 수 있는 꽤 중요한 부분이라고 생각합니다. 그래서 아래와 같은 테스트를 해보았습니다.
이와 같은 차이점을 보기 위해 다음과 같이 테스트를 진행했습니다.
실험1. 자연스러운 동영상 재생
- 테스트 환경: 필립스 UHD 70인치 SDR TV
- 테스트 기기: 서피스 랩탑3 노트북 vs 애플TV 4K 2세대
- 테스트 컨텐츠: 유튜브 4K 영상

이 테스트는 LG, 삼성전자의 UHD 스마트TV까지 있었다면 아주 흥미로운 테스트가 되었을 것으로 생각합니다만 제가 사비로 두 TV를 마련하는건 무리여서 대략 요 정도 선에서 진행해봤습니다. (저는 집에서 재미로 테스트나 해보는 한낱 UX 고인물일뿐이니까요) 대신 애플TV처럼 외부에서 TV로 연결하는 기기로 비교하는 것이 가장 의미있다고 판단하여 유사한 성능의 노트북으로 테스트를 진행했습니다.
수치상 성능은 당연히 노트북인 서피스 랩탑3가 우세하지만 애플TV도 스펙 상 그렇게 많이 뒤지지는 않습니다. 플랫폼이 완전히 다르기 때문에 동일한 스펙을 찾기 어렵기도 하고 애플 M1 CPU의 경우에는 특정 작업에서 성능을 부스트할 수 있는 뉴럴엔진을 탑재하고 있기 때문에 살짝 더 수치가 높은 제품을 사용하기로 했습니다.

- 테스트 기기에서 나오는 영상 신호를 TV에 출력하면
- 아이폰12 미니를 이용해서 동영상을 촬영했습니다
- 테스트 컨텐츠: 유튜브 4K 영상으로 8K 촬영된 1000프레임 초고속 촬영 영상입니다
애플TV나 서피스 랩탑3에서 직접 영상 신호를 추출하지 않은 가장 큰 이유는 사용자 입장에서 평가하기 위해서입니다. 두번째 이유는 애플TV의 경우에는 별도 포트가 없기 때문에 맥을 연결하여 무선으로 영상 신호를 공유해야 합니다. 제가 테스트를 해보니 이 과정에서 애플TV 프레임 전송률에 변화가 생깁니다. 4K 영상을 재생하면서 무선통신으로 동일한 영상을 전송해야하면 부하가 커지는 건 당연한 일일겁니다. 그래서 최대한 객관적인 테스트를 위해 영상 신호에 그 어떤 변조의 가능성이 없고 실사용 환경에 가장 근접한 방식으로 실험을 진행했습니다. 그리고 자연스러운 움직임을 측정하기 위해 재생 영상의 일부분을 프로그램으로 영상 추적하고 그 좌표를 자동으로 기록하는 방식을 선택했습니다. Python으로 image trakcing 코드를 만들었고 분석은 Matlab을 사용했습니다.
FM을 말씀드리면 가장 정확한 방법은 영상 소스 물리고 오실로스코프로 싱크, 데이터 신호 찍어가면서 측정하는 것입니다. 하지만 TV 개발 목적이 아니라면 그렇게 안해도 괜찮습니다. 왜냐하면 우리 모두 보급형 고속카메라가 가지고 있기 때문입니다. 예전에는 고속카메라하면 굉장히 고가 장비였지만 이제는 아이폰에서 240Hz까지 되는걸요. 세상이 너무 좋아졌습니다. 이 정도 스펙이면 간단한 테스트를 하는데에는 전혀 무리가 없습니다. 심지어 4K, 8K로 영상의 크기가 늘어나면서 오히려 frame rate는 더 낮은 스탠다드를 가지게 되었거든요. 그래서 아이폰 촬영 시 고속 카메라 모드로 촬영을 했습니다. 따라서 TV 영상을 출력신호 30Hz의 8배인 240Hz로 수집했습니다. (이 실험에 쓰인 4K 영상 소스가 30Hz이고 이 영상 소스를 아이폰 카메라로 30Hz로 녹화하게 되면 Nyquist theorem에 의해 문제가 발생할 수 있기 때문입니다) 그리고 인터넷 환경에 따라 발생할 수 있는 오차가 존재합니다. 4K 영상이다보니 데이터가 크잖아요? 대용량 데이터를 내려 받는 환경에서 오는 딜레이 노이즈가 충분히 존재할 수 있습니다. 다만 AppleTV 4K와 surface laptop3 모두 동일한 환경에서 동일한 시간에 연속 촬영했기 때문에 그 오차가 실험의 상대적 비교에 주는 영향은 미미하여 무시할 수 있다고 가정합니다.
실험 결과#

이 그래프는 가로축이 시간, 세로축이 Y좌표입니다. 둘 다 시간에 따라 Y좌표가 작아지고 있는 형태입니다. 위에 측정 샘플 영상을 보시면 아시겠지만 물방울이 위로 올라가는 영상을 소스로 사용했습니다. 그래서 Y좌표가 시간에 따라 작아지는 것입니다. (Y좌표가 작아짐 = 위로 올라감) 그런데 구불구불한 정도를 보면 벌써 예사롭지 않습니다. 애플TV 4K 쪽이 좀 더 매끄럽고 surface laptop3 쪽이 좀 더 울퉁불퉁하게 나옵니다. 이것이 무슨 의미인지 시간축과 좌표축으로 나눠서 자세히 설명하도록 하겠습니다.

이 그래프는 새 화면이 나오는 시간만 표시한 것입니다. 두 제품 모두 83ms 간격으로 화면이 가장 많이 나왔습니다. 그리고 80 - 90ms안에 대부분의 화면이 출력이 되었습니다. 원래 영상 소스가 30Hz 였기 때문에 화면은 33.33ms마다 갱신되어야 정상입니다. 아마 회로의 vsync pin에 오실로스코프를 물렸다면 그렇게 나왔을 것입니다. 하지만 우리는 고속카메라로 측정하고 있기 때문에 실제 회로에서 쏴주는 신호 간격이 아닌 측정 카메라로 느끼는 간격으로 화면이 갱신됩니다. 조금 어려울 수 있으나 이해하고 나면 쉬운 이야기입니다. 잘 따라와 봅시다.

이상적인 측정 결과는 위의 다이어그램과 같습니다. 화면이 딱 나올때 맞춰서 아이폰 고속카메라가 화면을 딱 수집하는 것이죠. 30Hz 영상을 240Hz 고속카메라로 측정하면 240 / 30 = 8 그러니까 1프레임에 8장씩 찍히게 되는 겁니다. 240Hz = 4.16m이기 때문에 4.16ms마다 화면이 하나씩 수집이 될 겁니다. 240Hz로 그림을 그리면 너무 촘촘해져서 절반인 120Hz로 그려봅니다.(원리는 동일합니다) ‘이상적인’ 이란 말을 쓴 이유는 절대 그런 일은 일어나지 않기 때문입니다.

무궁화꽃이 피었습니다 놀이를 보면 술래가 보는 시점과 우리가 움직이는 시점이 다르죠. 그 놀이랑 이 테스트 상황이 비슷하다고 생각하면 됩니다. 술래가 측정기이고 영상 신호가 일정하게 움직이는 플레이어입니다. 술래가 돌아보는 게 측정기가 측정하는 시점이고 영상 신호가 술래한테 딱 걸려야 움직인 것을 알 수 있는 것입니다. 대부분 경우, 측정 시점과 신호가 나오는 시점이 달라지기 때문에 최초 위상이 어긋난 만큼 우리는 새로운 화면을 늦게 보게 됩니다. 다음 화면이 새롭게 갱신될 때까지는 즉, 30Hz 영상의 경우에는 33.33ms 동안 화면을 유지하고 있기 때문입니다.

실제 상황에서는 다른 일도 일어납니다. 우리가 측정하는 입장에서는 화면 변화가 없는 거에요. 같은 화면이 나와도 오실로스코프를 물리면 일정 주기마다 화면이 나오는 것을 학인할 수 있지만 고속 카메라는 실제 화면이 변해야만 측정이 가능합니다. 이게 고속 카메라 측정의 한계점입니다. 그래서 화면이 이상적인 시점에 나오지 않고 조금은 들쑥 날쑥하게 나오는 겁니다. 이 테스트에서 신호가 나오는 시점이 아닌 아. 새로운 화면이 대략 이렇게 나오고 있구나. 두 제품이 비슷하게 출력되는구나 정도로 이해하시면 됩니다.

중요한 것은 바로 화면이 이동하는 양입니다. 영상이 동일하고 재생하는 기기에서 문제가 없다면 화면이 이동하는 양은 같아야 합니다. 화면을 이동하는 양을 비교하기 위해 맨처음 나왔던 Y좌표에 대한 그래프를 FFT(푸리에트랜스폼)했습니다. 우리가 Y좌표의 변화량을 알기 위해서는 계속 미분을 해야하는데 미분은 아주 작은 영역에서의 변화이기 때문에 전체 변화를 보기는 어렵습니다. 그럴때 푸리에트랜스폼이라는 것을 하면 주기적인 성분을 주파수로 표현해서 볼 수 있습니다. (이해가 안가시면 그냥 다음으로 넘어가셔도 좋습니다) 아. 그리고 노파심에서 다시 한 번 확인하면 이것은 이미지 정보를 푸리에 트랜스폼한 것이 아니라 이동 거리의 변화량을 푸리에트랜스폼한 것입니다. (글을 대충 읽고 야. 다른 두 개의 이미지 변환했는데 결과값이 당연히 다르지! 이런 이야기하는 분 꼭 계십니다.)
실험이 가지는 의미#
자. 다시 그래프로 와서 누가 봐도 두 그래프는 다르게 표시되어 있지요? 두 개가 달라요. 즉, 둘 중 하나는 뭔가 문제가 있거나 둘 중 하나가 더 제대로 된 겁니다. 먼저 애플 TV 4K를 보면 0.006Hz와 0.012Hz 두 개의 주파수만 톡 튀어 나와있습니다. 이 말은 애플 TV 4K의 경우 영상의 Y값이 대부분 166.7ms 또는 83ms 마다 이동하고 있다는 것입니다. 위에서 애플 TV의 화면 출력 시간과 거의 일치합니다. 게다가 83 * 2 하면 166이지요. 이렇게 메인 주파수의 정수배에 해당하는 녀석들을 하모닉스라고 하는데 이건 사실 같은 가족인 겁니다. 즉, 애플은 매우 균일하게 약 83ms 마다 새 화면을 뿜고 있는 것입니다.
이제 왼편의 surface laptop3 는 안봐도 알겠지요. 여러가지 주파수 성분들이 엉켜있습니다. 그래서 화면이 균일하지 않게 출력되고 있는 것입니다. Surface laptop3로부터 나온 4K 영상을 이미지 트래킹을 통해 수집된 좌표로 새화면 갱신 시간을 계산하면 평균 83ms 간격으로 나오고 있습니다. 하지만 동일한 데이터로 FFT를 하면 71.4ms 영역이 가장 높은 강도를 가지고 있습니다. 이것은 FFT가 주파수 특성, 즉 주기성을 보기 때문에 생기는 차이입니다. 이 차이가 의미하는 것은 83, 83, 83, 83 이렇게 주로 83ms마다 화면이 나오긴 하는데 나오는 순서가 일정하지 않다는 의미입니다. 71.4ms 마다 화면의 특정 영역이 이동하다가 어떤 때에는 62ms 로 움직이고 어떤 때에는 16.67ms으로 움직이기도 한다는 것이지요. 즉, Sin wave와 같이 반복되는 파형으로 표현하면 83ms짜리 간격이 71.4ms가 된다는 의미입니다. 이것은 매우 재미있는 결과입니다. 동영상 재생뿐만 아니라 전체 성능은 더 좋은 노트북이 애플TV보다 4K 영상 출력이 일정치 않다니요. 반대로 말하면 애플TV 4K는 이렇게 깔끔하게 영상을 재생할 수 있다니 놀랍습니다.
어떤 사람은 그거 사람이 구별할 수 없는거 아니야? 뭘 그런 걸로 트집잡냐며 쉴드치는 분들도 계실텐데요. 그 쉴드를 미리 깨드리면 인간의 시각 인지능력이 20ms 내외의 움직임을 파악하는 것을 감안하면 이것은 작은 차이가 아닙니다. 하나는 움직이 좀 지저분하고 다른 하나는 매우 자연스러운 것이니까요. 이 차이는 주로 10~30ms 정도로 매우 작은 크기이기 때문에 좀 지저분한 것만 보면 그게 그렇게 지저분한 것이라 느끼지 못 할 수는 있습니다. 그러나 제가 서두에 말씀드린 것처럼 평양냉면처럼 이 작은 차이에 집중하기 시작하면 그 차이가 매우 커지기 시작하는 것입니다. 동시에 만드는 사람 입장에서도 대충 30Hz 근처로 쏘는 것과 정확하게 30Hz로 쏘는 것은 차원이 다른 이야기이거든요. (파레토의 법칙) 그래서 이런 자연스러운 영상 재생에 대한 사람들의 판단은 어떤 사람 눈에는 아무리 이야기해도 이런 지저분함이 거리낌이 없는 것이고 어떤 사람은 지저분한지 몰랐는데 애플TV 4K를 경험해 보니 뭔가 다르고 고급스럽다고 느끼는 것이고 어떤 사람은 애초에 이게 고급스럽다고 알고 있는 것의 차이입니다.
애플은 정말 치밀하고 보이지 않는 부분에서 노력하는 회사였습니다. 불과 몇년 전까지만 해도요. 하지만 지금은 잘 모르겠네요. 그리고 저의 모르겠다는 마음을 최근에 가장 자극한 변화가 바로 애플 글래스 UI입니다. 조만간 다룰 기회가 있겠지요.