압축 아티팩트(Compression artifacts)는 손실 압축을 적용하여 발생하는 미디어의 왜곡 현상이다.
일반적으로 손실 데이터 압축은 미디어의 데이터 중 일부를 삭제하여 원하는 디스크 공간에 저장하거나 사용 가능한 대역폭(data rate 혹은 bit rate) 내에서 전송(streaming) 할 수 있을 만큼 축소하는 것을 말한다. 이때 압축된 버전에 충분한 데이터를 저장할 수 없게 되면 미디어의 품질이 저하되거나 아티팩트가 발생하는 결과를 가져오게 되는 것이다.
압축 아티팩트는 크게 두 가지 유형으로 나뉜다.
공간적 아티팩트(Spatial artifacts)와 시간적 아티팩트(Temporal artifacts)
공간적 아티팩트(Spatial artifacts)는 한 프레임 내에서 발생하여 개별 픽셀이나 픽셀 그룹에 영향을 미친다. 비디오가 일시 정지 되었을 때 보이는 아티팩트라면 공간적 아티팩트라고 볼 수 있다.
시간적 아티팩트(Temporal artifacts)는 압축 알고리즘이 여러 비디오 프레임에서 중복 정보를 분석하고 제거할 때 발생한다. 빠르게 움직이는 장면이나 복잡한 전환 중에 더 눈에 띈다.
시간적, 공간적 아티팩트는 각각 다양한 모양과 원인이 있어 더 구체적인 유형과 하위 범주로 나눌 수 있다.
2014 SPIE 컨퍼런스(국제광공학회)에서 발표된 논문 'Characterizing perceptual artifacts in compressed video streams '의 이미지 자료를 여기서 참고하면 좋을 것 같다.
분류 순서대로 각 현상에 대해 정리해본다.
공간적 아티팩트 Spatial artifacts
🎞️ 블러링 Blurring
Blurring은 일반적으로 이미지의 경계나 텍스처 영역에서 디테일이나 선명도가 손실되는 것을 말한다.
모든 현대 비디오 압축 방법은 주파수 변환 단계와 양자화 과정을 거치게 되는데 Blurring과 이후 내용에 대해 온전히 이해하기 위해선 주파수 변환에 대해 이해해야 할 것이다. (동영상 압축과 주파수 변환)에서 쉽게 설명되어져 참고하면 좋다.
요약해서 설명하자면, 픽셀 간의 변화가 큰 경우 주파수 변환을 하면 큰 값을 가지게되는 고주파 계수들이 압축 과정(양자화)의 효율을 떨어뜨리게 된다. 즉 인코딩 전과 비슷한 화질을 유지하려면 더 많은 bit 가 필요하다는 말이다. 그래서 주파수 변환을 적용한 후 일정 수준 이상의 고주파 계수들을 모두 제거해버리면 픽셀 내 큰 변화는 사라지고 완만한 변화만 남게 된다. 이것이 블러 처리된 것처럼 부드러운(흐릿한) 장면으로 보여지는 것이다.
이 개념을 직접 이해해보기 위한 테스트로 포토샵에서 흐림 효과를 적용하여 이미지를 export 해봤다.
포토샵에서 흐림 효과를 적용 전 97.4K 였던 파일 크기가 최대 값(2) 적용 후 38.96K로 줄어들었다.
이미지가 흐려지기만 해도 파일 크기가 줄어든 것이다. 흐림 효과가 적용되면서 이미지가 뭉개지고 고주파 계수가 낮아지기 때문에 압축 알고리즘이 데이터의 중복성을 더 잘 활용할 수 있게 된 것이다.
🎞️ 블럭화 Blocking
블럭은 영상 데이터를 처리하는 기본 단위로, 8x8 픽셀 혹은 16x16 픽셀 같이 일정한 크기의 사각형 영역을 의미한다.
영상 압축 과정에서 각 블럭은 독립적으로 주파수 변환, 양자화 그리고 다른 처리들이 이루어진다. 이러한 블럭 기반 처리 방식은 압축률을 높이는데 효과적이다. 하지만 블럭들이 따로따로 압축되기 때문에 그 부작용으로 인접한 블럭 간의 경계가 어긋나 보이는 Blocking 아티팩트가 발생하는 것이다.
Blocking은 발생하는 영역에 따라 현상이 달리 보일 수 있다.
다음은 <비디오 압축으로 생성된 아티팩트 분류> 표에 있는 Blocking의 대표적인 세 가지 하위 범주이다.
- 모자이크 효과 (Mosiac effect) : 블록 간의 갑작스러운 밝기 변화로 인해 나타난다.
- 계단 효과 (Staircase effect) : 대각선 또는 곡선을 따라 발생하며, 블록 경계에서의 잘못된 수직 수평 엣지와 결합되어 계단처럼 보이게 된다.
- 가짜 엣지 (False edge) : 실제 엣지 근처에 나타나는 가짜 엣지. 영상에서 전후 프레임 사이 움직임을 보정하는 단계에서 발생한다.
** Blocking에 대한 방안으로 디블로킹 필터(Deblocking Filter)가 있다.
🎞️ 링잉 Ringing
주로 이미지의 강한 엣지나 선 주변에 물결 모양의 왜곡이 생기는 현상이다.
강한 엣지나 선 주변이 높은 주파수 계수로 표현되고 양자화 과정에서 이 계수들이 일부 손실되거나 왜곡되면 남은 계수들로 재구성을 하게 되는데 이때 인근 영역에 불필요한 파형이 생기게 된다. 결과적으로 해당 영역 주변에 마치 물결이 이는 것처럼 보이는 Ringing 효과가 나타나는 것이다.
🎞️ Basis pattern effect
Ringing effect와 비슷하지만 발생하는 공간 영역이 강한 엣지나 선에 제한되지 않는다. 일반적으로 나무, 풀밭, 파도 등과 같은 질감이 있는 곳에서 발생한다.
🎞️ 색상 번짐 Color Bleeding
이미지의 한 색상의 가장자리가 의도치 않게 다른 색상으로 번지거나 겹쳐보이는 이 현상은 밝기 채널과 색상 채널 간 일관성 없는 이미지 렌더링으로 인해 발생한다. (크로마 서브샘플링(Chroma subsampling) 참고)
시간적 아티팩트 Temporal artifacts
🎞️ 플리커링 Flickering
휘도 또는 색차가 깜박깜빡거리는 현상. 미세한 입자의 플리커링과 거친 입자의 플리커링으로도 구분할 수 있다. 미세 입자 플리커링은 일반적으로 큰 동작 또는 복잡한 이미지가 있는 슬로우 모션 시퀀스에서 나타나며 거친 입자 플리커링은 화면의 넓은 영역의 휘도가 갑자기 변하는 것을 말한다.
🎞️ 갑작스러운 떨림(?) Jerkiness
프레임 레이트가 움직이는 물체의 속도를 제대로 표현할 만큼 충분하지 않을 때 발생한다. 물체의 움직임이 부자연스럽고 불연속적으로 보이게 된다. 압축 방식의 문제일수도 있으나 출력 시 낮은 프레임 레이트 설정, 부족한 가용 대역폭 등으로 원본의 모든 프레임을 전송하지 못할 때 일부 프레임이 생략되거나 딜레이 되는 문제로 보는 것이 일반적이다.
🎞️ 플로팅 Floating
인코더가 다음 프레임을 실수로 건너뛰어 발생하는 플로팅은 주변 영역이 고정된 상태에서 특정 영역이 착시적인 움직임을 나타내는 것처럼 보인다. 플로팅은 두 가지 유형으로 나뉠 수 있다.
- 텍스처 플로팅 (Texture floating) : 물이나 나무 표면과 같은 텍스처의 넓은 영역에서 발생.
- 엣지 플로팅 (Edge neighborhood floating) : 이동하는 객체와 가까운 정지된 배경 영역에서 발생.
Ref.
https://en.wikipedia.org/wiki/Compression_artifact
https://blog.biamp.com/understanding-video-compression-artifacts/
'방송 영상 기술' 카테고리의 다른 글
Color Gamut 색 영역의 종류와 역사 (3) | 2024.11.05 |
---|---|
Color Management (0) | 2024.11.05 |
Frame & Field (0) | 2024.10.28 |
Video level(range) (0) | 2024.10.24 |