비디오 압축 개념 및 구조

·2023년 12월 26일
0

비디오 부호화

목록 보기
1/13

Instroduction to Video Coding

Video Coding 이란?

  • Video Coding
    • 카메라에서부터 비디오가 캡처되면 인코더를 통해서 압축을 하여 bitstream으로 만든 후 전송해서 디코딩 과정을 거친 후 영상이 재생된다
  • Encoder와 Decoder로 구성된다
  • Encoder와 Decoder를 합쳐서 Video CODEC 이라고 한다
  • Video Coding이 중요한 이유
    • 비디오 데이터가 방대하고, Video Traffic이 증가하고 데이터 양이 계속 늘어나고 있기 때문에 Compression하는 것이 Visual Communication Service에서 핵심적인 구성요소이다

Video Coding and Standard

  • interoperability 통신 응용같은 경우 상호운용성이 필수적으로 요구되기 때문에 Video Coding은 표준, 특히 국제 표준 기술을 이용해 코덱이 활용되고 있다

Scope of Video Coding Standard

흐름

  • Input(image/video) - Pre-Processing - Encoding - Decoding - Post-Processing & Error Recovery - Output(image/video)
  • 위 과정 중 Decoding이 Scope of Standard(표준의 범위)가 된다

Scope of Standard(표준의 범위)

  • bitstream format
  • 전송되는 bitstream format을 임의의 디바이스에서 해석을 해야 하기 때문에 bitstream format 해석을 하려면 Syntax가 무엇이고 각각의 Syntax의 Element의 의미가 무엇인지를 Standard로 define해야 한다
    그런 Syntax bitstream을 받았을 때 bitstream Element를 이용해서 어떻게 Decoding을 해라를 알려주는 decoding process가 normative 표준이 된다
  • 표준의 범위를 주로 normative part라고 부른다
  • 디코딩 파트를 최소한의 범위 내에서 표준해서 규정한다

Video coding standard bodies

  • ISO/IEC JTC 1/SC 29/WF 2/4/5/7 MPEG(Moving Picture Experts Group)
    • 방송과 엔터테인먼트를 위한 비디오 코덱 표준에 집중하고 있다
  • ITU-T SG 16/Q.6 VCEG(Video Coding Experts Group)
    • 유선 통신을 위한 비디오 코덱 표준을 만들어 오고 있다
  • Joint Teams-JVT, JCT-VC, JVET
    • ISO/IEC MPEG과 ITU-T VCEG이 같이 만들었다
  • 비디오 표준을 만드는 두 개의 대표적인 표준 바디 : MPEG과 VCEG

간단한 표준화 역사

  • H.261 (1990), MPEG-1(1993)
  • MPEG-2/H.262
    • 압축률 50:1
    • 주로 방송용
  • MPEG-4 AVC/H.264
    • 압축률 100:1
    • 주로 모바일용
  • HEVC/H.265
    • 압축률 200:1
    • UHD TV
  • VVC/H.266
    • 압축률 400:1
    • UHD, HDR을 위한 표준

Digital Video Format

  • Video : 이미지들의 시퀀스
  • Frame : 이미지 한 장
  • 해상도 : Frame 내에서 가로, 세로에 화소의 개수
  • Frame rate : 몇 개의 frame이 전송되느냐
  • 아날로그 신호의 한 줄을 스캔하면 밝기 변화의 신호가 나오는데 이를 Time을 축으로 Sampling을 할 수 있다
  • Video Scanning
    비디오 스캐닝에서 '필드(Field)'는 비디오 프레임을 구성하는 두 부분 중 하나를 의미합니다. 일반적으로 비디오는 여러 개의 정적 이미지인 프레임들이 빠른 속도로 연속적으로 표시되는 것으로, 이를 통해 움직이는 영상을 생성합니다.

전통적인 아날로그 TV 시스템에서는 '인터레이스 스캔(Interlaced Scan)' 방식이 사용되었습니다. 이 방식에서는 각 비디오 프레임이 두 개의 필드로 나뉘어, 하나는 홀수 라인을, 다른 하나는 짝수 라인을 스캔합니다. 이 두 필드가 교차되어 표시되므로 '인터레이스(Interlaced)'라는 이름이 붙었습니다. 이 방식은 화면의 깜빡임을 줄이고 동일한 대역폭에서 더 많은 데이터를 전송할 수 있게 해줍니다.

