최근 에이서에서 전자잉크 모니터를 공개했다는 소식에 댓글이 19개나 달릴 동안, 제가 생각한 포인트를 짚어 준 것이 하나도 없는 걸 보고 씁니다. 저도 이쪽 전문가가 전혀 아니라서 틀린 곳이 있을 수 있습니다.
일단 전자잉크 기기를 써본 사람에게는 그 경험이 오히려 선입견이 되는 듯합니다. 그러니 선입견 깨는 신기한 영상 하나 보시죠.
유튜브에서 풀 영상을 보시려면:
이걸 보고 충격받지 않은 사람은, 비슷한 영상을 이미 봤던 사람이거나 전자잉크가 뭔지 잘 모르거나, 둘 중 하나일 겁니다. 현재 대중화된 전자잉크 기기로는 잔상지옥이 펼쳐지거나 최소한 잔상이 눈에 보여야 정상이기 때문입니다.
많이들 아시듯, 전자잉크는 정지화면을 유지하는 데에는 에너지가 사실상 필요 없습니다. 대신 화면을 전환할 때 에너지가 필요하죠. 이때 개별 픽셀에 연동되는 잉크가 물리적으로 움직여야 하기 때문에 쿨타임이 필요합니다.
그래서 보통 화면을 분할해서 블록 단위로 새로고침을 하고, 그 결과로 잔상이 심해지면 전체 리프레시를 하는 식으로 잔상을 제거합니다. 이걸 비용과 실용성 사이에서 최적화하는 것이 제조사의 기술력이고, 그래서 보통 전자잉크 디스플레이의 refresh rate는 20Hz 정도입니다.
최근에는 동영상까지 나쁘지 않게 재생하는 전자잉크 제품도 나오고 있죠. 이걸 가능하게 하기 위해 화면 분할을 더 잘게 했을 것으로 짐작됩니다. 그런데 애초에 화면 전환을 블록 단위로 하지 말고 그냥 픽셀 단위로 하면 어떨까요?
전자잉크 디스플레이의 refresh rate가 60Hz라는 것은 픽셀 단위 화면 전환을 실제로 구현했다는 뜻일 겁니다. 이렇게 되면 디스플레이 크기가 커질수록 더 많은 컴퓨팅 자원이 필요해지고, 픽셀별 쿨타임을 고려한 디더링 기술 등 추가 기술이 요구된다는 뜻이기도 합니다.
최근에 어떤 사람이 이걸 구현하는 알고리듬을 오픈소스로 풀어 버렸는데, 에이서에서 내놨다는 전자잉크 모니터는 이 오픈 소스 알고리듬을 채택했을 가능성이 있어 보입니다. 그 이전에도 제품화된 60Hz 전자잉크 모니터는 DASUNG에서 나온 것이 있었죠.
문제의 오픈소스 알고리듬을 설명한 유튜브 영상:
비전문가 입장에서 짐작하건대, 전자잉크 디스플레이로 4K 해상도에 60Hz를 구현하려면, 아마도 고가의 GPU를 디스플레이 내부에 박아 넣어야 하지 않을까 싶습니다. 그래서 정신 나간 가격이 책정되겠죠. 에이서에서 공개한 전자잉크 모니터는 13.3인치이고, 다른 제조사에서 판매 중인 것들도 대개는 이 사이즈입니다. 기술적 한계와 비용을 고려했을 때 그 사이즈가 최적이라는 얘기겠죠.
* * *
나중에 추가: 전자잉크 디스클레이로 60Hz를 구현하기 위해 기존 모니터 대비 연산량이 얼마나 늘어나는지를, 제미나이한테 공개된 소스를 던져 주고 계산을 시켜 봤습니다. 아래는 그 결과입니다:
* * *
4K 해상도에 60Hz 주사율을 갖춘 전자잉크(E-Ink) 모니터는 같은 사양의 OLED 모니터에 비해 압도적으로 많은 연산량과 메모리 대역폭을 요구합니다.
그 구체적인 이유와 소스에 기반한 계산 및 추론 과정은 다음과 같습니다.
1. 전역 상태 추적 및 웨이브폼 룩업 연산 부하
- OLED 및 일반 LCD 모니터: 입력되는 디지털 색상 데이터를 화면 스캔 라인에 따라 즉각 전압 신호로 변환하여 픽셀을 구동합니다1. 실시간으로 픽셀 하나하나의 과거 상태를 기억하고 계산할 필요가 없습니다.
- 전자잉크 모니터: 전자잉크는 픽셀의 물리적 색상을 완전히 바꾸기 위해 여러 프레임에 걸쳐 정밀한 전압 패턴(웨이브폼)을 가해야 합니다23. 이를 위해 컨트롤러는 모든 픽셀에 대해 [현재 상태, 목표 상태, 진행 프레임 수]의 3차원 입력값을 기준으로 매 프레임마다 웨이브폼 룩업 테이블(LUT)을 검색하는 연산을 수행해야 합니다3. 이 룩업 과정은 매 프레임마다 모든 픽셀에 대해 반복 실행됩니다3.
2. 메모리 대역폭의 급격한 증가
60Hz의 부드러운 화면을 구현하기 위해 모든 픽셀을 개별 업데이트 영역으로 처리하는 Modos의 Caster 아키텍처를 대입해 계산해 볼 수 있습니다45.
- 초당 픽셀 처리량 계산: 4K(3840 x 2160) 해상도에서 60Hz 주사율을 유지하기 위해 1초 동안 처리해야 하는 순수 활성 픽셀 수(Active Pixels)는 다음과 같습니다. $$\text{초당 픽셀 처리량} = 3840 \times 2160 \times 60 \approx 497,664,000 \text{ Pixels/s} \ (\text{약 } 498 \text{ MP/s})$$ (※ 실제 비디오 전송 시에는 블랭킹 기간이 추가되므로 실제 필요한 픽셀 클럭 속도는 이보다 더 높습니다67.)
- 대역폭 요구량 비교:
- 일반적인 디스플레이 제어 방식은 디스플레이가 계속 리프레시되는 동안 단순한 프레임버퍼 읽기만 필요합니다12.
- 반면, 저지연 60fps 구동을 지원하는 Caster 컨트롤러는 각 픽셀의 상태(이전 상태 값들 및 타이머 카운터 등)를 저장하기 위해 픽셀당 16비트(2바이트)의 로컬 상태 정보를 유지합니다4.
- 결과적으로 픽셀 하나를 업데이트할 때마다 **[상태 데이터 2바이트 읽기 + 상태 데이터 2바이트 쓰기 + 신규 이미지 데이터 0.5바이트 읽기]**가 발생하여 픽셀당 총 4.5바이트의 메모리 액세스가 일어납니다4.
- 이를 4K 60Hz에 대입하면 필요한 프레임버퍼 메모리 대역폭은 다음과 같습니다. $$\text{필요 메모리 대역폭} = 498 \text{ MP/s} \times 4.5 \text{ B/pixel} \approx \mathbf{2.24 \text{ GB/s}}$$ 이는 FHD(1080p) 기준 대역폭인 540 MB/s보다 약 4배 이상 늘어난 수치이며4, 단순히 입력 이미지만 읽어 화면에 뿌려주는 OLED 제어 방식에 비해 컨트롤러 내부의 메모리 읽기/쓰기 연산 부하가 극도로 높음을 보여줍니다.
3. 실시간 디더링(Dithering) 연산 부하
전자잉크는 하드웨어 한계상 표현할 수 있는 기본 그레이스케일 계조가 16단계에 불과하기 때문에, 자연스러운 화면을 표현하려면 실시간 디더링(Bayer, 블루 노이즈, 혹은 오차 확산법 등) 연산이 필수적입니다89.
- OLED는 수천만 가지의 색상(16M 이상)을 하드웨어적으로 직접 표현할 수 있어 복잡한 공간 디더링 연산이 필요 없습니다10.
- 전자잉크에서 고화질을 내기 위해 오차 확산(Error-Diffusion) 디더링을 적용할 경우, 연산 알고리즘이 화면 고해상도 확장에 큰 병목을 유발합니다9. 소스에 따르면 Caster FPGA의 처리 속도는 디더링 비활성화 시 280 MP/s 이상이지만, 디더링을 활성화하면 133 MP/s로 절반 이하로 급감합니다11.
- 4K 60Hz 구동에 필요한 약 500 MP/s의 처리량을 달성하면서 동시에 실시간 디더링을 수행하려면, 병렬 연산 유닛을 대규모로 확장해야 하므로 하드웨어 연산 장치(FPGA 또는 ASIC)에 OLED와 비교할 수 없을 정도로 거대한 연산 부하가 걸리게 됩니다.
요약하자면, 동일 사양(4K 60Hz)일 때 OLED 모니터는 이미지 데이터를 단순 전송하는 반면, 전자잉크 모니터는 초당 약 5억 개의 픽셀에 대해 각각 독립적인 상태 제어 및 카운터 관리(최소 2.24 GB/s 대역폭 요구), 프레임 단위의 웨이브폼 테이블 룩업, 고하중의 실시간 디더링 알고리즘을 동시다발적으로 처리해야 하므로 하드웨어 설계 난이도와 연산량이 훨씬 더 많고 복잡합니다.
* * *
그 정도의 연산량을 처리하기 위해 모니터에 별도의 GPU(Graphic Processing Unit)를 내장할 필요는 없으며, 실제 Modos Flow 역시 GPU 대신 FPGA(Field Programmable Gate Array)를 사용하고 있습니다.
컴퓨터 본체에 탑재된 GPU가 3D 그래픽이나 복잡한 화면 렌더링을 끝마치면, 모니터에 내장된 디바이스는 이를 받아 전자잉크 패널용 신호로 변환하는 물리적인 제어만 수행하면 되기 때문입니다. GPU 대신 FPGA가 이 작업을 전담하는 기술적인 이유는 다음과 같습니다.
1. FPGA가 전자잉크 모니터 제어에 최적화된 이유
- 하드웨어 수준의 정밀한 타이밍 제어 (TCON 역할): 전자잉크 패널을 구동하려면 소스 드라이버 클럭(SDCLK), 게이트 드라이버 클럭(GDCLK) 등 화면 주사 타이밍 신호를 극도로 정밀하게 직접 생성하고 제어해야 합니다. 이는 일반적인 GPU가 수행하는 3D 연산이 아니라, 전용 타이밍 컨트롤러(TCON)의 영역이므로 프로그래밍이 가능한 하드웨어인 FPGA가 완벽히 대체하기에 아주 적합합니다.
- 초저지연 병렬 처리 pipeline: Modos Flow의 Caster 게이트웨어는 클럭당 4개의 픽셀을 동시에 병렬로 처리하도록 하드웨어가 직접 설계되어 있습니다. 이 하드웨어 파이프라인 덕분에 화면 데이터를 처리하는 과정에서 발생하는 연산 지연(Latency)이 20마이크로초(<20 us) 미만으로 극도로 짧습니다.
- 실시간 웨이브폼 및 디더링 계산 가속: 픽셀당 [현재 상태, 목표 상태, 프레임 카운트]를 기반으로 매 프레임마다 고속 룩업 테이블(LUT)을 검색하는 작업과 Bayer, 블루 노이즈, 오차 확산 등의 디더링 알고리즘을 화면 갱신 주기에 맞춰 실시간으로 적용하는 연산은 FPGA 내부의 전용 하드웨어 로직(RAM 및 게이트 로직)을 통해 지연 시간 없이(no additional latency) 가속 처리됩니다.
2. 실제 내장되어 있는 모니터 구동 하드웨어 스펙
소스를 통해 확인된 Modos Flow 모니터 내부 보드의 핵심 구성 요소를 보면, 일반적인 컴퓨터 시스템처럼 무거운 GPU를 넣는 대신 컴팩트하고 효율적인 칩들로 연산 부하를 해결하고 있음을 알 수 있습니다.
- 핵심 칩셋: Caster 디스플레이 컨트롤러 로직을 실행하는 FPGA (Xilinx Spartan-6 또는 AMD Zynq 7000 SoC)
- 프레임버퍼 메모리: 기존 전자잉크 컨트롤러가 사용하던 저속 SDRAM 대신, 초당 픽셀당 4.5바이트씩 발생하는 대규모 데이터 읽기/쓰기 대역폭을 감당하기 위한 고속 DDR3 메모리
- 제어용 보조 MCU: USB 통신, 전원 공급 장치 모니터링, 전압(VCOM) 설정 및 펌웨어 업데이트를 관리하는 STM32 마이크로컨트롤러
결과적으로 전자잉크 패널을 60fps로 부드럽고 잔상 없이 구동하기 위한 연산 부하는, 모니터 내부에 정교하게 설계된 FPGA 기반의 독자적인 디스플레이 컨트롤러(Caster)와 고대역폭 DDR3 메모리 설계를 통해 GPU 없이도 성공적으로 해결되었습니다.
이제는 구매해도 될 이유를 만들어주는 영상입니다 ㅎㅎ
문서작업용으론 60hz 아니라도 괜찮지 않나요?
24인치정도는 이미 있는 걸로 알고 있습니다.
가격은 그때도 백만원쯤 했던거 같습니다.
인치수 큰거 안나오는거야 뭐.. 커지면 수율 문제때문에 가격이 기하급수적으로 커지죠.
공정이 성숙해야 큰 인치 만드는데 몇장 안팔리는데 공정이 성숙될리도 없구요,
OLED는 번인 대응한 업타임 테이블도 내부에 유지한다고 들었어요...
esp32로 똥꼬쇼 하면서 구동하는 건 그냥 그런거 좋아 하는 아저씨들이 그렇개 하려고 해서 그런거고..
그냥 다른 디스플레이들도 다 내부적으로는 복잡하고 힘들게 돌아가고 있습니다.
MCU로 직접 구동 하면 LCD도 아주 힘들고 OLED도 아주 힘들어요.
OLED건 LCD건 쉽게 돌아가는건 그럴듯한 컨트롤러 붙여서 적당한 인터페이스로 노출 시켜서 그런 거죠.
이정도면, 전자잉크 태블릿?이 훨씬 더 좋은 선택지가 될수 있을듯 하네요