멀티미디어 솔루션 테크놀로지

글: Ajit Rao / 텍사스 인스트루먼트www.ti.com디지털 비디오가 더욱 광범위한 애플리케이션의 비주얼 커뮤니케이션으로 확장됨에 따라, 점점 많은 개발자들이 새로운 비디오 시스템을 개발하고 있거나 기존의 비디오 시스템의 성능을 향상시키고 있다. 설계의 기본적인 고려사항 가운데, 비디오 개발자가 직면한 사항은 높은 수준의 압축이 프로세서에서 고성능을 요구하고 있다는 점이다.또한, 광범위한 비디오 애플리케이션들은 전송 대역폭, 스토리지, 이미지 스펙, 품질 등에서 변동하는 시스템 요구 조건들을 만족시키기 위해 최적화된 성능을 필요로 한다. 사용 가능한 솔루션 가운데, 프로그래머블 DSP는 압축뿐 아니라 유연성을 위해 필수적인, 높은 수준의 실시간 성능을 제공한다. 이를 통해 시스템 엔지니어들은 개별적인 애플리케이션에 인코딩 소프트웨어를 쉽게 적용할 수 있다.비디오 압축의 목표는 가능한 적은 비트를 사용해 디지털 비디오를 인코딩하면서 좋은 시각 품질을 유지하는 것이다. 인코딩 알고리즘이 정보 이론의 수학적 원리에 기반한 반면, 이 알고리즘들은 아트 폼(art form)으로 접근하는 실현 트레이드-오프를 요구하고 있다.잘 설계된 인코더는 개발자들이 혁신적인 기법을 통해 이러한 트레이드-오프를 만들 수 있게 하며, 향상된 압축 표준으로 제공되는 옵션을 지원할 수 있게 한다. 구성 가능한 비디오 인코더는 간단한 시스템을 통해 DSP의 성능과 유연성을 이용할 수 있도록 설계되었다. 구성 가능한 비디오 인코더는 직접적인 시스템 인터페이스를 통해 DSP의 유연성과 성능을 도와줄 수 있게 설계 되었다. 이 시스템 인터페이스는 시스템 엔지니어들이 제품을 효율적이고 쉽게 최적화할 수 있도록 도와준다.압축의 핵심 요소JPEG 스틸 이미지처럼 폭넓게 사용되고 있는 ITU 및 MPEG 비디오 인코딩 알고리즘은 디스크리트 트랜스폼 코딩(discrete transform coding), 양자화, 가변 길이 코딩의 결합을 이용할 수 있으며 프레임 내에서 매크로 블록을 압축할 수 있다. 일단 알고리즘이 베이스라인 인트라 코드(I) 프레임을 구축한다면, 수많은 예측 가능한(P) 프레임들은 각각의 프레임 사이에서 비주얼 콘텐츠나 나머지(residual)에서 차이점을 코딩함으로써 생산된다. 이 인터-프레임 압축은 모션 보정(motion compensation)으로 불리는 기법을 사용해 달성된다.모션 보정에서 알고리즘은 초기 레퍼런스 프레임의 매크로 블록이 현재 프레임으로 이동하는 곳에서 처음 측정한 후, 공제하고 압축시킨다.그림 1은 일반적인 모션 보정 기반의 비디오 인코더의 흐름을 보여준다. 이 매크로 블록은 4개의 8×8픽셀 휘도 블록과 2개의 8×8픽셀 색차 블록(YCbCr 4:2:0)을 포함한다. 각각의 블록이 어디로 움직이는지 보여주는 모션 벡터(MV: motion vector) 데이터를 생성하는 모션 측정 단계는 알고리즘의 연산이 가장 집중된 단계이다. P 프레임 아래의 나머지(블랙)는 모션 벡터(푸른색)가 계산된 후 소량의 인코딩만이 남았음을 보여준다.비디오 압축 표준은 비트-스트림 신택스(syntax) 및 디코딩 프로세스만을 규정하며, 인코더 내에서 혁신을 위한 대규모 스코프를 남긴다. 예를 들면, 모션 측정 단계에서 모션 벡터가 블록 이동을 기술하는 방법들은 표준화되었으나, 벡터를 사용하기 위해 인코더를 사용할 때에는 제약이 있다. 속도 제어는 혁신을 위한 상당한 범위의 또 다른 영역이며, 이를 통해 인코더는 양자화 파라미터를 할당할 수 있다.따라서 비디오 신호에서는 적절한 방식으로 잡음을 ‘형성’한다. 또한 향상된 H.264/MPEG-4 AVC 표준은 매크로-블록 크기를 위한 다중 옵션, 모션 보정을 위한 쿼터-픽셀 해상도, 다중 레퍼런스 프레임, 양방향 프레임 예측(B 프레임), 적응 가능한 인-루프 디-블록킹을 제공함으로써 유연성과 기능성을 증가시킨다. 따라서 복잡도, 지연 및 기타 실시간 제약을 균형화하기 위해 트레이드-오프를 위한 다양한 인코더 옵션이 많다.감시 및 저장인코딩은 애플리케이션 사이에서 엄청나게 변동될 수 있는 요구 조건들을 만족시키기 위해 최적화되어야 한다. 예를 들어 감시에서는 네트워크 카메라로 생성되는 엄청난 양의 비주얼 정보를 저장하는 방법을 결정하는 것이 중요한 문제이다. 한 가지 솔루션은 상당한 활동이나 의심이 가능한 활동이 발생할 수 있는 구역에만 유지되는 것이다. 그 예로 누군가 보안 문을 통해 들어가고 나가는 것이다. 자세한 내용을 점검하는 소프트웨어는 모션 정보를 위한 압축 알고리즘에 의존한다. 높은 크기의 모션 벡터는 상당한 활동을 나타내며, 이 프레임은 저장된다. 그러나 모든 것은 아니지만, 일부는 모션 벡터에 대한 접근을 제공한다.서로 다른 속도에서 동시에 인코딩하는 차동 인코딩 기능은, 모니터에서 한 가지 속도로 비디오를 디스플레이하고 다른 속도로 그것을 디스켓에 저장하는 시스템으로 감시 시스템의 기능을 향상시킨다. 매우 유용한 인코더 시스템은 단일의 고품질 채널을 이용해 2개의 저품질 채널을 역동적으로 트레이드-오프 할 수 있으며, 프레임에서 중요한 동작이 발생할 때 시스템이 다른 카메라로 공급되는 카메라를 선택할 수 있다.비디오 컨퍼런싱 및 대역폭비디오 컨퍼런싱에서 가장 중요한 문제는 전송 대역폭이다. 이것은 초당 수십 킬로비트에서 멀티 메가비트에 이르는 범위를 가질 수 있다. 일부 링크에서는 비트 속도가 보장되나, 인터넷을 이용한 비트 속도는 매우 변동성이 크다. 따라서 비디오 컨퍼런싱 인코더는 서로 다른 유형의 링크에 대한 전송 요건을 해결해야 하며, 대역폭 이용을 변경시키는 실시간에 적용시켜야 한다. 역채널 혹은 RTCP인지(acknowledgement)를 통해 수신 조건으로 알려지면, 전송 시스템은 인코드 출력을 지속적으로 조정할 수 있어야 한다.그럼으로써 최소한의 방해만 받는다. 전송이 좋지 않을 때, 인코더는 평균 비트 속도를 감소시킴으로써 반응할 수 있으며, 프레임을 생략하고, GoP(group of picture), I 및 P 프레임의 혼합을 변경한다. I 프레임은 P 프레임만큼 과도하게 압축되지 않는다. 따라서 더 적은 I 프레임을 이용한 GoP는 전체적으로 대역폭을 덜 요구한다.비디오 컨퍼런스의 비주얼 콘텐츠가 자주 변경되지 않기 때문에, 엔터테인먼트 애플리케이션을 위해 필요로 하는 것 보다 더 적은 I 프레임 전송이 가능할 수 있다.H.264는 미래의 프레임에서 자연스러운 모션 측정을 보장하기 위해 블록 에지에서 동작하는 적응 가능한 인-루프 디-블록킹 필터를 사용한다. 이 필터는 특히 낮은 비트 속도에서 인코딩된 비디오의 본래의 품질을 상당히 향상시킨다. 반대로, 필터를 끄는 것은 주어진 비트 속도에서 비주얼 데이터 양을 증가시킬 수 있다. 그 이유는 쿼터-픽셀에서 하프-픽셀 혹은 그 이상까지 모션 측정 해상도를 변경할 수 있기 때문이다. 일부 경우에, 인코딩을 간단히 하기 위해 디-블록 및 및 파인 해상도의 고품질을 희생하는 것이 필수적일 수 있다.인터넷을 통한 패킷 전송은 보장되지 않기 때문에 비디오 컨퍼런싱은 오류 복원력이 높은 인코딩 메커니즘에서 이익을 얻는다. 예를 들어, P 프레임의 단계적인 스트립은 그림 3에서 보듯이 인트라-코드(I 스트립)가 될 수 있다. 이 기법은 통합형 I 프레임을 위해 필요성을 제거시키며, 전체 I 프레임 하강과 화면 깨짐의 위험을 감소시킨다.I 프레임으로 발생되는 버스트(burst) 없이, 데이터 흐름은 더욱 꾸준해 진다. I 스트립이 공간의 리던던시를 이용하기 위한 인코더의 성능을 감소시키기 때문에, 압축에서 트레이드-오프가 존재한다. 약 2~5%는 비트 속도에서 사라지며, 따라서 인코더가 이 성능을 켜거나 끌 수 있다면 유용하다. 네트워크 전송 조건으로 대처해야 될 필요가 있기 때문이다.모바일 비디오 요건비디오 성능을 이용한 무선 전화에서, 대역폭은 3G 채널을 이용한다고 해도 수요가 많다. 프로세싱은 이러한 시스템에서 더욱 제한적일 수 있다. 그 이유는 핸드셋이 저전력 소비를 위해 성능을 트레이드-오프하도록 설계되기 때문이다. 전송의 인코더는 소형 디스플레이의 해상도를 조절함으로써 수신 제한을 고려해야 한다. 비디오 스트리밍의 경우, 더 적은 I 프레임 혹은 I 스트립으로 더욱 느린 프레임 속도가 발생할 것이다.화면 분해는 대형 디스플레이에서 나타나는 것처럼 나타나지 않는 반면, 대역폭 절감이 나타날 수 있기 때문이다. 비디오 컨퍼런싱은 매우 극단적인 사례이다. 핸드셋이 인코드뿐 아니라 디코드까지 해야 하기 때문이다. 배경이 항상 정적이고 전경에 거의 움직임이 없기 때문에, 구성은 P 프레임만을 따르는 전화의 시작에서 단일 I 프레임이 될 수 있다.리코딩을 위한 버퍼링DVR(digital video recorder)의 경우, 화질을 갖추고 최상의 트레이드-오프 저장을 달성하는 것은 어려울 수 있다. 비디오 리코딩을 위한 압축은 어느 정도까지 딜레이-톨러런트(delay-tolerant)이다. 따라서 출력 버퍼는 데이터에서 디스크의 지속적인 흐름을 유지하기 위해 충분한 프레임을 조절하도록 설계될 수 있다.그러나 일정 조건하에서 버퍼는 정체될 수 있다. 그 이유는 비주얼 정보가 빠르게 변경되고 알고리즘이 대규모의 IP 프레임을 만들기 때문이다. 이 경우, 인코더는 더욱 낮은 비트 속도를 위해 화질을 트레이드-오프시킬 것이며, 이 때 정체가 해결되어 품질을 다시 향상시킨다.이 트레이드-오프를 효과적으로 수행하는 메커니즘은, 플라이에서 Qp(quantization parameter)를 변경하는 것처럼 속도 제어를 통해서 이루어진다. 그림 1에서 보듯 양자화는 데이터 압축을 위한 알고리즘에서 마지막 단계 중의 하나이다. 증가된 양자화는 알고리즘의 비트 속도 출력을 감소시키나, Qp의 스퀘어와 직접적으로 비례하여 화면을 왜곡시킨다.따라서 개별적인 프레임은 상세한 내용을 손실시키지만 프레임 스킵과 화면 손상의 가능성은 줄어든다. 또한 비주얼 콘텐츠가 급격히 변화하기 때문에, 저품질은 콘텐츠가 느리게 변화할 때 보다 적게 눈에 감지될 것이다. 비주얼 콘텐츠가 더욱 낮은 비트 속도 및 버퍼 클리어로 전환될 때 Qp는 정상 값으로 리셋될 수 있다.스위트 스팟 (Sweet spots)최적화에 대한 중요한 고려사항은 주어진 애플리케이션에 대해 비트 속도, 해상도, 초당 프레임(fps)의 최적의 트레이드-오프를 제공하는 ‘스위트 스팟(sweet spots)’의 존재이다. 예를 들어, H.264 압축의 DVD 콘텐츠의 경우, 128kbps 미만의 비트 속도에 대해 일반적인 인코더의 최적 압축은 15fps QCIF이다. 비트 속도를 두 배로 하는 것은, 동일한 해상도에서 2배 많은 프레임을 가능하게 한다. 최대 1Mbps의 속도에서 30fps CIF 또는 QVGA는 최적이 될 수 있으며, 더 높은 속도에서는 30fps VGA 또는 D1이 최적이 될 수 있다.더욱 정적인 비주얼 콘텐츠를 이용해, 비디오 컨퍼런싱 및 감시는 최적화를 위해 대역폭을 덜 필요로 한다. 인코더는 동일한 해상도와 위에서 설명된 프레임 속도에서 이러한 애플리케이션을 위해 압축을 최적화시킬 수 있지만, 비트 속도가 30% 더 낮을 수 있다.이와 유사하게, MPEG-4 인코딩은 쿼터-픽셀 해상도처럼 고품질을 위한 메커니즘을 이용하기 위해 비트 속도를 30% 더 높게 추진할 수 있다. 기능이 다양한 인코더는 비디오를 최적화하기 위해 많은 수의 스위트 스팟을 지원한다.유연한 인코딩DSP가 폭넓은 비디오 애플리케이션에서 사용되고 있기 때문에, DSP 인코더는 압축 표준에서 고유의 유연성의 장점을 이용할 수 있도록 설계되어야 한다. 모바일 애플리케이션을 위한 TI의 OMAPTM 미디어 프로세서, TMS320C64x+TM DSP, 디지털 비디오 애플리케이션을 위한 DaVinciTM 기술 기반 프로세서에서 작동하는 인코더에서 한 가지 사례를 찾을 수 있다. 압축 성능을 최대화하기 위해 각각의 인코더는 비디오와 프로세서 일부에 설계되는 이미징 코프로세서(VICP)를 포함해, 플랫폼의 DSP 아키텍처를 이용하기 위해 설계되었다.인코더의 사용은 모든 버전에서 API(application program- ming interface)의 동일 표준 세트를 이용해 간단하다. 디폴트를 이용해, API 파라미터는 고품질에 적합하게 나타나며 또 다른 옵션은 고속 인코딩을 위해 이용 가능하다. 확장형 파라미터는 H.264 혹은 MPEG-4에 애플리케이션을 적용시킨다.인코더는 YUV 4:2:2 및 YUV 4:2:0 입력 포맷, 쿼터 픽셀로 하강된 모션 해상도, 첫 프레임 이후 모든 프레임에서부터 하나도 없는 프레임에 이르는 I 프레임 간격, Qp 비트 속도 제어, 모션 벡터에 대한 액세스, 디-블록킹 필터 제어, 2개 혹은 그 이상의 채널의 동시 동작 인코딩, I 스트립 및 기타 옵션을 포함한 여러 옵션들을 지원한다. 인코더는 디폴트에 의해 모선 벡터의 검색 범위를 역동적이고 제한 없이 결정한다. 이 기법은 고정 범위의 검색을 향상시킨다.결론시스템 엔지니어는 엔터테인먼트, 비디오 컨퍼런싱, 감시 카메라, 모바일, 기타 비디오 애플리케이션에 존재하는 많은 차이점을 알아야만 한다. 이러한 애플리케이션 가운데 전송, 스토리지, 디스플레이, 콘텐츠를 위해 폭넓게 변화하는 요건들은 비트 속도와 화질 간의 트레이드-오프를 요구한다.또한 이러한 트레이드-오프를 달성하는 다른 방법들은 시스템 아트 폼을 최적화한다. H.264/MPEGAVC는 트레이드-오프에 영향을 미칠 수 있는 수많은 옵션을 제공하며, 표준은 인코더가 모션 벡터와 같은 데이터를 어떻게 처리해야 하는지에 대해 규명하지 않는다. 잘 설계된 인코더는 이 허용범위를 사용하여 급속도로 확장 중인 디지털 비디오 에서 압축을 적용할 때 성능과 유연성을 제공한다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지