그러나 현대의 디지털 비디오 시스템에서는 '프로그레시브 스캔(Progressive Scan)' 방식이 더 많이 사용됩니다. 이 방식에서는 각 프레임이 하나의 완전한 이미지로 처리되므로 필드 개념이 적용되지 않습니다. 이 방식은 화질이 더욱 선명하다는 장점이 있습니다.

ITU-R. 601[ITU-R, BT601]

  • 아날로그 TV 신호를 Video 신호로 바꾸는 표준
  • 디지털 비디오를 샘플링하고 표현하는 방법에 대한 규정
  • 색공간: YCbCr 색공간을 사용
    • Y는 밝기 또는 휘도를, Cb와 Cr은 색차
  • 샘플링: 이 표준은 4:2:2 및 4:1:1 크로마 서브샘플링을 정의
  • 해상도: ITU-R BT.601은 525 라인(NTSC, 북미 및 일부 아시아 국가에서 사용)과 625 라인(PAL/SECAM, 대부분의 유럽 및 아시아 국가에서 사용) 시스템에 대한 해상도를 정의

YCbCr Color Model

  • 아날로그
    • YUV를 아날로그에서 사용
    • R, G, B로 부터 행렬 연산을 통해 YUV를 구한다
  • 디지털
    • 디지털에서는 축을 돌려서 YCbCr을 쓴다
    • R, G, B로 부터 행렬 연산을 통해 YCbCr을 구한 뒤 추가로 offset을 더하여 구한다
    • CbCr은 YUV의 U와 V의 변형으로 만들어 진다
  • Luminance
    • Y에 해당함
    • 대역이 더 넓은 high frequency성분까지 있다
    • 다른 부분보다 더 많은 정보를 가지고 있다
  • Chrominance

Color Subsampling
Color Subsampling은 보통 4:4:4, 4:2:2, 4:2:0 등의 형식으로 표기됩니다. 첫 번째 숫자는 루미넌스의 샘플링 레이트를 나타내고, 두 번째와 세 번째 숫자는 크로마의 샘플링 레이트를 나타냅니다. 예를 들어, 4:2:2는 크로마 데이터가 루미넌스 데이터의 절반만큼 샘플링되었음을 의미합니다.

따라서 Color Subsampling은 비디오 데이터를 효과적으로 압축하면서도 사람 눈에는 거의 차이가 느껴지지 않게 하는 중요한 기술입니다.

  • 4:2:2 : 주로 스튜디오에서 주로 사용
  • 4:2:0 : 비디오 압축할 때 주로 사용

Basic Concept of Video Coding

Video compression

  • Remove redundancy
    • 데이터의 중복을 없앤다
    • 중복된 정보를 잘 찾으려면 predictoin을 잘해야 한다
  • Discard information
    • 중복된 정보를 찾기도 어려울 뿐더러 중복제거 만으로도 부족할 수 있다
    • 정보가 있어도 사람이 보지 못하는 정보를 없앤다

Basic techniques

  • Spectral redundancy (스펙트럼 중복성)
    • Color subampling이 대표적
  • Spatial redundancy (공간 중복성)
    • Predictive coding, Transform coding, Quantization을 통해 중복성 제거
  • Temporal redundancy (시간적 중복성)
    • 프레임 간의 중복성 제거
  • Statistical redundancy (통계적 중복성)
    • Entropy coding으로 중복성 제거

Basic techniques

  • Predictive coding
    • Spatial prediction, intra prediction
    • Temporal prediction, intra prediction
    • Statistical prediction
    • Spatial prediction and Temporal prediction
  • Transform coding and Quantization
    • Quantization based on HVS(Human Visual System)
  • Entropy coding

