영상 압축 사진 유형

영상 압축 분야에서는 데이터 압축의 양을 중심으로 다양한 장단점을 가진 여러 알고리즘을 사용하여 비디오 프레임이 압축된다. 비디오 프레임에 대한 이러한 다양한 알고리즘을 **그림 유형** 또는 **프레임 유형**이라고 한다. 다양한 비디오 알고리즘에서 사용되는 세 가지 주요 그림 유형은 **I**, **P**, **B**이다. 이들은 다음과 같은 특성에서 차이가 있다.
* **I**프레임은 압축률이 가장 낮지만 디코딩에 다른 비디오 프레임을 필요로 하지 않는다.
* **P**프레임은 이전 프레임의 데이터를 사용하여 압축을 풀 수 있으며 I프레임보다 압축률이 더 높다.
* **B**프레임은 이전 및 이후 프레임을 모두 데이터 참조에 사용하여 가장 높은 데이터 압축률을 얻을 수 있다.

## 요약
섬네일|left|500px|두 개의 키프레임(I), 하나의 순방향 예측 프레임(P), 하나의 양방향 예측 프레임(B)으로 구성된 비디오 프레임 시퀀스.
영상 압축에는 I, P, B 프레임의 세 가지 유형의 그림(또는 프레임)이 사용된다.

**I프레임**(인트라 코딩 그림)은 JPG 또는 BMP 이미지 파일과 같이 완전한 이미지이다.

**P프레임**(예측 그림)은 이전 프레임에서 이미지의 변경 사항만 포함한다. 예를 들어, 정지된 배경을 가로질러 자동차가 움직이는 장면에서는 자동차의 움직임만 인코딩하면 된다. 인코더는 변경되지 않는 배경 화소를 P프레임에 저장할 필요가 없으므로 공간을 절약할 수 있다. P프레임은 델타프레임이라고도 불린다.

**B프레임**(양방향 예측 그림)은 현재 프레임과 이전 및 이후 프레임 간의 차이를 사용하여 내용을 지정함으로써 훨씬 더 많은 공간을 절약한다.

P 및 B 프레임은 인터 프레임이라고도 불린다. I, P, B 프레임이 배열된 순서를 화상 집합이라고 한다. 비디오 프레임에는 디코딩 및 표시를 위해 프레임을 올바른 순서로 유지하기 위한 프레젠테이션 타임스탬프(PTS) 및 디코딩 타임스탬프(DTS) 값이 포함된다.

## 그림/프레임
"프레임"과 "그림"이라는 용어는 종종 서로 바꿔서 사용되지만, 그림이라는 용어는 그림이 프레임 또는 필드일 수 있으므로 더 일반적인 개념이다. 프레임은 완전한 이미지이고, 필드는 부분 이미지를 구성하는 홀수 또는 짝수 스캔 라인 집합이다. 예를 들어, HD 1080 그림은 1080줄(행)의 화소를 갖는다. 홀수 필드는 1, 3, 5...1079줄에 대한 화소 정보를 포함한다. 짝수 필드는 2, 4, 6...1080줄에 대한 화소 정보를 포함한다. 비디오가 비월 주사 형식으로 전송될 때, 각 프레임은 홀수 줄 필드 다음에 짝수 줄 필드가 오는 두 개의 필드로 전송된다.

다른 프레임을 예측하기 위한 참조로 사용되는 프레임을 참조 프레임이라고 한다.

다른 프레임의 정보 없이 인코딩된 프레임을 I-프레임이라고 한다. 단일 이전 참조 프레임(또는 각 영역 예측을 위한 단일 프레임)에서 예측을 사용하는 프레임을 P-프레임이라고 한다. B-프레임은 두 개의 참조 프레임, 즉 이전 프레임과 이후 프레임의 (가중) 평균으로부터 예측을 사용한다.

## 슬라이스
H.264/MPEG-4 AVC 표준에서 예측 유형의 세분성은 "슬라이스 수준"으로 낮아진다. 슬라이스는 프레임 내의 다른 영역과 별도로 인코딩되는 프레임의 공간적으로 구별되는 영역이다. I-슬라이스, P-슬라이스, B-슬라이스는 I, P, B 프레임을 대체한다.

## 매크로블록

일반적으로 그림(프레임)은 매크로블록으로 분할되며, 개별 예측 유형은 전체 그림에 대해 동일하게 적용되는 대신 매크로블록 단위로 선택할 수 있다.
* I-프레임은 인트라 매크로블록만 포함할 수 있다.
* P-프레임은 인트라 매크로블록과 예측 매크로블록을 모두 포함할 수 있다.
* B-프레임은 인트라, 예측 및 양방향 예측 매크로블록을 포함할 수 있다.

