정화상으로 압축된 프레임을 I 프레임, 예측만을 한 프레임을 P 프레임, 보간을 한 프레임을 B 프레임이라 한다.
엠펙 비디오는 이들 세 종류의 프레임들이 일정한 패턴으로 섞인 것이다.
엠펙 비디오는 이들 세 종류의 프레임들이 일정한 패턴으로 섞인 것이다.
- I-프레임(Intra-coded frame)
- 데이타 스트림의 어느 위치에도 올 수 있으며, 데이타의 임의 접근을 위해 사용되며, 다른 이미지들의 참조 없이 부호화된다. I-프레임은 정화상 압축방법(JPEG)을 이용하지만, JPEG과는 달리 MPEG에서는 실시간으로 압축이 이루어진다. I-프레임의 압축은 MPEG에서는 가장 낮은 압출률을 보인다 I-프레임은 매크로 블럭내에서 지정된 8*8 블럭으로 나눈 후, DCT 기법을 사용한 후, DC계수는 DPCM방법으로 부호화하는데, 연속한 블럭 사이의 차이값을 계산한 후 가변 길이 코딩을 사용하여 변환한다. .
- P-프레임(Predictive-coded frame)
- 부호화와 복호화를 행할 때 이전의 I-프레임 정보와 이전의 P-프레임의 정보를 사용한다. P-프레임은 연속되는 이미지들의 전체 이미지가 바뀌는 것이 아니라 이미지의 블럭들이 옆으로 이동한다는 점에 착안한 것이다. 즉, 움직임이 있는 경우 앞화면에 있는 물체 자체의 모양에는 큰 변화없이 옆으로 이동하는 경우가 대부분이므로, 이전의 화면과 현재의 화면의 차이가 매우 적은 것을 이용하여 차이값만을 부호화하는 것이다.
- B-프레임(Bidirectional-coded frame)
- 부호화와 복호화를 행할 때 이전, 이후의 I-프레임과 P-프레임 모두를 사용한다. B-프레임을 사용하면 높은 압축률을 얻을 수 있다. B-프레임은 이전의 I-또는 P-프레임과 B-프레임 이후의 I-또는 P-프레임의 차이값을 가진다.
I-프레임으로 시작하는 연속적인 화상들의 집합을 GOP(Group Of Picture)라고 한다. 아래그림은 화상들의 GOP를 나타내는 것이다.
B-프레임을 사용하기 때문에 MPEG 코드 데이타 스트림의 순서는 실재 복호화 되는 순서와는 다를 수 있다. 즉, 연관된 B-프레임후에 출력될 P-프레임은 B-프레임의 복원시에 필요하므로 P-프레임이 먼저 복원되어야 한다. 이것은 양단간 지연을 야기시킨다. 이에 대한 예는 다음과 같다.
화면 출력 순서 | |
---|---|
프레임의 종류 | B B I B B P B B P B B P |
프레임 번호 | 0 1 2 3 4 5 6 7 8 9 10 11 |
복호화 순서 | |
---|---|
프레임의 종류 | I B B P B B P B B P B B |
프레임 번호 | 2 0 1 5 3 4 8 6 7 11 9 10 |
위의 예에서 프레임 번호가 2번인 I- 프레임이 먼저 복호화되고, 그 I-프레임의 정보를 가지고 프레임 번호 0, 1인 B-프레임을 복호화 한다. 3,4번의 B-프레임을 복호화하기 위해서는 2번의 I-프레임과 5번의 P-프레임이 필요하므로 3,4번을 복호화하기 전에 5번 P-프레임을 복호화하는 것이다. 이와 같은 방법으로 10번의 B-프레임까지 복호화한다.
댓글
댓글 쓰기