Tech Guide-HDTV용 AVC 디코더 기술
상태바
Tech Guide-HDTV용 AVC 디코더 기술
  • 승인 2005.06.17 00:00
  • 댓글 0
이 기사를 공유합니다

차세대 비디오 코덱 기술, MPEG-4 AVC
프리미엄 콘텐츠 제공 가능 … HDTV 서비스로 전환 가속

에릭 라옐(Eric Rayel)
커넥선트 브로드밴드 미디어 프로세싱 사업부 마케팅 이사

경쟁력이 있는 HDTV 서비스 제공을 위해 새로운 MPEG-4 AVC(Advanced Video Coding) 비디오 코덱 기술이 주목을 받고 있다. 이러한 MPEG-4 AVC는 방송, 통신 등 관련 업계가 경쟁력을 강화하고, 새로운 수익 창출이 가능한 HDTV로의 전환을 가속화하는 핵심 기술로 부상하고 있는 것이다. <편집자>

경쟁력이 있는 HDTV 서비스를 구축했거나 도입하려고 계획중인 수많은 유료 디지털 TV 방송국들이 새로운 MPEG-4 AVC(Advanced Video Coding) 비디오 코덱 기술을 적용하고 있다. 지금까지는 네트워크의 용량을 늘리려면 상당한 투자를 필요로 했고, 이런 재정적인 문제로 인해 방송국들이 경제성 있게 제공할 수 있는 MPEG-2 기술 기반의 HDTV 채널 수가 많지 않았다. 또 케이블 TV와 위성 TV간의 경쟁이 심화되고 있으며, 통신사업자들까지도 이 시장에 뛰어들면서 가입자 확보 경쟁은 더욱 치열해지고 있기 때문에 기존 가입자를 유지하고 새로운 고객을 확보하기 위해서는 프리미엄 콘텐츠를 추가로 제공해야만 한다.
이에 따라 HD 프로그램은 매출을 많이 일으키는 가입자 계층을 유치하기 위한 경쟁에서 강력한 무기로 떠오르게 됐고, MPEG-4 AVC는 관련 업계가 HDTV로 전환하도록 만드는 핵심기술이 되고 있다. 이러한 전환을 위해서는 다양한 HDTV, SDTV 방송 애플리케이션을 위해 표준에 부합하는 MPEG-4 AVC/H.264 디코더 등 반도체 솔루션이 필요하다.

AVC 정의
MPEG-4 AVC/H.264 코덱 표준화를 위한 노력의 역사와 이것의 다양한 프로필 정의에 대해 간단히 살펴보자. 이 새로운 코덱을 위한 요구사항은 VCEG(Video Coding Experts Group) 내에서 ITU-T H.26L 표준화 활동으로 시작됐다. 곧 이어 VCEG과 MPEG은 이 코덱 표준화를 공동의 프로젝트로 마무리하기 위해 JVT(Joint Video Team)를 구성했는데 이것이 현재는 별도의 ITU-T 표준이 됐으며 ITU-T 권장사항 H.264 또는 간단하게 H.264로 불린다.
MPEG 내에서는 동일한 코덱이 MPEG-4 스위트(suite)의 새로운 한 파트(part)가 됐다. 하지만 이는 기존 MPEG-4 비주얼 표준과는 관계가 없으며 서로 다른 것으로 공식적인 명칭은 MPEG-4 파트 10이지만 업계에서는 AVC라고 부르는 것이 관행이다. 현재까지 4개의 프로필이 AVC/ H.264를 위해 정의됐는데, 베이스라인(Baseline), 익스텐디드(Ex tended), 메인(Main), 하이(High) 프로필이 그것들이다.
베이스라인 프로필은 화상전화와 모바일 비디오 애플리케이션을 염두에 두고 정의된 일련의 툴들로, 강화된 에러 탄력성과 같은 기능들을 갖고 있다. 익스텐디드 프로필은 베이스라인 프로필을 포함하고 있는 것으로 추가적인 에러 탄력성 기능을 갖고 있으며 인터넷 비디오 스트리밍 애플리케이션을 위한 것이다.
메인 프로필은 에러 탄력성 툴을 사용하지 않지만 TV 방송과 기타 오락용 비디오 애플리케이션을 위해 최적의 비트율(bit-rate) 성능을 얻을 수 있도록 디자인된 많은 수의 향상된 기능들을 포함하고 있다. 이런 목적을 위한 툴 중 가장 중요한 것들로는 B 슬라이스(slices), CABAC 엔트로피 코딩, 그리고 가중치 적용 예측(weighted prediction) 등이 있다.

