H.264 영상 압축 표준 영상 감시 분야의 새로운 가능성
상태바
H.264 영상 압축 표준 영상 감시 분야의 새로운 가능성
  • CCTV뉴스
  • 승인 2009.03.11 00:00
  • 댓글 0
이 기사를 공유합니다


H.264는 높은 지연을 갖는 1~10Mbit/s의 성능을 발휘할 수 있는 반면에, 통신 서비스에서는 H.264가 낮은 1 Mbit/s 이하의 비트율을 전송할 수 있다.

개요

최신 비디오 압축 표준인 H.264(MPEG-4 Part 10/고급형 비디오 코딩용 AVC 라고도 함)는 미래의 비디오 표준이 될 것으로 보인다.

H.264는 현재 가용한 가장 효율적인 비디오 압축 기술을 지원하는 승인된 개방형 표준이다. H.264 인코더는 모션 JPEG 포맷과 MPEG-4 Part 2 표준과 비교했을 때 화질의 손상 없이 각각 80%와 50% 이상으로 디지털 비디오 파일 사이즈를 줄일 수 있다.

이는 비디오 파일에 훨씬 적은 네트워크 대역폭과 저장 공간이 요구된다는 것을 의미한다. 혹은 다른 관점에서 보면 일정한 비트율에서 훨씬 높은 화질을 달성할 수 있다.

통신업계와 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 Part 2를 포함하고 있는데 이것은 IP 기반 비디오 인코더와 네트워크 카메라들이 사용하는 표준이다.

이전의 비디오 압축 표준들에서의 여러 가지 단점들을 해결하기 위해 설계된 H.264는 다음 사항들을 지원하기 위한 목적들을 함께 갖고 있다.

· 다른 비디오 표준과 비교하여 일정한 화질에서 평균 50%의 비트율 감소를 가져오는 구현
· 다양한 네트워크를 통한 전송오류에 견디는 오류 견고성
· 낮은 지연 능력 및 높은 지연에서의 양호한 화질
· 구현을 단순화하는 수월한 구문(syntax) 규격
· 정확한 대응식 디코딩은 오류 누적 방지를 위하여 인코더와 디코더에서 이루어지는 수치계산 방법을 정확하게 정의함

H.264는 또한 다양한 수준의 비트율이 요구되는 범위의 애플리케이션에 유연한 기술이다. 예를 들면, 방송, 위성, 케이블 및 DVD를 포함하는 오락 비디오 애플리케이션에서 H.264는 높은 지연을 갖는 1~10Mbit/s의 성능을 발휘할 수 있는 반면에, 통신 서비스에서는 H.264가 낮은 1 Mbit/s 이하의 비트율을 전송할 수 있다.

영상 압축 작동 방법 

비디오 압축은 디지털 비디오 파일이 효율적으로 전송되고 저장될 수 있도록 중복된 비디오 데이터를 줄이고 제거하는 것이다.

프로세스에는 소스 비디오에 알고리즘을 적용하여 즉시 전송과 저장이 가능한 압축파일을 생성하는 과정이 포함된다. 압축된 파일을 재생하기 위해서는 역 알고리즘을 적용하여 원본 비디오와 실질적으로 동일한 내용을 보여주는 비디오를 생성한다.

파일을 압축, 전송, 해제 및 디스플레이 하는데 소요되는 시간을 응답속도라 한다. 주어진 동일한 프로세싱 능력에서는 압축 알고리즘이 고도화될수록 응답속도가 높아진다.

이를 함께 작동시키는 알고리즘 쌍을 비디오 코덱(인코더/디코더)이라고 한다. 상이한 표준을 구현하는 비디오 코덱들은 보통 서로 호환되지 않는다. 다시 말하면, 하나의 표준을 사용하여 압축된 비디오 내용은 다른 표준으로는 압축을 해제시킬 수 없다.

예를 들면, MPEG-4 Part 2 디코더는 H.264 인코더하고 작동하지 않는다. 이는 단지 하나의 알고리즘이 다른 알고리즘으로부터의 출력을 정확히 해독할 수 없기 때문이다. 하지만, 동일한 소프트웨어나 하드웨어에 상이한 많은 알고리즘들을 구현하는 것은 가능하며 그렇게 되면 다수의 포맷을 압축시킬 수 있을 것이다.

상이한 비디오압축 표준들은 데이터를 줄이기 위해 각기 다른 방법을 사용하며, 그로 인하여 비트율, 품질 및 응답속도가 달라진다.동일한 압축 표준을 사용하는 인코더의 결과 또한 달라질 수 있는데, 이는 인코더 설계자가 표준이 정의하는 상이한 도구 세트 구현을 선택할 수 있기 때문이다.
 
인코더의 출력이 표준의 포맷과 디코더를 따르기만 한다면 상이하게 구현하는 것이 가능하다. 이것은 다양한 구현이 다양한 목적과 예산을 갖고 있기 때문에 장점이 된다.

광 매체를 마스터링하기 위한 전문형 비 실시간 소프트웨어 인코더들은 휴대용 장치에 통합되어 있는 화상회의용 실시간 하드웨어 인코더보다 잘 부호화된 비디오를 전송하는 옵션을 가져야 한다.

