본문 바로가기
Image Processing/Algorithm

FRC(Frame Rate Control)란?

by 리미와감자 2023. 1. 8.
  • FRC(Frame Rate Control)

FRC란 일종의 Dithering이다. Dithering이란 Bit Depth가 높은 영상데이터를 Bit Depth가 낮은 영상데이터로 바꿀 때 적용하는 알고리즘 중 하나이다. 예를 들어, 12 Bit 영상데이터는 RGB 각각 0 ~ 4095까지 총 4096단계의 밝기 Value를 가지고, 10 Bit 영상데이터는 0 ~ 1023까지 총 1024단계의 밝기 Value를 가진다.

 

Bit Depth

 

4096단계를 1024단계로 전환할 때, 단계가 1024/4096 = 1/4로 줄어드면서 실제보다 데이터가 3/4 손실하게 된다. 이 손실되는 데이터를 어떻게 보완하고 보정할 지에 대한 방법론 중 하나가 Dithering이다. Dithering은 Temporal Dithering(시간적 디더링)과 Spatial Dithering(공간적 디더링)으로 나뉘는데, FRC는 시간적 디더링의 한 종류이다.

 

공간적 디더링을 알고싶다면? 아래 링크로

https://rimeestore.tistory.com/entry/Error-Diffusion%EC%9D%B4%EB%9E%80

 

Error Diffusion이란?

Dithering Dithering이란 Bit Depth가 높은 영상데이터를 Bit Depth가 낮은 영상데이터로 바꿀 때 적용하는 알고리즘 중 하나이다. 예를 들어, 12 Bit 영상데이터는 RGB 각각 0 ~ 4095까지 총 4096단계의 밝기 Value

rimeestore.tistory.com

 

 

 

공간적 디더링

위의 그림은 공간적 디더링인데, 빨간색과 파란색 두 픽셀의 중간값(보라색)으로 착시를 일으킨다.

 

FRC는 Bit Depth가 낮아지면서 발생하는 Error를 한 프레임 내에서 처리하지 않고 다음 프레임에 뿌리는 방법을 선택했다(시간적 디더링). 예를 들어, 8 Bit에서 6 Bit로 데이터를 전환할 경우 가장 하위 비트 2개를 보고서 Error를 어떻게 뿌릴지 정한다.

 

FRC를 쓰지 않으면 어떻게 될까? 영상데이터가 10101001(10진수로 169)이 들어올 때, 하위 2개의 Bit(01)를 그냥 날려버려서 101010(10진수로 42)으로 만들 수 있다. 더 쉽게 설명하면 169를 4로 나누면 42.25가 되는데 이때 0.25를 그냥 날려서 42로 만드는 것이다. 아니면,  무조건 날려버리는 것이 아니라 반올림을 할 수도 있다. 영상데이터가 10101010(10진수로 170)이 들어오면 170 / 4가 되어 42.5이 되는데, 반올림을 하여 43이 된다.

 

 

  • FRC 적용

FRC를 적용해보자. 영상데이터가 10101001(10진수로 169)이 들어오면 하위 2개의 Bit가 01이다. 이 '01' 데이터를 다음 4번째 프레임까지 들어오는 Pixel 데이터에 1씩 더하여 출력한다(위 그림에서 보라색). 총 16개의 픽셀 중에 4개만 1을 더해주고, 이것을 총 4프레임 동안하면 4/16(상위 8비트 + 1) * 4(Frame) = 1이 되어서 Error를 손실없이 처리할 수 있다.

 

영상데이터가 10101011(10진수로 171)이 들어오면 하위 2개의 Bit가 11이다. 이 경우, 12/16(상위 8비트 + 1) * 4(Frame) = 11(10진수로 3)이 되어서 역시 Error를 손실없이 처리할 수 있다.

 

True 8 Bit와 6 Bit + FRC

 

따라서 실제 8Bit와 6Bit + FRC는 분명히 다르고, 8Bit가 훨씬 매끄럽다. 하지만 TV나 모니터에서 나오는 영상데이터의 주사율이 매우 빨라서 착시현상을 일으켜 우리가 실제로 느끼기는 힘들다. 

 

참고 : https://www.eizoglobal.com/library/basics/maximum_display_colors/index.html

참고 : http://koreascience.kr/article/JAKO201018765250446.pdf (TFT-LCD에서 새로운 접근을 통한 FRC Noise의 발생 원인 분석 및 저감 방법에 대한 연구)

'Image Processing > Algorithm' 카테고리의 다른 글

Error Diffusion이란?  (0) 2023.01.08
VRR(Variable refresh rate)이란?  (0) 2023.01.02

댓글