- B 슬라이스는 각 매크로 블록(macro-block)당 더 많은 예측 모드를 가능하게 함으로써(P 슬라이스에 비해) 압축성능을 향상시킨다. 유연한 중복예측(bi-predictive) 코딩과 다이렉트 모드(direct mode) 예측이 정확성을 향상시키므로 비트율이 줄어든다.
- CABAC 엔트로피 코딩은 구문 요소(syntax elements)와 잔여 데이터(residual data)를 손실 없이 암호화한다. 이것은 산술적 코딩(arithmetic coding)과 문맥 모델링 프로세스 (context modeling process)를 사용함으로써 심볼간의 중복(inter-symbol redundancy)을 이용한다.
- 가중치 적용 예측은 모션이 보정된 픽셀들이 글로벌 요인들에 따라 변형돼 조도(lighting) 변화나 페이드(fade)를 포함하고 있는 비디오 시퀀스의 코딩이 더욱 효과적이 되도록 해준다.

하이 프로필은 메인 프로필을 포함하고 있는 상위개념이며 HDTV 화면 해상도에서 비트율을 더욱 줄이기 위해 최근에 추가된 표준이다. 하이 프로필은 잔여 데이터 코딩을 위해 8×8 변환이 더해졌으며(메인 프로필에는 4×4 코딩만 있는 것에 반해), 정량화 스케일링 매트릭스 툴(quantization scaling matrices tools)도 추가됐다. 하이 프로필은 진행성 HDTV 화상의 비트율을 메인 프로필에 비해 12% 정도 더 줄여줄 것으로 기대를 모으고 있으며 인터레이스된 HDTV 콘텐츠와 SDTV 콘텐츠의 비트율은 그보다 적은 4%와 6%를 줄여줄 것으로 기대된다.
각 프로필 안에는 최대 해상도와 프레임 레이트의 조합과 함께 해독이 가능한 최대 압축 비트 레이트를 정의하는 레벨들이 있다. 대부분의 디지털 TV 방송사들은 <표 1>에 나타나 있는 AVC 스펙 레벨들을 사용할 것으로 예상된다. 참고로 커넥선트의 CX2418x AVC 디코더 칩 제품군은 레벨 4.0의 하이 프로필까지 모든 프로필과 레벨을 지원한다.

AVC 대 MPEG-2
MPEG-4 AVC는 MPEG-2에 비해 상대적으로 50% 또는 그 이상의 비트율을 줄이는 장점이 있다. 그 이유는 MPEG-2에는 정확하게 상응하는 툴이 없는데 반해 개선된 툴들과 완전히 새로운 툴들이 MPEG-4 AVC에는 있기 때문이다.
MPEG-4 AVC는 비트율의 감소 이외에도 사용자가 화질이 더 좋다고 느껴지도록 만든다. 작은 크기의 변형 블록, 역시 작은 크기의 모션 보정 블록, 인-루프 블록해제 필터 등은 모두 압축이 풀린 화상에 남기 마련인 블록 구조를 없애는데 도움이 된다.
MPEG-4 AVC는 성능상의 차이에서 짐작할 수 있듯이 MPEG-2에 비해 알고리즘이 훨씬 더 복잡해진 것이며, 이렇게 복잡해진 만큼 디코더 하드웨어와 DRAM 가격도 증가하기 마련이다. 그러나 커넥선트는 가장 비용 효과적인 방법으로 레벨 4.0까지의 하이 프로필에 부합하는 반도체 솔루션을 구현해냈다.
저비용 코-프로세서 디코더 반도체 솔루션을 이용해 기존의 MPEG-2 HDTV PVR 시스템 솔루션에 모듈형 접근 방법으로 AVC 비트-스트림 디코딩 기능이 추가됐으며, 성능은 전용 DRAM 메모리 버퍼를 사용하는 고정배선 반도체 디자인을 통해 보장된다. 커넥선트의 CX2418x AVC 디코더 칩은 슬라이스 디코딩을 위한 하드웨어 엔진, 헤더 디코딩을 위한 프로그래머블 프로세서, 에러 숨김, 그리고 시스템 컨트롤 등이 결합돼 결과적으로 레벨 4.0의 하이 프로필이 요구하는 시스템 성능을 제공하는 효율적인 반도체 칩이다.

AVC 규격 부합
방송사에게는 디코더가 MPEG-4 AVC 규격에 부합하는 것은 매우 중요한 문제다. 다음에 기술돼 있는 것처럼 디코더의 쓰루풋에 제약이 있기 때문에 특히 더하다. 현재로서는 널리 받아들여지는 독립적인 부합 테스트 스위트의 표준은 없다. 따라서 디코더 제조업체들은 여러 종류의 비공식적인 부합 테스트 자원에 의존하는데 여기에는 JVT의 회원들이 제공한 많은 테스트 스트림과 다양한 비공식적 비트-스트림 소스들이 포함된다.
어떤 방송사들은 독자적인 테스트 스트림을 만들어내려는 움직임을 보이는 반면 다른 방송사들은 이런 서비스를 제공하는 별개의 외부 업체를 찾고 있기도 하다. 방송용 인코더 장비업체들 역시 부합 테스트를 위한 또 다른 중요한 소스가 되기도 한다. 커넥선트는 업계의 이런 가능한 소스들을 모두 모아 새로운 AVC 테스트 스위트와 인코더 장비들을 개발해 출시함으로써 관련 공급업체들과 파트너십을 강화해 나가고 있다.