따라서, 정해진 표준은 일정한 비트율이나 품질을 보장할 수 없다. 뿐만 아니라, 구현되는 방법을 먼저 정의하지 않고는 표준의 성능을 다른 표준, 혹은 동일한 표준의 다른 구현과 정확히 비교하는 것은 불가능하다.

디코더는 인코더와 달리 유연한 비트스트림을 해독하기 위하여 표준에서 요구되는 모든 부분들을 구현해야 한다. 이것은 표준이 압축해제 알고리즘은 압축된 비디오의 모든 비트를 복원해야 한다고 엄격하게 규정하기 때문이다.

그림 1은 Motion JPEG, MPEG-4 Part 2 (움직임 보상 없음), MPEG-4 Part 2(움직임 보상 구비) 및 H.264(기본 구성)의 표준 중에서 주어진 동일한 화질 수준에서의 비트율을 나타내고 있다.
그림 1. 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)은 이전의 참조 프레임과 이후의 프레임 모두를 참조하는 프레임이다.

비디오 디코더가 프레임 별로 비트 스트림을 해독하여 비디오를 복원할 때, 해독은 항상 I-프레임으로 시작해야 한다. P-프레임과 B-프레임은 사용될 경우에 참조 프레임과 함께 해독되어야 한다. H.264 기본 프로파일에서는 I-프레임과 P-프레임만이 사용된다. 이 프로파일은 B-프레임이 사용되지 않아 지연이 낮기 때문에 네트워크 카메라와 비디오 인코더에 이상적이다.

그림 2. I-프레임, B-프레임 및 P-프레임의 일반적인 순서. P-프레임은 이전의 I-프레임 또는 P-프레임을 참조할 수 있는 반면에 B-프레임은 이전 및 후속 I-프레임이나 P-프레임 모두를 참조할 수 있다.

데이터를 줄이는 기본적인 방법

다양한 방법을 사용하여 이미지 프레임 내부와 일련의 프레임 사이에서 비디오 데이터를 줄일 수 있다. 이미지 프레임 내부에서는 불필요한 정보를 제거함으로써 간단히 데이터를 줄일 수 있는데 이는 이미지 해상도에 영향을 준다.

일련의 프레임에서 비디오 데이터는 차등 코딩과 같은 방법으로 비디오 데이터를 줄일 수 있는데, 이것은 H.264와 같은 대부분의 비디오 압축 표준에서 사용된다. 차등 코딩에서 프레임은 참조 프레임(즉, 이전의 I-프레임 또는 P-프레임)과 비교되며 참조 프레임과 관련하여 변경된 픽셀들만 부호화된다. 이 방법에서는 부호화되고 전송되는 픽셀 값의 개수가 감소된다.

해독양은 차이의 검출과 인코딩이 개별 픽셀이 아니라 픽셀 블록(매크로 블록)을 기반으로 하는 경우에 한층 더 줄일 수 있다. 따라서, 큰 구역이 서로 비교되며 상당히 차이가 있는 블록들만 부호화된다. 변화되는 구역의 위치를 나타내는 것과 관련된 오버헤드 역시 감소된다.

그림 3. Motion JPEG 포맷을 사용하면 위의 순서에서 3개 이미지들은 서로 종속성을 갖지 않는 별도의 고유 이미지(I-프레임)으로 부호화되어 전송된다.

그림 4. 차등 코딩(H.264를 비롯한 대부분의 비디오 압축 표준에 사용됨)을 사용하면 첫 번째 이미지(I-프레임)만 온전하게 부호화 된다.

다음 이미지 (P-프레임)에서는, 정적 요소(즉, 집)에 대해 첫 번째 그림에 대한 참조가 이루어지고, 움직이는 부분, 즉 달리는 사람은 모션 벡터를 사용하여 부호화되기 때문에 전송되고 저장되는 정보량이 줄어든다.

               그림 5. 블록을 기반으로 한 모션 보상을 설명하는 그림
그러나 차등코딩은 비디오에 움직임이 많은 경우에는 데이터를 많이 줄이지 않는다. 여기서는 블록기반 모션 보상과 같은 기법을 사용할 수 있다. 블록기반 모션 보상은 비디오 순서에서 새로운 프레임을 만들어내는 대부분을 이전 프레임에서 발견할 있고 위치만 다를 것이라는 점을 고려한다. 이 기법은 프레임을 일련의 매크로 블록으로 분할한다.

블록 별로 새로운 프레임, 이를테면 P-프레임을 구성하거나 참조 프레임에서 일치하는 블록을 찾아 '예측'할 수 있다. 일치하는 블록이 발견되면 인코더는 단순히 참조 프레임에서 일치하는 블록이 발견된 위치를 부호화한다. 모션벡터 코딩은 말 그대로 블록의 실제 내용을 부호화하는 것보다 적은 비트를 차지한다.

H.264의 효율성