Coding Artifact Reduction

  • 디지털 비디오나 이미지를 압축하고 인코딩할 때 발생하는 비원본적인 효과, 즉 '아티팩트'를 최소화하는 과정을 의미
  • 이 아티팩트는 데이터의 압축률을 높이는 과정에서 발생하며, 이는 종종 이미지의 품질을 저하시킨다
  • Deblocking filter
    • 디지털 비디오나 이미지에서 블록화 현상을 줄이는 데 사용되는 기술
    • 블록화 현상 : 미지나 비디오를 작은 블록 단위로 압축하고 인코딩할 때 발생하는 시각적인 아티팩트
  • Sample adaptive offset(SAO)
    • 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) 표준에 포함된 기술로, 비디오의 품질을 향상시키기 위해 사용된다
  • Adaptive loop filter(ALF)
    • 효율 비디오 코딩 (High Efficiency Video Coding, HEVC) 표준에 사용되는 기술 중 하나
    • 이 기술은 디지털 비디오의 인코딩과 디코딩 과정에서 발생하는 예측 오차를 감소시키는 데 도움이 된다

Coding Efficiency Evaluation

  • Coding Efficiency : 압축이 얼마나 잘 되었느냐
    = 동일한 화질에서 빛을 얼마나 적게 쓰느냐
    = 동일한 빛에서 화질이 얼마나 좋느냐
    • R-D(rate-distortion) : 율과 왜곡
      • Rate metrics(비트율) - BPP(bits/pixel), BPS(bits/second)
      • Quality metrics(화질) - PSNR, MS-SSIM, MOS
    • bjontegaard Delta (BD) - rate, BD-PSNR
      • 비디오 코딩 표준 간의 성능을 비교하는 데 사용되는 방법입니다. 이 방법은 시각적 품질과 비트레이트, 즉 압축 효율 사이의 관계를 측정합니다
  • Complecity evaluation(복잡도)

PSNR(peak signal-to-noise ratio)

  • Objective quality : PSNR
    • 피크 신호 대 잡음비
    • 지털 이미지나 비디오의 품질을 측정하는 데 사용되는 지표
    • 원본 이미지나 비디오와 압축되거나 잡음이 추가된 이미지나 비디오 사이의 차이를 측정
    • 높은 PSNR 값은 이미지나 비디오의 품질이 높음을 의미
  • Subjective quality
    • MOS(Mean Opinion Scale)
      • 음성, 비디오, 멀티미디어 품질을 평가하는 데 사용되는 척도
      • 1(매우 나쁨)에서 5(매우 좋음)까지의 범위를 가진다

BD-Rate, BD-PSNR

  • BD-Rate(평균 비트율 증가, %)
    • 두 비디오 코딩 표준 간의 비트레이트 차이를 측정
    • BD-rate 값이 작을수록, 해당 코딩 표준의 압축 효율성이 더 높다는 것을 의미
  • BD-PSNR(평균 화질 증가, dB)
    • 두 비디오 코딩 표준 간의 시각적 품질 차이를 측정
    • BD-PSNR 값이 높을수록, 해당 코딩 표준의 비디오 품질이 더 높다는 것을 의미

Video Coding Technologies

Intra Prediction

  • 비디오 인코딩 과정에서 사용되는 기술 중 하나로, 현재의 픽셀 블록이나 프레임 내에서 다른 픽셀들의 패턴을 참조하여 특정 픽셀 블록의 값을 예측하는 방법
  • 이미지 또는 비디오 프레임 내에서의 상관 관계를 이용
  • 예를 들어, 특정 픽셀은 주로 주변 픽셀과 유사한 색상 또는 밝기 값을 가질 가능성이 높습니다. 인트라 예측은 이러한 패턴을 인식하고 이를 기반으로 현재 블록의 픽셀 값을 예측한다
  • 인트라 예측은 다양한 방향(예: 수평, 수직, 대각선 등)과 모드를 사용하여 예측을 수행하며, 가장 낮은 에러를 가지는 예측 모드를 선택한다
  • 이렇게 예측된 픽셀 값과 실제 픽셀 값 간의 차이(잔차)만 인코딩하고 전송하므로, 비디오 데이터의 압축 효율을 크게 향상시킬 수 있다.