AVC 디코더 성능 병목현상
AVC 규격에 맞는 HDTV 디코더 칩을 구현하기 위해서는 현재 가장 진보된 반도체 공정기술과 고도로 최적화된 회로 디자인, 그리고 고성능의 DRAM 컨트롤러가 필요하다. 특히 디코더의 두 가지 측면이 데이터 쓰루풋의 병목현상을 좌우해 결과적으로 디코더의 성능제한요소로 작용한다.
그 첫 번째 요인은 CABAC 엔트로피 디코더 엔진이다. CABAC 디코딩은 매우 반복적이기 때문에 데이터의 병렬 처리에는 적합하지 않으며, 하드웨어가 많이 소요되고 매우 빠른 클럭 속도로 작동하는 디자인을 필요로 한다. CABAC 프로세싱의 쓰루풋은 압축된 비디오 비트율에 따라 늘어나야 한다. 따라서 1920×1080 HD 비디오를 위해서는 20Mbps까지의 인풋 비트율을 수용할 수 있어야 한다. 이처럼 CABAC 프로세싱이 많이 요구되기 때문에 현재 또는 가까운 시일 내에 DSP나 VLIW 반도체가 현실적이고, 비용 효율적인 HDTV 디코더 솔루션이 될 가능성은 없다.
디코더 시스템의 성능을 제한하는 두 번째 병목은 DRAM 컨트롤러다. 디코더를 구현하는 데 있어 이 부분이 쉽지 않은 이유는 MPEG-4 AVC가 DRAM 대역폭을 다량으로, 그리고 비효율적으로 사용하기 때문이다. 16×16 매크로 블록이 많게는 16개의 움직임 보정을 위한 4×4 블록으로 나눠져 DRAM 액세스 횟수 역시 16배 늘어나게 된다. 게다가 움직임 보정을 위해 6-탭 보간 필터(6-tap interpolation filter)를 사용하기 때문에 문제는 더 복잡해진다.
예측을 위해 4개의 8×8 블록으로 나눠진 16×16 휘도 매크로블록을 예로 들어보자. 만약 1/4 픽셀이나 1/2 픽셀 위치에 8×8 블록이 놓이게 되면 8×8 움직임 보정 블록의 가장자리에 있는 픽셀들에 대해 6-탭 필터링을 수행하기 위해서는 13×13 블록의 픽셀들을 DRAM에서 가져와야 한다. 이것은 MPEG-2에서 이에 상응하는 최악의 경우에 비해 2.6배나 더 많은 데이터가 필요하다는 것을 의미한다.
DRAM 대역폭을 많이 사용하는 문제는 그 대역폭을 비효율적으로 사용함으로 더욱 증폭된다. 앞서 언급한 것처럼 MPEG-2의 경우에 비해 데이터를 가져오는 횟수가 늘어나는데 가져오는 데이터의 크기는 더 작다는 점을 생각해 보기 바란다. 예를 들어 AVC 블록은 작게는 4×4 휘도 블록을 위한 16바이트의 데이터를 가져올 수도 있는데, 이것은 256바이트의 16×16 MPEG-2 블록 데이터에 비하면 매우 작다. 새로운 데이터 페치(fetch) 사이클을 시작하기 위한 자원부담으로 인해 DRAM의 대역폭 성능이 급격히 떨어지며 이런 것들이 쌓여 MPEG-4 AVC 움직임 보정은 같은 매크로 블록 크기에서도 훨씬 더 많은 메모리 사이클이 요구된다.
DRAM 대역폭의 사용을 비효율적으로 만드는 또 다른 요소는 예측을 위해 복수의 가능한 레퍼런스 프레임을 사용한다는 것이다. 데이터를 가져오는 블록들이 많은 프레임에 걸쳐 있기 때문에 한 번의 메모리 액세스에서 연속한 블록의 데이터를 가져오게 될 확률이 상당히 줄어들게 된다. 이런 효율성의 문제는 DRAM 버스를 넓히는 것이 좋은 해결책이 되지 못한다는 것을 의미하는데 한 번에 가져오는 데이터의 범위를 늘리는 것은 작은 블록들에 대해 많이 접속해야 하는 이런 상황에서는 오히려 효율성을 떨어뜨리기 때문이다. 따라서 DRAM의 클럭 속도를 높이는 것이 더 효율적이지만 이 방법은 시장에서 구입할 수 있는 DRAM의 성능에 의해 제한을 받는 것이 현실이다.
예를 들면 커넥선트의 CX2418x는 지능적인 캐싱과 타일링(tiling)을 통해 페치 사이즈의 비효율성을 효과적으로 완화시켜주는 고성능 DRAM 컨트롤러를 포함하고 있다. 온-칩 RAM은 매크로 블록의 횡(row) 데이터를 저장해 DRAM에 있는 외부 버퍼에 대한 액세스를 최적화한다. 또한 32-비트 400MHz DDR 버스를 사용해 충분한 메모리 대역폭을 제공하고, 필요로 하는 저가 DRAM 반도체의 숫자를 줄여준다.
MPEG-2에 비해 더 많은 수의 레퍼런스 프레임을 사용하기 때문에 AVC DRAM 버퍼는 훨씬 더 크다. 하지만 DRAM 디바이스의 밀도가 빨리 높아지고 있어 디코더 버퍼의 용량이 더 커짐에 따라 생기는 크기 문제를 완화시켜주기 때문에 앞으로는 큰 DRAM을 사용하는 것은 그리 문제가 되지는 않을 것이다.