H.264는 비디오 압축 기술을 새로운 차원으로 보내준다. H.264에서는 I-프레임 인코딩을 위하여 새로운 첨단 예측 방식이 도입된다. 이 방식은 I-프레임의 비트 사이즈를 상당히 줄일 수 있으며, 프레임의 각 매크로 블록 안에 있는 더 작은 픽셀 블록들을 연속적으로 예측할 수 있게 함으로써 높은 품질을 유지할 수 있다.
 
이것은 인트라 코딩 대상인 새로운 4x4 픽셀 블록에 인접하는 이전에 부호화된 픽셀들을 찾으려고 시도함으로써 이루어진다. 이미 부호화된 픽셀 값을 재사용함으로써 비트 사이즈를 극적으로 줄일 수 있다.

새로운 인트라 예측은 대단히 효율적인 것으로 입증된 H.264 기술의 핵심 부분이다. 비교를 해보자면 H.264 스트림에 I-프레임만 사용되었을 경우, I-프레임만을 사용하는 모션 JPEG 스트림보다 상당히 작은 파일 크기를 갖게 될 것이다.

P-프레임과 B-프레임에 사용되는 블록기반 모션 보상 역시 H.264에서 향상되었다. H.264 인코더는 하나 또는 다수의 참조 프레임에서 몇 개 혹은 다수의 구역에 있는 정합 블록을 픽셀 이하 단위의 정밀도로 검색할 수 있다. 블록의 크기와 모양을 조정하여 정합을 향상시킬 수 있다.

참조 프레임에서 정합 블록을 찾을 수 없는 구역에서는 인트라 코드 매크로 블록이 사용되지 않는다. H.264의 블록기반 모션 보상이 갖는 고도의 유연성은 까다로운 애플리케이션을 위해 품질을 유지할 수 있는 혼잡한 감시 장면에서 진가를 나타낸다. 모션보상은 비디오 인코더의 가장 까다로운 측면이며, H.264로 구현할 수 있는 다양한 방법과 정도는 비디오를 효율적으로 압축하는 방법에 영향을 줄 수 있다.

그림 6. 매크로 블록을 형성하는 16개 블록 중 하나 안에 4x4 픽셀을 부호화하는데 있어서 인트라 예측이 취할 수 있는 몇 가지 모드의 도해. 매크로 블록의 16개 블록 각각에 대해 상이한 모드를 사용하여 부호화할 수 있다.


그림 7. 위의 이미지는 H.264의 인트라 예측방식의 효율성을 도해하고 있다.
이에 따라면 인트라 예측 이미지는 '무료'로 전송된다. 출력 이미지를 생성하려면 잔류 내용과 인트라 예측 모드만을 부호화하면 된다.

전형적인 블록모양 인조물(H.264 이외의 Motion JPEG 및 MPEG 표준을 사용하여 높은 비율로 압축된 원본 이미지 인트라 예측 이미지 잔류 이미지 출력 이미지 비디오에 나타남)은 H.264을 통해 인루프 블록제거 필터를 사용하여 상당히 줄일 수 있다. 이 필터는 적응형 신호 강도를 사용하여 블록 모서리를 유연하게 함으로써 가장 완벽하게 해독된 비디오를 전송한다.
그림 8. 왼쪽 이미지에서 고도로 압축된 이미지에 있는 블록모양 인조물은 오른쪽 이미지와 같이 블록제거 필터를 적용하면 줄어든다.


결론

H.264는 비디오 압축 기술에 있어서 장족의 발전을 보여준다. 이것은 더욱 정확한 예측능력뿐만 아니라 향상된 오류복구 기능으로 인하여 더욱 좋은 압축효율을 가능케 하는 기법들을 제공한다.

이것은 일정한 비트율에서 높은 품질의 비디오 스트림, 높은 프레임 속도 및 높은 해상도를 가능케 하거나 반대로 낮은 비트율에서 동일한 품질의 비디오를 가능케 하는 더욱 좋은 비디오 인코더 창조를 위한 새로운 가능성을 제공한다.

H.264는 ITU, ISO 및 IEC가 비디오 압축을 위한 공통 국제표준에 공조한 최초의 사례를 의미한다. 이것이 갖는 유연성으로 인하여 H.264는 고화질 TV, 온라인 비디오 스토리지(예: YouTube), 제3세대 휴대전화기를 비롯한 고화질 DVD(예: Blu-ray), 디지털 비디오방송과 같은 다양한 영역과 QuickTime, Flash 및 애플컴퓨터사의 MacOS X 운영체제와 같은 소프트웨어, 그리고 PlayStation 3과 같은 가정용 비디오 게임 콘솔에 적용되고 있다.

여러 업계의 지원과 일반 소비자 및 전문가용 애플리케이션 덕분에 H.264는 오늘날 사용되는 다른 압축 표준과 방법들을 교체할 것으로 예상된다.

H.264 포맷은 네트워크 카메라에서 보다 광범위하게 가용하게 될 것이기 때문에, 시스템 설계자들과 통합 사업자들은 그들이 선택하는 제품 및 판매자가 이러한 새로운 개방형 표준을 지원하고 있는지 확인해야 한다.
또한, 당분간 H.264와 모션 JPEG을 지원하는 네트워크 비디오 제품은 최대의 유연성과 통합 가능성에 이상적이다. 
  

<박지은 기자>



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.