BXT와 전통적 디컨볼루션의 적용 전략 차이
최근 BlurXTerminator(BXT)로 이미지를 처리하고 있을 때, 한 동호인이 물었습니다. 그것과 전통적 디컨볼루션은 사용상 다른 점이 있느냐고. 여기서 몇 가지 소감을 공유합니다.
전통적 디컨볼루션: 휘도 채널에만 적용
전통적으로, 디컨볼루션은 휘도 채널에만 적용합니다. 따라서:
- 모노크롬 카메라의 이미지에서는, L 채널에 직접 디컨볼루션을 적용하고, RGB 채널은 건너뜁니다.
- 컬러 카메라의 이미지에서는, 먼저 RGB 이미지에서 휘도 채널을 추출해 그것에 적용하고, 원래의 RGB 이미지는 건너뜁니다.
이 로직은 오랜 세월 통용되어 왔습니다. 디컨볼루션이 주로 다루는 것은 밝기 계조의 디테일과 별상의 샤프함이기 때문입니다.
BXT는 조금 다르다: 별상이 크게 축소된다
BXT에는 사용상 한 가지 중요한 차이가 있습니다—별상을 대폭 축소시키는 것입니다. 전통적인 「휘도 채널에만 적용한다」는 방식을 그대로 답습하면, 아래 그림의 오른쪽 같은 상황이 됩니다. RGB 채널의 별상이 L 채널보다 명백히 커지고, 그 결과, 별상의 주변에 색이 삐져나오는 현상이 생깁니다. 반대로, L과 RGB에 동시에 적용하면, 이 문제는 거의 일어나지 않습니다(왼쪽 그림처럼).

추천하는 적용 전략
카메라 종류에 따라, 제가 추천하는 방식은 다음과 같습니다.
- 모노크롬 카메라 이미지: L과 RGB에 동시에 적용합니다. 혹은 L에만 적용하되, 그 경우에는 축소된 L의 별상에 맞춰, RGB 채널은 별도로 별상 축소를 해야 합니다.
- 컬러 카메라 이미지: 먼저 L을 추출할 필요는 없고, RGB 이미지에 직접 적용하면 되며, 그 후에 L을 추출해, 필요한 다른 처리나 스트레칭을 합니다.
BXT는 디컨볼루션을 빠르고 훌륭하게 해 주지만, 별상의 크기를 바꿔 버리기 때문에, 그에 따라 채널끼리의 조합 방식도 바뀝니다. 이 점을 이해해야 비로소, 애써 고생해 샤프하게 했는데 색 번짐의 고리를 부르고 마는 사태를 피할 수 있습니다. BXT나 전통적 디컨볼루션에 관한 여러분의 소감도, 부디 공유해 주십시오.