최신 영상압축 표준인 H.264(MPEG-4 Part10/고급형 비디오 코딩용 AVC 라고도 함)는 미래의 영상표준이 될 것으로 보인다. 따라서 총 2회에 걸쳐 H.264에 대한 심층적인 분석을 해보고자 한다.
H.264는 현재 가장 효율적인 영상압축기술을 지원하는 승인된 개방형 표준이다. H.264 인코더는 Motion JPEG 포맷과 MPEG-4 Part2 표준을 비교했을 때 화질의 손상 없이 각각 80%와 50% 이상으로 디지털 영상 파일 사이즈를 줄일 수 있다. 이는 영상파일에 훨씬 적은 네트워크 대역폭과 저장공간이 요구된다는 것을 의미한다. 혹은 다른 관점에서 보면 일정한 비트율에서 훨씬 높은 화질을 달성할 수도 있다.
갈수록 확대되는 H.264
통신업계와 IT 업계의 표준화 기관들에 의해 공동으로 정의된 H.264는 기존의 표준들보다 더욱 광범위하게 채택될 것으로 예상된다.
H.264는 이미 휴대전화기와 디지털 영상 재생기 등 새로운 전자장치에 도입되어 있으며, 실제 수요자들로부터 높은 평가를 받고 있다. 또한, 온라인 영상저장이나 통신회사와 같은 서비스 제공업체들도 H.264를 채택하기 시작하고 있다.
영상보안업계에서는 H.264가 초당 30(NTSC) 프레임 전송 구현으로 고속도로, 공항 및 카지노 감시와 같이 높은 프레임 속도와 고화질에 대한 요구가 있는 설치장소에서 가장 큰 영향력을 보일 것으로 예상한다. 이는 대역폭 감소와 경제적인 저장 공간으로 인하여 가장 높은 비용 절감 효과를 제공해 줄 수 있기 때문이다.
한편, H.264는 효율성 높은 압축기술이 화질을 손상시키지 않고 큰 파일 사이즈와 비트속도를 줄일 수 있기 때문에 메가픽셀 카메라의 채택을 가속화시킬 것으로 보인다. 하지만 여기에는 조건이 붙는다. H.264가 네트워크 대역폭과 저장비용에서 절약을 제공하는 한편, 높은 성능의 네트워크 카메라 및 감시 스테이션이 선행되어야 하기 때문이다.
H.264의 개발
H.264는 ITU-T’s 비디오 코딩 전문가 그룹과 ISO/IEC 동영상 전문가 그룹(MPEG)의 공동 프로젝트 성과물이다. ITU-T는 국제통신연합(ITU)을 대신하여 통신표준을 조정하는 부문이다. 참고로 국제표준화기구 ISO 표준과 국제전기위원회 IEC 표준은 모든 전기, 전자 및 관련 기술들에 대한 표준을 관장한다.
H.264는 ITU-T가 사용하는 명칭인 반면, ISO/IEC는 이를 MPEG-4 Part 10/AVC로 명명했는데, 그 이유는 이것이 이 기관의 MPEG-4의 새로운 부분으로 제시되었기 때문이다. 예를 들어 MPEG-4는 MPEG-4 Part2를 포함하고 있는데 이것은 IP 기반 비디오 인코더와 네트워크 카메라들이 사용하는 표준이다.
이전의 비디오 압축 표준들에서의 여러 가지 단점들을 해결하기 위해 설계된 H.264는 다음 사항들을 지원하기 위한 목적들을 갖고 있다.
·다른 비디오 표준과 비교하여 일정한 화질에서 평균 50%의 비트율 감소를 가져옴
·다양한 네트워크를 통한 전송오류에 견디는 오류 견고성
·낮은 지연 능력 및 높은 지연에서의 양호한 화질
·구현을 단순화하는 수월한 구문(syntax) 규격
·정확한 대응식 디코딩은 오류 누적 방지를 위하여 인코더와 디코더에서 이루어지는 수치계산 방법을 정확하게 정의함
H.264는 다양한 수준의 비트율이 요구되는 범위의 사례에 유연하게 적용할 수 있는 기술이다. 예를 들면, 방송, 위성, 케이블 및 DVD를 포함하는 오락 비디오 시장에서 H.264는 높은 지연을 갖는 1~10 Mbit/s의 성능을 발휘할 수 있는 반면, 통신 서비스에서는 H.264가 낮은 1Mbit/s 이하의 비트율을 전송할 수 있다.
영상압축 작동 방법
영상압축은 디지털 영상파일이 효율적으로 전송되고, 저장될 수 있도록 중복된 영상 데이터를 줄이고 제거하는 것이다.
프로세스에는 소스 비디오에 알고리즘을 적용하여 즉시 전송과 저장이 가능한 압축파일을 생성하는 과정이 포함된다. 압축된 파일을 재생하기 위해서는 역 알고리즘을 적용하여 원본 영상과 실질적으로 동일한 내용을 보여주는 영상을 생성한다. 이때 파일을 압축, 전송, 해제 및 디스플레이 하는데 소요되는 시간을 응답속도라 한다. 주어진 동일한 프로세싱 능력에서는 압축 알고리즘이 고도화될수록 응답속도가 높아진다.
이를 함께 작동시키는 알고리즘 쌍을 비디오 코덱(인코더/디코더)이라고 한다. 상이한 표준을 구현하는 비디오 코덱들은 보통 서로 호환되지 않는다. 다시 말하면, 하나의 표준을 사용해 압축된 영상내용은 다른 표준으로는 압축을 해제시킬 수 없다는 것이다. 예를 들면, MPEG-4 Part2 디코더는 H.264 인코더하고 작동할 수 없다. 이는 단지 하나의 알고리즘이 다른 알고리즘으로부터의 출력을 정확히 해독할 수 없기 때문이다. 하지만, 동일한 소프트웨어나 하드웨어에 상이한 많은 알고리즘들을 구현하는 것은 가능하며, 그렇게 되면 다수의 포맷을 압축시킬 수 있을 것이다.
상이한 영상압축 표준들은 데이터를 줄이기 위해 각기 다른 방법을 사용하며, 그로 인하여 비트율, 품질 및 응답속도가 달라진다. 동일한 압축 표준을 사용하는 인코더의 결과 또한 달라질 수 있는데, 이는 인코더 설계자가 표준이 정의하는 상이한 도구 세트 구현을 선택할 수 있기 때문이다. 인코더의 출력이 표준의 포맷과 디코더를 따르기만 한다면 상이하게 구현하는 것이 가능하다.
광 매체를 마스터링하기 위한 전문형 비실시간 소프트웨어 인코더들은 휴대용 장치에 통합되어 있는 화상회의용 실시간 하드웨어 인코더보다 잘 부호화된 비디오를 전송하는 옵션을 가져야 한다. 따라서 정해진 표준은 일정한 비트율이나 품질을 보장할 수 없다. 뿐만 아니라, 구현되는 방법을 먼저 정의하지 않고는 표준의 성능을 다른 표준, 혹은 동일한 표준의 다른 구현과 정확히 비교하는 것은 불가능하다.
디코더는 인코더와 달리 유연한 비트스트림을 해독하기 위해 표준에서 요구되는 모든 부분들을 구현해야 한다. 이것은 표준 압축해제 알고리즘은 압축된 비디오의 모든 비트를 복원해야 한다고 엄격하게 규정하기 때문이다. 아래의 그래프는 Motion JPEG, MPEG-4 Part2(움직임 보상 없음), MPEG-4 Part2(움직임 보상 구비) 및 H.264(기본 구성)의 표준 중에서 주어진 동일한 화질 수준에서의 비트율을 나타내고 있다.
H.264의 동일한 연속영상에서 MPEG-4 표준보다 최대 50% 적은 비트를 생성했다. H.264 인코더는 모션 보상이 없는 MPEG-4 인코더보다 최소한 3배 효율적이었으며, Motion JPEG보다는 적어도 6배 효율적이었다.
H.264 프로파일과 레벨
H.264를 정의하는데 참여한 공동그룹은 옵션과 특성을 최소로 제한하여 단순하고 결점이 없는 솔루션을 만들어내는데 중점을 뒀다. 다른 영상표준과 같이 표준의 중요한 측면은 프로파일(알고리즘 기능세트)과 레벨(성능 등급)에서 평이한 생산과 일반적인 포맷을 최적으로 지원하는 능력을 제공하는 것이다.
H.264는 7개의 프로파일을 갖고 있는데, 각각은 특정한 등급의 적용을 목표로 하고 있다. 각각의 프로파일은 인코더가 사용할 수 있는 기능들을 정의하고 디코더의 구현 복잡성을 제한한다.
네트워크 카메라와 비디오 인코더는 기본 프로파일이라고 부르는 프로파일을 사용할 가능성이 큰데, 이것은 주로 제한된 계산자원을 갖는 적용사례를 위한 것이다. 기본 프로파일은 네트워크 비디오 제품에 내장되어 있는 실시간 인코더의 가용한 성능에 가장 적합하다.
이 프로파일은 또한, 낮은 지연을 가능케 하는데, 이는 영상보안의 가장 중요한 요구사항이며, PTZ 네트워크 카메라에서 실시간 팬/틸트/줌(PTZ)을 가능케 하는데 있어 매우 중요하다.
H.264는 성능, 대역폭 및 메모리 요구사항을 제한하는 11레벨 또는 등급의 기능을 갖고 있다. 각 레벨은 QCIF에서 HDTV 및 그 이상에 이르는 범위의 해상도에 대해서 비트율과 초당 매크로 블록의 인코딩율을 정의한다. 해상도가 높을수록 높은 레벨이 요구된다.
프래임의 이해
H.264 프로파일에 따라서 인코더는 I-프레임, P-프레임 및 B-프레임과 같은 상이한 프레임 종류를 사용할 수 있다.
I-프레임 즉, 인트라 프레임(Intra Frame)은 다른 이미지를 참조하지 않고 독립적으로 해독이 가능한 독립형 프레임이다. 비디오 순서열에 있는 첫 번째 프레임은 항상 I-프레임이다. I-프레임은 새로운 뷰어를 위해 혹은 전송된 비트 스트림이 손상된 경우 재동기화 지점의 시작점으로서 필요하다. I-프레임은 빨리감기, 되감기 및 기타 무작위 재생기능을 구현하는데 사용될 수 있다.
인코더는 정규적인 간격으로 자동적으로 혹은 새로운 클라이언트가 스트림 시청에 참여할 것으로 예상되는 경우 요구에 의해 I-프레임을 삽입한다. I-프레임의 결점은 상당히 많은 비트를 소모한다는 것이지만 한편으로 이것들은 많은 인조물을 생성하지는 않는다.
P-프레임은 프레임 사이의 예측(Predictive)을 의미하는 것으로써 이전의 I-프레임 및 P-프레임을 참조하여 프레임을 부호화한다. P-프레임은 보통 I-프레임보다 적은 비트를 요구하지만, 이전의 P-프레임과 I-프레임에 대한 복잡한 의존성으로 인하여 전송오류에 아주 민감하다는 단점을 갖고 있다.
B-프레임, 즉 양측 예측 인터프레임(Bi-predictive Inter Frame)은 이전의 참조 프레임과 이후의 프레임 모두를 참조하는 프레임이다. P-프레임은 이전의 I-프레임 또는 P-프레임을 참조할 수 있는 반면에 B-프레임은 이전 및 후속 I-프레임이나 P-프레임 모두를 참조할 수 있다.
비디오 디코더가 프레임 별로 비트 스트림을 해독하여 비디오를 복원할 때, 해독은 항상 I-프레임으로 시작해야 한다. P-프레임과 B-프레임이 사용될 경우에 참조 프레임과 함께 해독되어야 한다.
H.264 기본 프로파일에서는 I-프레임과 P-프레임만이 사용된다. 이 프로파일은 B-프레임이 사용되지 않아 지연이 낮기 때문에 네트워크 카메라와 비디오 인코더에 이상적이다.
<글 : 윤승제 엑시스커뮤니케이션즈코리아 지사장(alexy@axis.com)>
[시큐리티월드 (info@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>