데이터를 줄이는 기본적인 방법
다양한 방법을 사용하여 이미지 프레임 내부와 일련의 프레임 사이에서 비디오 데이터를 줄일 수 있다.
이미지 프레임 내부에서는 불필요한 정보를 제거함으로써 간단히 데이터를 줄일 수 있는데 이는 이미지 해상도에 영향을 주게 된다. 일련의 프레임에서 비디오 데이터는 차등 코딩과 같은 방법으로 비디오 데이터를 줄일 수 있는데, 이것은 H.264와 같은 대부분의 비디오 압축 표준에서 사용된다. 차등 코딩에서 프레임은 참조 프레임(즉, 이전의 I-프레임 또는 P-프레임)과 비교되며, 참조 프레임과 관련하여 변경된 픽셀들만 부호화된다. 이 방법에서는 부호화되고 전송되는 픽셀 값의 개수가 감소된다.
Motion JPEG 포맷을 사용하면 위의 순서에서 3개 이미지들은 서로 종속성을 갖지 않는 별도의 고유 이미지(I-프레임)로 부호화되어 전송된다. |
차등 코딩(H.264를 비롯한 대부분의 비디오 압축 표준에 사용됨)을 사용하면 첫 번째 이미지(I-프레임)만 온전하게 부호화된다. 다음 이미지(P-프레임)에서는, 정적 요소(집)에 대해 첫 번째 그림에 대한 참조가 이루어지고, 움직이는 부분, 즉 달리는 사람은 모션 벡터를 사용하여 부호화되기 때문에 전송되고 저장되는 정보량이 줄어들게 된다. |
해독량은 차이의 검출과 인코딩이 개별 픽셀이 아니라 픽셀 블록(매크로 블록)을 기반으로 하는 경우에 한층 더 줄어들 수 있다. 따라서 큰 구역이 서로 비교되며 차이가 있는 블록들만 부호화된다. 변화되는 구역의 위치를 나타내는 것과 관련된 오버헤드 역시 감소된다. 그러나 차등코딩은 비디오에 움직임이 많은 경우에는 데이터를 크게 줄이지 않는다.
여기에서는 블록기반 모션 보상과 같은 기법을 사용할 수 있다. 블록기반 모션 보상은 비디오 순서에서 새로운 프레임을 만들어내는 대부분을 이전 프레임에서 발견할 있고 위치만 다를 것이라는 점을 고려한다. 이 기법은 프레임을 일련의 매크로 블록으로 분할한다. 블록 별로 새로운 프레임, 이를테면 P-프레임을 구성하거나 참조 프레임에서 일치하는 블록을 찾아 예측할 수 있다.
이렇듯 일치하는 블록이 발견되면 인코더는 단순히 참조 프레임에서 일치하는 블록이 발견된 위치를 부호화한다. 참고로 모션벡터 코딩은 말 그대로 블록의 실제 내용을 부호화하는 것보다 적은 비트를 차지한다.
블록을 기반으로 한 모션 보상을 설명하는 그림 |
H.264의 효율성
H.264는 비디오 압축 기술을 새로운 차원으로 보내준다. H.264에서는 I-프레임 인코딩을 위하여 새로운 첨단 예측 방식이 도입되는데 이 방식은 I-프레임의 비트 사이즈를 상당부분 줄일 수 있으며, 프레임의 각 매크로 블록 안에 있는 더 작은 픽셀 블록들을 연속적으로 예측할 수 있게 함으로써 높은 품질을 유지할 수 있다.
이것은 인트라 코딩 대상인 새로운 4×4 픽셀 블록에 인접하는 이전에 부호화된 픽셀들을 찾으려고 시도함으로써 이루어진다. 이미 부호화된 픽셀 값을 재사용함으로써 비트 사이즈를 크게 줄일 수도 있다.
새로운 인트라 예측은 대단히 효율적인 것으로 입증된 H.264 기술의 핵심부분이다. 비교해 보면 H.264 스트림에 I-프레임만 사용되었을 경우 I-프레임만을 사용하는 Motion JPEG 스트림보다 상당히 작은 파일 크기를 갖게 될 것이다.
P-프레임과 B-프레임에 사용되는 블록기반 모션보상 역시 H.264에서 향상되었다. H.264 인코더는 하나 또는 다수의 참조 프레임에서 몇 개 혹은 다수의 구역에 있는 정합 블록을 픽셀 이하 단위의 정밀도로 검색할 수 있다. 또한, 블록의 크기와 모양을 조정하여 정합을 향상시킬 수 있다.
참조프레임에서 정합블록을 찾을 수 없는 구역에서는 인트라 코드 매크로 블록이 사용되지 않는다. H.264의 블록기반 모션 보상이 갖는 고도의 유연성은 까다로운 애플리케이션을 위해 품질을 유지할 수 있는 혼잡한 감시장면에서 진가를 나타낸다. 모션보상은 비디오 인코더의 가장 까다로운 부분이며, H.264로 구현할 수 있는 다양한 방법은 비디오를 효율적으로 압축하는 방법에 영향을 줄 수 있다.
전형적인 블록모양 인조물(H.264 이외의 Motion JPEG 및 MPEG 표준을 사용하여 높은 비율로 압축된 비디오에 나타남)은 H.264를 통해 인루프 블록제거 필터를 사용하여 상당부분 줄일 수 있다. 이 필터는 적응형 신호강도를 사용하여 블록 모서리를 유연하게 함으로써 가장 완벽하게 해독된 비디오를 전송한다.
매크로 블록을 형성하는 16개 블록 중 하나 안에 4×4 픽셀을 부호화하는데 있어서 인트라 예측이 취할 수 있는 몇 가지 모드. 매크로 블록의 16개 블록 각각에 대해 상이한 모드를 사용하여 부호화할 수 있다. |
위의 이미지는 H.264의 인트라 예측방식의 효율성을 설명하고 있다. 이에 따르면 인트라 예측 이미지는 무료로 전송된다. 출력 이미지를 생성하려면 잔류 내용과 인트라 예측 모드만을 부호화하면 된다. |
H.264로 인한 변화
H.264는 비디오 압축 기술에 있어서 장족의 발전을 가져올 것으로 보인다. 더욱 정확한 예측능력뿐만 아니라 향상된 오류복구 기능으로 더욱 좋은 압축효율을 가능케 하는 기법들을 제공할 수 있다.
또한, H.264는 일정한 비트율에서 높은 품질의 비디오 스트림, 높은 프레임 속도 및 높은 해상도를 가능케 하거나 반대로 낮은 비트율에서 동일한 품질의 비디오를 가능케 하는 더욱 좋은 비디오 인코더 창조를 위한 새로운 가능성을 제공한다.
H.264는 ITU, ISO 및 IEC가 비디오 압축을 위한 공통 국제표준에 공조한 최초의 사례를 의미한다. 이것이 갖는 유연성으로 인해 H.264는 고화질 TV, 온라인 비디오 스토리지(예: YouTube), 제3세대 휴대폰을 비롯한 고화질 DVD(예: Blu-ray), 디지털 비디오 방송과 같은 다양한 영역과 QuickTime, Flash 및 애플컴퓨터사의 MacOS X 운영체제와 같은 소프트웨어, 그리고 PlayStation3와 같은 가정용 비디오 게임 콘솔에 적용되고 있다. 이렇듯 여러 업계의 지원과 일반 소비자 및 전문가용 어플리케이션 덕분에 H.264는 오늘날 사용되는 다른 압축표준과 방법들을 상당부분 교체할 것으로 예상된다.
H.264 포맷은 네트워크 카메라에서 보다 광범위하게 사용될 것이기 때문에, 시스템 설계자들과 통합 사업자들은 그들이 선택하는 제품 및 판매자가 이러한 새로운 개방형 표준을 지원하고 있는지 확인해야 한다.
확실히 말할 수 있는 것은 당분간 H.264와 Motion JPEG를 지원하는 네트워크 비디오 제품은 최대의 유연성과 통합 가능성에 가장 이상적이라는 것이다.
왼쪽 이미지에서 고도로 압축된 이미지에 있는 블록모양 인조물은 오른쪽 이미지와 같이 블록제거 필터를 적용하면 줄어든다. |
글_윤 승 제 | 엑시스커뮤니케이션즈코리아 지사장(alexy@axis.com)