Inter Prediction

  • 현재 프레임의 픽셀 값을 이전 또는 이후의 프레임들로부터 예측하는 방법
  • 이 기술은 주로 비디오에서 시간적 연속성을 이용하여 데이터를 효율적으로 압축하는 데 사용된다
  • 모션 추정(Motion Estimation)과 모션 보상(Motion Compensation) 두 단계로 이루어진다
    • 모션 추정: 현재 프레임과 참조 프레임 간의 움직임을 추정합니다. 이는 현재 프레임 내의 각 블록에 대해 가장 비슷한 블록을 참조 프레임에서 찾는 과정으로 이루어집니다.
    • 모션 보상: 추정된 움직임 정보를 이용하여 현재 프레임의 픽셀 값을 예측합니다. 이는 참조 프레임의 해당 블록 값을 현재 프레임의 해당 위치로 복사하여 이루어집니다.
  • 이렇게 예측된 픽셀 값과 실제 픽셀 값 간의 차이(잔차)만을 인코딩하고 전송하므로, 비디오 데이터의 압축 효율을 크게 향상시킬 수 있습니다.

Prediction block size

  • 작은 블록 크기를 사용하면 더 상세한 움직임을 추정하고 더 정확한 예측을 수행할 수 있지만, 인코딩 복잡도가 증가하고 더 많은 메타데이터를 필요로 합니다. 반면, 큰 블록 크기를 사용하면 인코딩 복잡도가 감소하고 메타데이터의 양이 줄지만, 움직임의 상세 정보를 잃을 수 있습니다.

Transform Coding

  • 벡터 공간의 두 개의 점이 있을 때 서로 직교하는 축을 바꾸면 값도 바뀌게 된다
  • 축을 잘 설정하면 본래의 벡터 값(에너지)가 변환 후에는 특정 값에 에너지가 몰리도록 할 수 있다
  • Orthogonal Transform
    • 에너지가 보존된다
    • 에너지가 압축된다
  • Transform 의 종류
    • KLT(Karhunen-Loeve Transform) : 이상적인 Transform
    • DFT(Discrete Fourier Transform) : signal processing
    • DCT(Discrete Cosine Transform) : 이미지/비디오 compression 표준
    • DST(Discrete Sine Transform)
    • DHT(Discrete Hadamard Transform) : 간단한 형태
    • DWT(Discrete Wavelet Transform)

Quantization

  • 양자화 과정
    • Temporal 방향으로 샘플링
    • 연속적인 신호를 유한하게 샘플링 -> 양자화
  • 양자화
    • 샘플링한 신호를 시간에 따른 주파수 축을 유한 개의 양자화 레벨로 나눈 후 연속적인 아날로그 값을 나눈 양자화 레벨에 Mapping하는 것이라고 할 수 있다
  • bit depth
    • 디지털 시스템에서 색상, 오디오, 비디오 등의 데이터를 표현하는 데 사용되는 비트 수를 의미
    • bit depth를 조절하는 것도 양자화를 거친다

Entropy Coding

  • 통계적인 중복성을 줄여준다

  • 자주 발생하는 Symbol은 짧은 코드를 사용하고 자주 발생하지 않는 Symbol은 긴 코드를 사용하면 고정적인 bit 수를 줄일 수 있다

  • 엔트로피 코딩의 가장 대표적인 예로는 허프만 코딩(Huffman Coding)과 산술 코딩(Arithmetic Coding)이 있습니다.

    • 허프만 코딩: 가장 자주 등장하는 심볼에 가장 짧은 코드를, 가장 드물게 등장하는 심볼에 가장 긴 코드를 할당하는 방식입니다. 이 방식은 간단하고 빠르게 인코딩과 디코딩이 가능하다는 장점이 있습니다.
    • 산술 코딩: 전체 데이터 스트림을 하나의 숫자로 표현하는 방식으로, 허프만 코딩보다 더 효율적인 압축률을 제공하지만, 계산 복잡도가 더 높습니다.
  • Self informaion(자기정보량)

    • Symbol의 확률에 따라 Symbol이 가지는 정보의 양을 측정하는 개념
    • 사건이 발생할 확률이 낮을수록 그 사건이 가지는 정보의 양이 많다고 볼 수 있습니다
  • Entropy H(x) - 평균정보량

출처 및 참조

  • MPEG뉴미디어포럼/한국방송∙미디어공학회 2023 Summer School
  • 김재곤, Media Communication Laboratory, 한국항공대학교
profile
공부 기록

0개의 댓글