또한, H.264 비디오 코딩 표준에서는 프레임을 슬라이스라고 불리는 매크로블록 시퀀스로 분할할 수 있으며, I, B, P-프레임 유형 선택을 사용하는 대신 인코더는 각 개별 슬라이스에 대해 예측 스타일을 명확하게 선택할 수 있다. 또한 H.264에는 몇 가지 추가적인 프레임/슬라이스 유형이 있다.
* SI-프레임/슬라이스(Switching I): 코딩된 스트림 간 전환을 용이하게 한다; SI-매크로블록(특별한 유형의 인트라 코딩 매크로블록)을 포함한다.
* SP-프레임/슬라이스(Switching P): 코딩된 스트림 간 전환을 용이하게 한다; P 및 I-매크로블록을 포함한다.
* 다중 프레임 움직임 예측 (최대 16개의 참조 프레임 또는 32개의 참조 필드)
다중 프레임 움직임 예측은 동일한 압축률을 허용하면서 비디오 품질을 향상시킨다. SI 및 SP 프레임(확장 프로파일용으로 정의됨)은 오류 정정을 향상시킨다. 이러한 프레임을 스마트 디코더와 함께 사용하면 손상된 DVD의 방송 스트림을 복구할 수 있다.

## 인트라 코딩(I) 프레임/슬라이스 (키 프레임)

* I-프레임은 전체 이미지를 포함한다. 이들은 (자체 일부를 제외하고) 다른 프레임을 참조하지 않고 코딩된다.
* 인코더가 무작위 액세스 지점을 생성하기 위해 생성될 수 있다(디코더가 해당 그림 위치에서 처음부터 제대로 디코딩을 시작할 수 있도록 허용).
* 또한 이미지 세부 정보가 효과적인 P 또는 B-프레임 생성을 방해할 때 생성될 수 있다.
* 일반적으로 다른 프레임 유형보다 인코딩에 더 많은 비트가 필요하다.

종종 I-프레임은 무작위 액세스에 사용되며 다른 그림을 디코딩하기 위한 참조로 사용된다. 디지털 텔레비전 방송 및 DVD 저장과 같은 응용 프로그램에서는 0.5초의 인트라 새로 고침 주기가 일반적이다. 일부 환경에서는 더 긴 새로 고침 주기가 사용될 수 있다. 예를 들어, 화상 회의 시스템에서는 I-프레임을 매우 드물게 보내는 것이 일반적이다.

## 예측(P) 프레임/슬라이스
* 디코딩을 위해 다른 그림을 먼저 디코딩해야 한다.
* 이미지 데이터 및 움직임 벡터 변위와 이 둘의 조합을 포함할 수 있다.
* 디코딩 순서상 이전 그림을 참조할 수 있다.
* 이전 표준 설계(예: MPEG-2)는 디코딩 중에 하나의 이전에 디코딩된 그림만 참조로 사용하며, 해당 그림이 표시 순서상 P 그림보다 앞에 와야 한다.
* H.264에서는 디코딩 중에 여러 이전에 디코딩된 그림을 참조로 사용할 수 있으며, 예측에 사용된 그림에 대해 임의의 표시 순서 관계를 가질 수 있다.
* I-프레임에 비해 인코딩에 더 적은 비트가 필요하다.

## 양방향 예측(B) 프레임/슬라이스 (매크로블록)
* 표시를 위해 후속 프레임을 먼저 디코딩해야 한다.
* 이미지 데이터 및 움직임 벡터 변위를 포함할 수 있다. 이전 표준은 전체 프레임에 대해 단일 전역 움직임 보상 벡터 또는 매크로블록당 단일 움직임 보상 벡터만 허용한다.
* 두 개의 다른 이전에 디코딩된 참조 영역을 사용하여 얻은 예측을 평균화하여 움직임 영역(예: 매크로블록 또는 더 작은 영역)의 예측을 형성하는 일부 예측 모드를 포함한다. 일부 표준은 매크로블록당 두 개의 움직임 보상 벡터(양방향 예측)를 허용한다.
* 이전 표준(예: MPEG-2)에서는 B-프레임이 다른 그림의 예측을 위한 참조로 사용되지 않는다. 결과적으로 세부 정보 손실이 후속 그림의 예측 품질에 해를 끼치지 않으므로 이러한 B-프레임에 대해 더 낮은 품질의 인코딩(더 적은 공간 필요)을 사용할 수 있다.
* H.264는 이 제한을 완화하여 인코더의 재량에 따라 B-프레임을 다른 프레임의 디코딩을 위한 참조로 사용할 수 있도록 허용한다.
* 이전 표준(예: MPEG-2)은 디코딩 중에 정확히 두 개의 이전에 디코딩된 그림을 참조로 사용하며, 이 중 하나는 표시 순서상 B-프레임보다 앞에 와야 하고 다른 하나는 뒤에 와야 한다.
* H.264는 디코딩 중에 하나, 둘 또는 두 개 이상의 이전에 디코딩된 그림을 참조로 허용하며, 예측에 사용된 그림에 대해 임의의 표시 순서 관계를 가질 수 있다.
* 정보 검색의 유연성이 높아져 B-프레임은 일반적으로 I 또는 P-프레임보다 인코딩에 더 적은 비트가 필요하다.

## 같이 보기
* 키 프레임 애니메이션 용어
* 영상 압축
* 인트라 프레임
* 인터 프레임
* 화상 집합 프레임 유형의 응용
* 데이터모시
* 비디오

## 각주

## 외부 링크
* SP 및 SI 프레임을 사용한 비디오 스트리밍

분류:데이터 압축
분류:영상 압축