AVC 트릭 모드 제약
현재 MPEG-4 AVC HDTV 디코더의 성능에 제약이 있기 때문에 방송사업자들은 MPEG-2 기술을 이용했을 때와 같은 수준을 기대하기보다는 당분간은 PVR 트릭모드(Trick Mode)의 성능이 낮은 것을 받아들여야만 한다. 여기서의 문제는 빨리감기(fast forward)와 되감기(rewind) 작업을 부드럽게 수행할 수 있는 능력이다.
현재 MPEG-2 반도체에는 원하는 빨리감기 속도에 맞춰 스트림 내의 모든 프레임을 디코딩 한 후 이렇게 디코딩된 프레임 중 일정한 시간 간격의 프레임들을 대칭이 되게 해 빨리감기 기능이 부드럽게 구현될 수 있다. 이 방법은 일정 한계까지는 문제가 없는데, 그 후로는 디코더가 I 및 P 앵커 프레임들만 디코딩하게 되고, 궁극적으로 매우 빠른 빨리감기 속도에서는 I-프레임들 중 일부만 디코딩하게 된다.
초기의 MPEG-4 AVC HDTV 디코더들은 MPEG-2에 비해 성능의 여유분이 훨씬 적기 때문에 부드러운 빨리감기를 수행하는 능력이 크게 제한된다. 방송국들이 오직 I-프레임에만 기반한 트릭모드에 의존해야만 한다는 것과 심지어는 이 경우에도 방송 프로그램의 비디오 시퀀스를 인코딩 하는 방법에 있어 매우 조심해야 한다는 것은 쉽게 예상할 수 있는 일이다. 예를 들면 MPEG-4 AVC에서는 B 화상(B-슬라이스를 포함하고 있는 화상)을 포함한 어떤 화상도 레퍼런스 프레임이 될 수 있기 때문에 MPEG-2에서 그랬던 것처럼 이 B 화상들을 아무 생각 없이 버릴 수는 없다. MPEG-4 AVC HDTV 비디오 코딩이 최적의 PVR 트릭모드 유연성을 갖도록 하기 위해 방송국들은 다음과 같은 가이드라인을 고려해야 한다.

- IDR/I/B/P 슬라이스와 화상 주파수 및 패턴에 대한 제한. 즉, 두 개의 연속적인 랜덤 액세스 포인트의 프리젠테이션 시간이 1초 이상 떨어져 있으면 안 됨.
- 비트 스트림 내 각각의 코딩된 화상 사이에 NAL 캡슐형 유니트 구분자(encapsulated unit delimiter) 사용.
- 트랜스포트 패킷 헤더 안에 담겨 전송되는 사적 데이터(private data)를 통한 시그널링 사용 고려.
- 한 프레임이 아웃풋 될 수 있기 전에 디코딩된 화상 버퍼에 버퍼링 돼야 하는 프레임의 개수 제한.

시간이 좀 더 지나면 더 뛰어난 성능의 반도체 기술로 만들어진 AVC 디코더 솔루션들이 시장에 나온다면 이런 제약들은 자연스럽게 사라질 것이다. 이를 위해 커넥선트 등 관련 업계에서는 최신 기술들을 이용해 가능한 최고의 트릭모드 성능을 얻기 위해 방송업체, 인코더 장비업체, 그리고 PVR 미들웨어 업체들과 파트너십을 맺고 적극적인 활동을 펼치고 있다.


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