ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [quotation] video compression: h.264 , VC-1 ,and negotiation with codec of new trend in present
    카테고리 없음 2008. 3. 21. 19:19
    반응형

    Jeremiah Golston
    Distinguished Member, Technical Staff
    Texas Instruments
    j-golston@ti.com

     Dr Ajit Rao
    Member Group, Technical Staff
    Texas Instruments
    ajitr@ti.com


    1. 머리말

    최근 몇 년 사이 디지털 비디오 제품에 대한 수요가 폭발적으로 늘어났다. 비디오 통신, 보안 및 감시, 산업 자동화뿐만 아니라 어느 분야보다 거대한 분야로서 DVD, HDTV, 위성 TV, 고화질 (HD) 셋톱박스, 인터넷 비디오 스트리밍, 디지털 카메라 및 HD 비디오 캠코더, 비디오 쥬크박스, 고급형 디스플레이 (LCD, 플라즈마, DLP), 개인 비디오 리코더 등의 애플리케이션이 그 예로 특히 엔터테인먼트 분야에서 크게 그 시장이 커졌다. 이외에도 많은 새롭고 흥미로운 애플리케이션이 설계 및 개발 단계에 있다. 고화질 DVD( 블루레이 /HD-DVD), 디지털 비디오 방송 ( 가정 및 단말기를 위한 그리고 지상파 / 위성 (DVB-T, DVB-H, DMB) 을 통한 ), HD 화상전화, 디지털 시네마, IP 셋톱박스 등이 개발되고 있다. 최종 제품 역시 단말기의 높은 연산 성능, 배터리 기술의 발달, 고속 무선 접속 등에 힘입어 높은 성능의 모바일 및 컨버전스 기기로 진화하고 있다.

    비디오 압축은 이런 비디오 제품에 필수적이다. 압축 - 압축해제 ( 코덱 ) 알고리즘이 디지털 비디오를 저장 및 전송할 수 있도록 한다. 일반적으로 코덱은 MPEG2, MPEG4, H.264/AVC, AVS 같이 산업표준이거나 On2, Real Video, Nancy, 윈도우즈 미디어 비디오 (WMV) 같이 고유기술 알고리즘이 있다. 다만 WMV 는 예외적으로 원래 마이크로소프트 고유의 알고리즘으로 개발되었다가 지금은 업계에서 VC-1 이라는 새로운 이름으로 표준화되었다. 코덱 기술이 지난 십여 년에 걸쳐서 지속적으로 향상되었다. 최근의 코덱 (H.264/AVC 및 VC-1) 은 3 세대 비디오 압축 기술에 해당된다. 이들 코덱이 프로그래머블 DSP 나 고정 기능 ASIC 같은 저비용 IC 에서 가능한 프로세싱 성능을 이용해 매우 높은 압축 비율을 가능하게 한다. 하지만 특정 애플리케이션에 적절한 코덱을 선택하고 이를 실시간 구현하는 일은 여전히 쉽지 않다. 최적의 디자인을 위해서는 압축 효율과 이용 가능한 연산 성능의 활용을 절충해야 한다. 뿐만 아니라 제한된 연산 성능으로 최적의 압축 효율을 달성한다는 것도 쉽지 않다.

    이 글에서는 먼저 비디오 코딩의 주요 개념을 설명하고 기존 압축 표준에 대해 살펴본다. 그리고 H.264/AVC, WMV9/VC-1, AVS 같은 최근의 코덱의 성능 및 특징을 살펴보고 이들 각각이 제공하는 압축 및 복잡성 절충에 대해 설명한다. 마지막으로는 실시간 구현과 주요 비디오 코덱의 미래에 영향을 미칠 수 있는 시장의 주요 경향에 대해 설명한다.

    2. 비디오 압축의 과제

    디지털 비디오의 가장 큰 문제는 비디오 원본 또는 비압축 비디오가 저장 또는 전송을 위해 대량의 데이터를 필요로 한다는 것이다. 예를 들어 표준화질 NTSC 비디오는 일반적으로 초당 30 프레임으로 4:2:2 YCrCb 를 이용해 720x480 으로 디지털화되는데 이를 위해서는 초당 165Mb 이상의 데이터 속도를 필요로 한다. 90 분 비디오를 저장하기 위해서는 110GB 이상을 필요로 하는데 이는 표준 DVD-R 저장 용량의 25 배를 넘는다. 비디오 스트리밍 애플리케이션에 흔히 이용되는 CIF( 초당 30 프레임으로 352x288 4:2:0) 같이 더 낮은 해상도 비디오라도 초당 36.5Mb 이상을 필요로 함으로써 ADSL 이나 3G 무선 같은 광대역 네트워크 상에서 유지할 수 있는 것보다 몇배 이상이다. 오늘날의 광대역 네트워크가 1~10Mbps 의 지속가능한 쓰루풋을 제공한다. 그러므로 디지털 비디오를 저장하거나 전송하기 위해서 압축이 반드시 필요하다.

    비디오 압축은 최소한의 비트로 디지털 비디오를 인코딩하면서 영상 품질을 유지하는 것이 목적이다. 코덱은 정보 이론의 수학적 원리를 이용한다. 하지만 실제적인 코덱 구현을 위해서는 예술에 가까운 세밀한 절충이 필요하다.

    3. 압축 절충

    디지털 비디오 시스템을 위해 코덱을 선택할 때는 여러 가지 요소를 고려해야 한다. 그 중에서도 중요한 것이 애플리케이션의 영상 품질 요구, 전송 채널 또는 저장 매체의 환경 ( 속도, 지연시간, 오류 특성 ), 소스 콘텐츠의 형식이다. 또한 중요한 요소가 원하는 해상도, 목표 비트율, 색 길이, 초당 프레임 수, 콘텐츠 또는 디스플레이가 순차주사 (progressive) 인지 비월주사 (interlaced) 인지 하는 것이다. 압축을 위해서는 흔히 영상 품질 요구와 애플리케이션의 다른 요구 사이에 절충이 필요하다. 첫째, 애플리케이션이 스토리지인가, 유니캐스트 (Uni-cast) 인가, 멀티캐스트 (Multi-cast) 인가, 쌍방향인가, 브로드캐스트 (Broadcast) 인가 ? 스토리지 애플리케이션이면 얼마나 많은 저장 용량을 이용할 수 있으며 리코딩 지속시간은 얼마인가 ? 비 - 스토리지 애플리케이션이면 최대 비트율은 얼마인가 ? 쌍방향 비디오 통신이면 허용 가능한 지연시간 또는 허용 가능한 단대단 (end-to-end) 시스템 지연이 얼마인가 ? 쌍방향이 아니면 인코딩해야 하는 콘텐츠를 사전에 오프라인으로 이용할 수 있는가 아니면 실시간으로 인코딩해야 하는가 ? 네트워크 또는 저장 매체가 얼마나 오류를 일으키기 쉬운가 ? 다양한 압축 표준이 목표 애플리케이션에 따라 이러한 절충 요소들을 각기 다르게 다룬다.

    또 다른 절충 요소는 인코딩 및 디코딩의 실시간 구현 비용이다. 일반적으로 H.264/AVC 나 WMV/VC-1 같이 더 높은 압축을 달성하는 최근의 알고리즘이 더 높은 프로세싱을 필요로 함으로써 인코딩 및 디코딩 디바이스, 시스템 전력 소비, 시스템 메모리 비용에 영향을 미친다.

    4. 표준화 기구

    비디오 코덱 정의와 관련해서 2 개의 주요 표준화 기관이 있다. ITU( 국제 전기통신 연합 ) 는 통신 애플리케이션에 주력하는 기관으로서 낮은 비트율 화상전화를 위해 H.26x 표준을 개발했다. 이들 표준으로 H.261, H.262, H.263, H.264 를 포함한다. ISO( 국제 표준화 기구 ) 는 좀더 가전 애플리케이션에 주력하는 기관으로서 동영상 압축을 위해 MPEG 표준을 정의했다. MPEG 표준으로는 MPEG1, MPEG2, MPEG4 이 있다. < 그림 1> 은 비디오 코덱 표준화의 역사를 보여준다.

    MPEG 및 ISO 가 타깃 애플리케이션에 따라 각기 다른 절충을 한다. H.264 코덱 그리고 MPEG 진영에서는 MPEG4-Part 10 또는 MPEG4-Advanced Video Codec(AVC) 이라고 하는 표준을 정의하기 위한 Joint Video Team(JVT) 처럼 경우에 따라서는 이들 표준화 기구들이 서로 협력한다. 이 글에서는 이 공동 표준을 H.264/AVC 라고 한다. 마찬가지로 H.262 와 MPEG2 가 동일하며, H.263 베이스라인 프로파일 기술은 기법에 있어서 MPEG4 심플 프로파일 코덱과 상당 부분이 일치한다.

    코덱 기술의 폭넓은 채택을 위해서는 표준이 중요하다. 소비자들은 규모의 경제 때문에 표준 기반 제품이 경제성이 있다고 생각한다. 업계 당사자들은 업체 간에 상호운용성이 보장되므로 표준에 투자하려고 한다. 콘텐츠 사업자들은 자신들의 콘텐츠가 얻게 될 긴 수명과 폭넓은 수요 때문에 표준에 이끌린다. 거의 대부분의 비디오 표준이 소수의 특정한 애플리케이션을 목표로 개발되었지만 적합하기만 하다면 다른 애플리케이션에서도 흔히 유리하게 이용된다.

    그림 1: ITU MPEG 표준의 연도별 발전 [10]

    ITU 및 MPEG 이 압축 기법을 지속적으로 향상시키고 더 우수한 압축 및 새로운 시장 기회를 위해 새로운 표준을 정의했다. 중국이 최근에 AVS 라고 하는 자국 비디오 코딩 표준을 정의했다 ( 이에 관해서는 뒤에서 설명 ). 현재 개발 중인 표준으로는 ITU/MPEG Joint Scalable Video Coding(H264/AVC 의 개정안 ) 과 MPEG Multi-view Video Coding 을 들 수 있다. 한편 기존의 표준들도 새로운 애플리케이션을 충족하기 위해 지속적으로 향상되고 있다. 예를 들어 H.264 가 전문가용 디지털 편집, HD-DVD, 비손실 코딩 등의 새로운 시장을 충족하기 위해 Fidelity Range Extension 이라고 하는 새로운 모드를 정의했다.


    ITU 및 ISO 의 산업표준 이외에도 특히 인터넷 스트리밍 미디어 애플리케이션을 위해 많은 인기 있는 고유기술 솔루션들이 등장했다. Real Networks Real Video(RV10), 마이크로소프트 윈도우즈 미디어 비디오 9(WMV9) 시리즈, ON2 VP6, Nancy 가 그것이다. 이들 형식의 콘텐츠 설치 기반 때문에 고유기술 코덱이 사실상의 표준으로 자리잡고 있다. 2003 년 9 월에는 마이크로소프트가 SMPTE(Society for Motion Picture and Television Engineers) 에 이 기관의 주도 하에 WMV9 비트 스트림 및 구문을 표준화할 것을 제안했다. 이 제안이 받아들여져서 WMV9 이 SMPTE 에서 VC-1 으로 표준화되었다.

    5. 비디오 코딩 원리

    여기서 다루고 있는 모든 비디오 표준이 블록 기반 프로세싱을 이용한다. 각각의 매크로 블록이 일반적으로 4 개의 8x8 휘도 블록과 2 개의 8x8 색도 블록을 포함한다 ( 크로마 형식 4:2:0 의 경우 ). 비디오 코딩은 모션 보정 예측 (MC), 변환 및 양자화, 엔트로피 코딩의 원리를 기반으로 한다. < 그림 2> 는 일반적인 모션 보정 기반 비디오 코덱이다. 모션 보정은 어떤 비디오 프레임에서 최근에 코딩했던 (" 레퍼런스 ") 비디오 프레임의 유사한 구획으로부터 각각의 화소 매크로 블록을 예측함으로써 압축을 달성한다. 예를 들어 배경 부분은 한 프레임에서 다음 프레임으로 넘어갈 때 흔히 동일하게 유지되므로 각 프레임마다 재전송할 필요가 없다. 모션 예측 (ME) 은 현재 프레임의 각각의 MB 에 대해 레퍼런스 프레임에서 그와 가장 유사한 16x16 구획을 판단하는 프로세스이다. ME 가 보통 비디오 압축에서 가장 연산 집중적인 기능이다. 현재 프레임의 각 블록에 대해 가장 유사한 구획의 상대적 위치에 관한 정보 ( 모션 벡터 ) 가 디코더로 전송된다.

    MC 후의 나머지는 8x8 블록으로 분할되어서 이들 각각이 변환 코딩, 양자화, 가변 길이 코딩을 결합적으로 이용해서 인코딩된다. 변환 코딩 ( 이산 코사인 변환 (DCT) 등 ) 은 잔여 신호의 공간적 중복성을 이용한다. 양자화는 인지적 중복성을 제거하고 잔여 신호를 인코드하는 데 필요한 데이터 양을 감소시킨다. 가변 길이 코딩은 잔여 데이터 계수의 통계적 특성을 이용한다. MC 를 통한 중복성 제거 프로세스를 디코더에서 역으로 실행하고 레퍼런스 프레임으로부터 예측한 데이터를 인코딩한 잔여 데이터와 결합해서 원래의 비디오 프레임을 복원한다.

    그림 2: 표준적 모션 보정 비디오 코딩

    비디오 코덱에서는 I, P, B 의 3 개 모드 중에서 하나를 이용해 각각의 프레임이 인코딩된다 ( 그림 3). Intra(I) 프레임이라고 하는 소수의 프레임은 다른 프레임을 레퍼런스하지 않고 독립적으로 인코딩된다 ( 모션 보정 이용 안함 ). 어떤 프레임은 이전 프레임을 레퍼런스로 해서 MC 를 이용해 인코딩된다 ( 순방향 예측 ). 이러한 프레임을 Predicted(P) 프레임이라고 한다.

    B 프레임 혹은 양방향 예측 프레임은 이전 프레임뿐만 아니라 현재 프레임 후에 표시될 예정인 프레임으로부터 예측한 것이다. B 프레임의 이점의 한 가지가 이전 프레임에서 폐색된 배경 부분을 순방향 예측을 이용해 일치시킬 수 있다는 것이다. 양방향 예측이 순방향 및 역방향 예측을 평균화함으로써 잡음을 줄일 수 있도록 한다. 인코더에 이 기능을 이용하기 위해서는 추가적인 프로세싱이 필요하다. 순방향 및 역방향 예측을 위해 ME 를 실시해야 하는데 이것이 모션 예측의 연산 요구를 두 배까지 높일 수 있기 때문이다. 또한 2 개 레퍼런스 프레임을 저장하기 위해 인코더 및 디코더 모두에 있어서 추가적인 메모리가 필요하다. B 프레임 툴이 더 복잡한 데이터 흐름을 필요로 한다. 프레임이 어떻게 포착되고 표시되어야 하는지와 관련해 순서 없이 디코딩되기 때문이다. 이러한 점으로 인해서 지연시간이 증가하므로 일부 실시간에 민감한 애플리케이션에 적합하지 않다. B 프레임이 예측을 위해서는 이용되지 않으므로 일부 애플리케이션에서는 절충이 가능하다. 예를 들어 낮은 프레임 속도 애플리케이션에서는 이후의 I 및 P 프레임 디코딩에 영향을 미치지 않으면서 이들 프레임을 건너뛸 수 있다.

    그림 3: I, P, B 프레임의 인터프레임 예측

    6. 리거시 비디오 코딩 표준

    H.261

    H.261[2] 은 ITU 가 정의한 것으로서 최초의 주요한 비디오 압축 표준이다. 쌍방향 화상회의 애플리케이션을 위한 것이었으며 40kbps~2Mbps 를 지원하는 ISDN 네트워크용으로 설계되었다. H.261 은 4:2:0 의 색도 해상도 서브샘플링으로 352x288(CIF) 및 176x144(QCIF) 해상도를 지원한다. 화상전화가 동시 실시간 인코딩 및 디코딩을 필요로 하므로 복잡성 역시 낮도록 설계되었다. 지연에 민감한 쌍방향 비디오를 위해서 H.261 은 I 및 P 프레임만을 허용하며 B 프레임은 허용하지 않는다.

    H.261 은 잔여 데이터의 변환 코딩을 위해 블록 기반 DCT 를 이용한다. DCT 가 각각의 8x8 화소 블록을 주파수 도메인으로 맵핑해서 64 개의 주파수 성분을 생성한다 ( 첫번째 계수를 DC 라 하고 나머지를 AC 라 함 ). DCT 계수를 양자화하기 위해서 H.261 이 모든 AC 계수에 걸쳐서 고정 선형 양자화를 이용한다. 양자화 계수가 런 길이 코딩을 거쳐서 양자화 주파수 계수를 비 - 제로 계수 레벨과 이에 이은 연속적 제로 계수 및 마지막 비 - 제로 값 다음의 최종적인 블록 끝 코드로 표현할 수 있도록 한다. 마지막으로는 가변 길이 ( 허프만 ) 코딩이 일반적인 확률 분포로 최적화된 비트 길이를 이용해 런 레벨 쌍을 가변 길이 코드 (VLC) 로 변환한다.

    표준 블록 기반 코딩이 고르지 않은 비디오를 발생시킨다. H.261 에서는 루프 필터링 기법을 이용해서 이러한 문제를 방지한다. 블록 가장자리에 단순 2D FIR 필터를 적용해서 레퍼런스 프레임의 양자화 효과를 매끄럽게 한다. 이 기법을 인코더 및 디코더 모두에서 비트 정확도 방식으로 적용해야 한다.

     

    MPEG1

    MPEG1[3] 은 ISO 가 개발한 최초의 비디오 압축 알고리즘이다. 주된 애플리케이션은 약 1.15Mbps 로 SIF 해상도 (29.97fps 로 352x240 또는 25fps 로 352x288) 를 이용한 비디오 CD 등의 디지털 매체에서 동영상 및 오디오를 저장 및 검색하는 것이었다. MPEG1 이 H.261 과 유사하나 다만 인코더가 일반 화상전화와 비교해서 영화 콘텐츠의 더 많은 모션을 지원하기 위해 더 높은 성능을 필요로 한다.

    H.261 과 달리 MPEG1 은 B 프레임을 허용한다. 또한 적응식 인지 양자화를 이용한다. 다시 말해서 인간의 시각적 인지를 최적화하기 위해 각각의 주파수 빈에 각각의 양자화 스케일 계수 ( 또는 그에 해당되는 스텝 크기 ) 를 적용한다. MPEG1 은 순차주사 비디오만을 지원하므로 새로운 표준인 MPEG2 에서는 더 높은 비트율을 이용해 더 높은 해상도로 순차주사 및 비월주사 비디오 모두를 지원하도록 하는 작업을 시작했다.

    MPEG2/H.262

    MPEG2[4] 는 디지털 텔레비전을 목표로 개발되었으며 얼마 되지 않아서 현재까지도 가장 성공적인 비디오 압축 표준으로 자리잡았다. MPEG2 가 표준 순차주사 비디오 ( 비디오 시퀀스가 각각 일정한 시간 간격으로 포착한 일련의 프레임으로 이루어진다 ) 뿐만 아니라 텔레비전 분야에서 널리 이용되는 비월주사 비디오도 지원한다. 비월주사 비디오는 이미지에서 두 셋의 서로 교대하는 화소 열 ( 이를 필드라 함 ) 을 번갈아 포착하고 표시한다. 이 기법은 특히 TV 디스플레이의 물리적 특성에 적합하다. MPEG2 가 미국 및 일본에서 이용되는 NTSC 를 위한 초당 60 필드의 비월주사 720x480 및 유럽 및 기타 국가에서 이용되는 PAL 을 위한 초당 50 필드의 비월주사 720x576 을 포함해서 표준 텔레비전 해상도를 지원한다.

    MPEG2 는 MPEG1 을 기반으로 하며 비월주사 비디오 및 훨씬 더 넓은 모션 보정 범위를 지원하도록 확장되었다. 고해상도 비디오가 중요한 애플리케이션이므로 MPEG2 가 MPEG1 보다 훨씬 더 넓은 검색 범위를 지원한다. 그럼으로써 이전의 표준들에 비해서 모션 예측을 위한 성능 요구를 대폭적으로 증가시킨다. 더 넓은 검색 범위와 더 높은 해상도를 최대한 활용하는 인코더를 위해 H.261 및 MPEG1 보다 훨씬 더 많은 프로세싱을 필요로 한다. MPEG2 의 비월주사 코딩 툴은 모션 보정을 최적화할 수 있는 기능을 포함함으로써 필드 및 프레임 기반 예측과 필드 및 프레임 기반 DCT/IDCT 를 지원한다. MPEG2 가 30:1 의 압축 비율로 우수하게 실행된다. MPEG2 를 이용해 4~8Mbps 로 달성된 품질이 가전 비디오 애플리케이션에 허용 가능한 것으로 나타났으며 얼마 지나지 않아 디지털 위성, 디지털 케이블, DVD, 최근의 고화질 TV 등의 애플리케이션에 채택되었다.

    또한 MPEG2 가 확장가능 비디오 코딩 툴을 추가함으로써 시간 확장성, 공간 확장성, SNR 확장성, 데이터 파티셔닝의 다중 레이어 비디오 코딩을 지원한다. MPEG2 에서 확장가능 비디오 애플리케이션을 위해 관련 프로파일이 정의되기는 했지만 단일 레이어 코딩을 지원하는 메인 프로파일이 단독적 MPEG2 프로파일로서 오늘날의 대량시장 애플리케이션에 널리 채택되고 있다. 그래서 MPEG2 를 흔히 MPEG2 메인 프로파일이라고 한다.

    MPEG2 디코딩을 위한 프로세싱 요구가 처음에 범용 프로세서 및 DSP 로서는 매우 높았다. 최적화 고정 기능 MPEG2 디코더가 개발되었으며 시간이 지나면서 수량이 대량화되면서 점차 가격이 낮아졌다. MPEG2 에 의해서 비용이 저렴한 실리콘 솔루션을 이용할 수 있느냐가 비디오 코덱 표준의 성공 및 보급에 있어서 중요한 요소라는 것이 입증되었다.

    H.263

    H.263[5] 은 H.261 다음에 개발된 것으로 더 낮은 비트율로 더 높은 품질을 달성하는 것에 중점을 두었다. 이 표준의 중요한 한 목표가 28.8Kbps 의 일반적인 전화 모뎀을 통한 비디오였다. 목표 해상도는 SQCIF(128x96) 에서부터 CIF(352x288) 까지였다. 기본적인 기법들은 H.261 과 유사하며 다음과 같은 몇 가지 점이 다르다.

    • 4 개 모션 벡터 ? 전체 MB 를 위한 하나의 모션 벡터가 아니라 각 블록에 대해 하나의 모션 벡터 이용
    • 3D VLC: 블록 끝 (EOB) 표시기와 각각의 Run Level 쌍을 결합한 허프만 코딩. 이 기능은 흔히 하나 또는 2 개의 코드화 계수만을 이용하는 낮은 비트율 애플리케이션을 목표로 했다.

    하지만 이러한 기법에도 불구하고 일반 전화선을 통해 적정한 비디오 품질을 달성하기가 매우 어려웠으며 표준 모뎀을 통한 화상전화는 오늘날에도 여전히 어려운 작업이다. 하지만 H.263 이 H.261 에 비해 향상된 효율을 제공했으므로 화상회의를 위한 알고리즘으로 선호되었으며 이전 시스템과의 호환성을 위해 H.261 을 지원하는 것이 여전히 필요했다. H.263 이 점차 성장해서 H.263+ 및 H.263++ 는 압축 향상 및 패킷 네트워크를 통한 견고성을 위한 기능들을 지원하는 선택적 부록을 추가했다. H.263 및 이의 부록이 MPEG4 의 많은 코딩 툴의 핵심을 이룬다.

    MPEG4

    MPEG4[6] 는 ISO 에서 성공적이었던 MPEG2 의 후속 표준으로 개발되었다. 초기의 목표는 무선 네트워크를 지원하기 위한 오류 견고성을 향상시키고, 낮은 비트율 애플리케이션의 지원을 향상시키고, 그래픽 객체와 비디오를 융합하기 위한 다수의 새로운 툴을 추가하는 것이었다. 대부분의 그래픽 기능이 아직 제품들에 널리 이용되지 않고 있으며 구현이 주로 낮은 비트율 압축 및 오류 복구를 향상시키는 데 주력했다.

    MPEG4 심플 프로파일 (SP) 은 H.263 베이스라인에서 시작해서 다음과 같이 압축을 향상시키기 위한 새로운 툴을 추가했다.

    • 비제한 모션 벡터 : 객체가 부분적으로 프레임의 경계 바깥으로 이동할 때 객체의 예측을 지원한다.
    • 가변 블록 크기 모션 보정 : 16x16 또는 8x8 블록 입도로 모션 보정을 가능하게 한다.
    • 문맥 적응 인트라 DCT DC/AC 예측 : 인접 블록에서 현재 블록의 왼쪽 또는 위로 DC/AC DCT 계수를 예측할 수 있도록 한다.
    • 충실도가 높은 비디오를 지원하기 위해 양자화 AC 계수의 동적 범위를 H.263 의 [-127:127] 에서 [-2047, 2047] 로 확장했다.

    패킷 손실 조건일 때 복구를 지원하기 위해 다음과 같은 오류 복구 기능을 추가했다.

    • 슬라이스 재동기화 : 이미지 내에서 슬라이스를 구축함으로써 오류가 발생했을 때 더 신속한 재동기화를 가능하게 한다. MPEG2 패킷 크기와 달리 MPEG4 패킷 크기는 MB 를 표현하는 데 이용되는 비트 수로부터 연계가 해제된다. 결과적으로 매 MB 의 정보 양에 관계 없이 비트 스트림에서 동일한 간격으로 재동기화가 가능하다.
    • 데이터 파티셔닝 : 비디오 패킷에서 고유의 모션 경계 마커를 이용해서 모션 부분과 DCT 데이터 부분으로 데이터를 파티셔닝할 수 있도록 하는 모드이다. 그럼으로써 모션 벡터 데이터의 유효성을 더 엄격하게 검사할 수 있도록 한다. 오류가 발생했을 때 오류가 발생한 지점에 대해 더 우수한 가시성을 달성할 수 있으므로 오류가 발견되었을 때 모든 모션 데이터를 폐기하는 것을 방지할 수 있다.
    • 반전 가능한 VLC: 순방향뿐만 아니라 역방향으로 디코딩이 가능하도록 설계된 VLC 코드 테이블. 오류가 발생하면 다음 슬라이스 또는 시작 코드에서 싱크하고 오류가 발생했던 지점으로 돌아갈 수 있다.
    • 새로운 예측 (NEWPRED): 주로 실시간 애플리케이션에서 신속한 오류 복구를 위해 설계된 것으로서 패킷 손실이 발생했을 때 디코더가 역 채널을 이용해 인코더로부터 추가적인 정보를 요청한다.

    MPEG4 향상 심플 프로파일 (ASP) 은 MPEG2 와 마찬가지로 심플 프로파일에서 시작해서 B 프레임 및 비월주사 툴 ( 레벨 4 이상을 위한 ) 을 추가했다. 또한 1/4 화소 모션 보정과 전역 모션 보정을 위한 옵션을 추가했다. MPEG4 향상 심플 프로파일이 심플 프로파일보다 훨씬 더 높은 프로세싱 성능을 필요로 하며 MPEG2 보다 복잡성이 더 높고 코딩 효율이 더 높다.

    MPEG4 가 애초에 인터넷 스트리밍에 이용되었으며 애플의 퀵타임 플레이어 등에 채택되었다. MPEG4 심플 프로파일이 모바일 스트리밍에 다양하게 이용되고 있다. MPEG4 ASP 가 널리 이용되고 있는 고유기술 DivX 코덱의 토대가 되었다.

    압축 향상

    H.261, MPEG1, MPEG2, H.263 을 통해 비디오 코덱 분야에 이용되는 기법들을 살펴보았을 때 몇몇 기본적인 기법들이 대부분의 압축 향상을 제공한다는 것을 알 수 있다. < 그림 4> 는 이러한 기법들과 이들 기법의 상대적 효과를 보여준다. 모션 보정 ( 정수 및 1/2 화소 ) 이 4 모션 벡터 및 1/4 화소 모션 보정과 같은 툴에 비해서 더 우수하다는 것을 알 수 있다.

    그림 4: 기본적 기법들의 효과 .

    1) MC 이용 안함 . 2) 스킵 모드 추가해서 CR 코더 구성 . 3) 값이 0 MV 허용 .

    4) 정수 화소 MC 허용 . 5) 1/2 화소 MC 허용 . 6) 4-MV 허용 .

    7) 1/4 화소 MC 허용 . 이에 관해서는 [7] 참조 .

    7. H.264/MPEG4-AVC

    최근 몇 년에 걸쳐 비디오 코딩 분야에서 가장 중요한 성과가 ITU 및 ISO/IEC 의 공동 비디오 팀 (JVT) 이 H.264/MPEG4 AVC[8] 표준을 정의한 것이다. 이 새로운 표준이 변화하면서 여러 가지 명칭으로 불리고 있다. ITU 가 1997 년에 주요 새로운 코딩 툴들을 이용해 H.26L(long term 의미 ) 에 대해 개발 작업을 시작했다. 그 결과가 매우 인상적이어서 ISO 는 공동 비디오 팀이라는 이름으로 공동의 표준을 도입하기 위해 ITU 와 협력하기로 결정했다. 이러한 이유에서 간혹 사람들이 공식적인 명칭이 아님에도 불구하고 이 표준을 JVT 라고 한다. ITU 가 2003 년 5 월에 새로운 H.264 표준을 승인했다. ISO 는 이 표준을 2003 년 10 월에 MPEG4 Part 10, Advanced Video Coding, 또는 AVC 로 승인했다.

    H.264/AVC 가 압축 효율에 있어서 대대적인 혁신을 가능하게 함으로써 MPEG2 및 MPEG4 심플 프로파일과 비교해서 일반적으로 약 2 배의 압축을 달성한다. JVT[9] 가 실시한 공식적인 테스트에서 85 개의 테스트 사례 중에서 78% 는 1.5 배 이상, 77% 의 경우에 2 배 이상, 그리고 소수의 경우에 최고 4 배에 달하는 코딩 효율 향상을 달성한 것으로 나타났다. H.264 가 제공하는 이러한 향상이 다음과 같은 새로운 시장 기회를 가능하게 한다.

    • 600Kbps 의 VHS 품질 비디오. 이 비디오가 ADSL 회선을 통한 주문형 비디오 제공을 가능하게 한다.
    • 새로운 레이저 광학을 필요로 하지 않고 일반 DVD 에 하나의 HD 영화를 담을 수 있다.

    H.264 가 처음 표준화됐을 때는 베이스라인, 메인, 확장의 3 개 프로파일을 지원했다. 이후에 FRExt(fidelity range extension) 라고 하는 개정안이 하이 프로파일이라고 하는 4 개의 추가적인 프로파일을 도입했다. 애초부터 베이스라인 프로파일과 메인 프로파일이 가장 많은 관심을 모았다. 베이스라인 프로파일은 더 적은 연산 및 시스템 메모리를 필요로 하며 지연시간이 낮도록 최적화되었다. 근본적인 지연시간 때문에 B 프레임을 포함하지 않고 연산 복잡성 때문에 CABAC 를 포함하지 않는다. 베이스라인 프로파일이 화상전화 애플리케이션뿐만 아니라 경제적인 실시간 인코딩을 필요로 하는 그 밖의 애플리케이션에 적합하다.

    메인 프로파일은 가장 높은 압축율을 제공하지만 베이스라인 프로파일보다 훨씬 더 높은 프로세싱을 필요로 하므로 저비용 실시간 인코딩뿐만 아니라 낮은 지연시간 애플리케이션에 이용하기가 어렵다. 방송 및 콘텐츠 저장 애플리케이션이 가장 낮은 비트율로 가능한 가장 높은 비디오 품질을 이용하기 위해 주로 메인 프로파일에 관심을 가지고 있다.

    H.264 가 이전 표준들과 동일한 일반적인 코딩 기법을 이용하는 한편, 이전 표준들과 다르게 많은 새로운 기능들을 포함하며 이들 기능을 결합해서 향상된 코딩 효율을 가능하게 한다. < 그림 5> 의 인코더 블록도에서 주요 차이점들을 볼 수 있다.

    - 인트라 예측 및 코딩 : H.264 는 공간 도메인 인트라 예측을 이용해 인접 블록의 인접 화소들로부터 인트라 MB 의 화소들을 예측한다. 블록의 실제 화소가 아니라 예측 잔여 데이터와 예측 모드가 코드화된다. 그럼으로써 인트라 코딩 효율이 대폭적으로 향상된다.

    - 인터 예측 및 코딩 : H.264 의 인터 프레임 코딩은 이전 표준들의 대부분의 주요 기능을 이용하며 모션 보정을 위한 다양한 블록 크기, 1/4 화소 모션 보정, 다중 레퍼런스 프레임, 일반화 양방향 예측, 적응식 루프 디블로킹 등의 다양한 옵션을 포함해 유연성 및 기능성을 추가했다.

    - 가변 벡터 블록 크기 : 다양한 블록 크기를 이용해 모션 보정을 실시할 수 있다. 작게는 4x4 에 달하는 블록에 대해서 개별 모션 벡터를 전송할 수 있으므로 양방향 예측의 경우에 단일 MB 에 대해서 최대 32 개 모션 벡터를 전송할 수 있다. 또한 16x8, 8x16, 8x8, 8x4, 4x8 의 블록 크기가 지원된다. 블록 크기가 작을수록 미세한 모션 디테일을 다룰 수 있는 능력이 향상되며 그럼으로써 대형 블로킹 아티팩트 제거 등을 포함해서 더 우수한 주관적 품질을 제공한다.

    그림 5: H.264 블록도 주요 기능 [10]

    - 1/4 화소 모션 예측 : 1/2 화소 및 1/4 화소 모션 벡터 해상도를 가능하게 함으로써 모션 보정이 향상된다.

    - 다중 레퍼런스 프레임 예측 : 중간 화면 코딩을 위해 최대 16 개 레퍼런스 프레임을 이용할 수 있으므로 더 우수한 주관적 비디오 품질 및 더 효율적인 코딩을 제공한다. 다중의 레퍼런스 프레임을 제공함으로써 또한 H.264 비트스트림이 오류를 더 잘 복구할 수 있도록 한다. 다만 이 기능이 인코더 및 디코더 모두를 위해서 메모리 요구를 증가시킨다. 메모리에 다중의 레퍼런스 프레임을 유지해야 하기 때문이다.

    - 적응식 루프 디블로킹 필터 : H.264 가 적응식 디블로킹 필터를 이용한다. 이 필터가 예측 루프 내에서 수평 및 수직 블록 에지에 적용되어서 블록 예측 오류로 인한 아티팩트 (artifact) 를 제거한다. 이 필터링이 일반적으로 4x4 블록 경계를 기반으로 하며 이 때 4 탭 필터를 이용해 경계 양쪽에서 최대 3 개 화소가 업데이트된다.

    - 정수 변환 : DCT 를 이용하는 이전 표준은 역변환의 고정소수점 구현을 위해 반올림 오차 허용치를 정의해야 했다. 인코더와 디코더 간의 IDCT 정밀도의 불일치로 인한 편차가 품질 손실의 요인이었다. H.264 는 DCT 의 근사화인 정수 4x4 공간 변환을 이용해 이 문제를 해결한다. 작은 4x4 형태가 블로킹 및 링잉 아티팩트를 줄일 수 있도록 한다.

    - 양자화 및 변환 계수 스캐닝 : 변환 계수는 데드 존이 넓지 않은 스칼라 양자화를 이용해 양자화된다. 이전 표준과 마찬가지로 각각의 MB 에 대해 각기 다른 양자화 스텝 크기를 선택할 수 있으나 스텝 크기가 일정한 증감분이 아니라 대략 12.5% 의 복합 비율로 증가한다. 또한 특히 휘도 계수가 거칠게 양자화되었을 때 색도 성분을 위해 더 미세한 양자화 스텝 크기를 이용할 수 있다.

    - 엔트로피 코딩 : 데이터 유형에 따라 다수의 정적 VLC 테이블을 제공했던 이전 표준들과 달리 H.264 는 변환 계수를 위해서는 문맥 적응식 VLC(CAVLC) 및 그 외 모든 심볼을 위해서는 단일의 범용 VLC 기법을 이용한다. 메인 프로파일이 또한 새로운 문맥 적응식 바이너리 산술 코더 (CABAC) 를 지원한다. CAVLC 가 CABAC 의 전체 비용을 필요로 하지 않으며 이전의 VLC 구현보다 더 우수하다.

    CABAC 는 확률 모델을 이용해 변환 계수나 모션 벡터 같은 구문 요소를 인코드 및 디코드한다. 산술 코딩의 코딩 효율을 높이기 위해서 기본적 확률 모델이 문맥 모델링이라고 하는 프로세스를 통해 비디오 프레임 내의 변화하는 통계에 따라서 적응한다. 문맥 모델링이 코딩 심볼의 조건부 확률을 예측한다. 적합한 문맥 모델을 이용해 현재 심볼 주변에 이미 코드화된 심볼에 따라서 각기 다른 확률 모델을 전환함으로써 특정한 심볼간 중복성을 활용할 수 있다. 각각의 구문 요소가 각기 다른 모델을 유지한다 ( 예를 들어 모션 벡터와 변환 계수는 각기 다른 모델을 이용한다 ). CABAC 가 CAVLC 에 비해서 최대 10% 에 달하는 비트율 향상을 달성할 수 있다.

    - 가중치 예측 : 순방향 및 역방향 예측의 가중치 합을 이용해 양방향 보간 매크로블록을 위한 예측을 제공함으로써 페이드 등의 장면 전환 때의 코딩 효율을 향상시킨다.

    FRExt( Fidelity Range Extension)

    2004 년 7 월에 H.264 표준에 FRExt(fidelity range extension) 라고 하는 확장안이 추가되었다. 이 확장안이 H.264 에 추가적인 툴들을 포함시켰으며 또한 추가적인 색공간, 비디오 형식, 비트 깊이를 이용할 수 있도록 했다. 또한 무손실 인터프레임 코딩 및 스테레오 뷰 비디오에 대한 추가적인 지원이 포함되었다. FRExt 확장안이 H.264 에 다음과 같은 새로운 4 개 프로파일을 추가했다.

    • 표준 4:2:0 크로마 샘플링 및 화소당 8 비트 컬러의 하이 프로파일 (HP)
    • 더 높은 충실도의 비디오 디스플레이를 위한 10 비트 컬러 및 표준 4:2:0 크로마 샘플링의 하이 10 프로파일 (Hi10P)
    • 알파 블렌딩 같은 소스 편집 기능에 유용한 하이 4:2:2 10 비트 컬러 프로파일 (H422P)
    • 하이 4:4:4 12 비트 컬러 프로파일 (H444P) ? 비디오 구획의 무손실 코딩 및 새로운 정수 색공간 변환을 지원하는 가장 높은 품질의 소스 편집 및 가장 높은 색 충실도

    이들 새로운 프로파일 중에서 방송 및 DVD 커뮤니티에는 H.264 HP 가 특히 유력해 보인다. 몇몇 시험에서 H.264 HP 에 추가된 툴들로 인해서 MPEG2 이하에 비해 H.264 가 최고 3 배에 달하는 향상을 달성하는 것으로 나타났다.

    - 적응식 잔여 블록 크기 및 정수 8x8 변환 : 잔여 블록을 변환 코딩을 위해 8x8 및 4x4 블록 간에 스위칭할 수 있다. 8x8 블록을 위해 새로운 16 비트 정수 변환이 추가되었다. 작은 블록 크기에는 이전의 4x4 변환을 계속해서 이용할 수 있다.

    - 8x8 루마 (Luma) 인트라 예측 : 루마 (Luma) 인트라 매크로블록이 이전의 16x16 및 4x4 블록에 더해서 8x8 블록에 대해 인트라 예측을 실시할 수 있도록 8 개의 모드를 추가했다.

    - 양자화 가중치 : 8x8 변환 계수의 양자화를 위한 새로운 양자화 가중치 행렬

    모노크롬 : 흑백 비디오의 코딩 지원

    8. 윈도우즈 미디어 비디오 9/VC-1

    윈도우즈 미디어가 인터넷 상의 음악 및 비디오 가입 서비스와 스트리밍 비디오를 위한 주도적 형식이다. 2002 년에 마이크로소프트가 비디오 압축 효율을 대폭적으로 향상시킨 윈도우즈 미디어 비디오 9 시리즈 코덱을 내놓았다. WMV9 이 또한 SMPTE 에서는 VC-1 으로 표준화되었다 [12].

    비록 상세한 점에서는 차이가 있지만 H.264 와 마찬가지로 이 표준이 다수의 향상 코딩 툴을 포함한다. WMV9 의 ME 가 1/2 화소 bilinear 보간에 더해서 1/4 화소 bicubic(4 탭 근사 bicubic 필터 이용 ) 보간을 지원한다. 또한 필터 및 그 외 사항의 세부적인 점들은 다르지만 H.264 와 유사한 인루프 디블로킹 필터를 포함한다. 그 밖에도 다음과 같은 특징들을 포함한다.

    - 다중 VLC 테이블 : WMV9 메인 프로파일이 각각의 콘텐츠 유형에 대해 최적화된 다중의 VLC 테이블 셋을 포함한다. 프레임 레벨에서 테이블을 전환해서 입력 비디오의 특성을 조절할 수 있다.

    - DCT/IDCT 변환 전환 : WMV9 이 8x8, 8x4, 4x8, 4x4 의 다중의 DCT 블록 크기를 지원한다. 특수한 16 비트 정수 변환 및 역변환이 이용된다.

    - 양자화 : 일반적 스텝 크기 기반 양자화 및 데드 존 양자화를 모두 이용한다. 데드 존 양자화를 이용함으로써 비트율이 낮을 때 상당한 절약이 가능하다.

    또 다른 중요한 기능이 페이딩을 포함하는 장면의 명시적 페이딩 보정을 이용할 수 있다는 것이다. 이 기능이 이러한 화면에서 모션 보정 품질을 향상시킨다.

    WMV9/VC-1 이 MPEG2 및 MPEG4 심플 프로파일에 비해서 상당한 성능 향상을 달성하며 H.264 와의 일부 인지 품질 등급 비교에서 좋은 평가를 받고 있다 [13]. WMV9/VC-1 이 H.264 메인 프로파일에 비해 복잡성 요구가 낮으면서 유사한 압축 효율을 제공한다. WMV9 이 주로 PC 환경에서 이용되고 있으며 네트워크화 가전에서도 중요한 위치를 차지할 수 있을 것이다. WMV9/VC-1 이 헐리우드 및 독립 영화 업체들 사이에서 힘을 얻고 있으며 다수의 영화 타이틀이 PC DVD 상에서의 고화질 재생을 위해 WMV9/VC-1 으로 인코딩되어 출시되기 시작했다. WMV9 가 또한 조만간 공개될 HD-DVD 형식의 압축 옵션으로 표준화되었다.

    9. AVS

    2002 년에 중국의 정보산업부에서 설립한 AVS(Audio-Video Standard) 워킹 그룹이 모바일 멀티미디어, 방송, DVD 등에 이용할 자국 표준을 개발할 것이라고 발표했다. AVS 라고 하는 이 비디오 표준 [14] 은 모바일 비디오 애플리케이션을 위한 AVS-M 과 방송 및 DVD 를 위한 AVS1.0 의 두 부분으로 이루어진다. AVS 표준이 일부 H.264 와 유사한 부분을 포함한다.

    AVS1.0 이 비월주사 및 순차주사 모드를 모두 지원한다. AVS 가 P 프레임을 위해서는 2 개의 이전 레퍼런스 프레임과 B 프레임을 위해서는 한 개의 이후 및 한 개의 이전 프레임을 이용할 수 있도록 한다. 비월주사 모드에서는 최대 4 개 필드를 레퍼런스를 위해 이용할 수 있다. 비월주사 모드일 때의 프레임 / 필드 코딩을 프레임 레벨만으로 실시할 수 있다. 이와 달리 H.264 에서는 이 옵션의 MB 레벨 적응이 허용된다. AVS 가 H.264 와 마찬가지로 루프 필터를 이용하며 이를 프레임 레벨에서 작동을 정지시킬 수 있다. 또한 B 화면에는 루프 필터가 필요하지 않다. 8x8 블록에 대해 인트라 예측이 이루어진다. MC 가 루마 블록에 대해 최대 1/4 화소를 허용한다. ME 의 블록 크기는 16x16, 16x8, 8x16, 8x8 일 수 있다. 변환은 (WMV9 과 마찬가지로 ) 16 비트 기반 8x8 정수 변환이다. VLC 는 문맥 적응 2D 런 / 레벨 코딩을 기반으로 한다. 4 개의 Exp-Golomb 코드가 이용된다. 각각의 양자화 계수에 이용되는 코드가 동일한 8x8 블록 내의 이전 심볼에 따라 적응한다. Exp-Golomb 테이블이 파라메트릭 (parametric) 이므로 테이블 크기가 작다. 순차주사 비디오 시퀀스를 위한 AVS 1.0 의 영상 품질이 동일한 비트율로 H.264 메인 프로파일에 비해 약간 더 우수하다.

    AVS-M 은 전적으로 모바일 비디오 애플리케이션을 목표로 한 것으로서 H.264 베이스라인 프로파일과 겹친다. 순차주사 비디오만을 지원하며 I 및 P 프레임은 지원하고 B 프레임은 지원하지 않는다. 주요한 AVS-M 코딩 툴로 4x4 블록 기반 인트라 예측, 1/4 화소 모션 보정, 정수 변환 및 양자화, 문맥 적응 VLC, 매우 단순화된 루프 필터를 포함한다. H.264 베이스라인 프로파일과 마찬가지로 AVS-M 에서도 모션 벡터 블록 크기를 4x4 까지 낮출 수 있으므로 MB 가 최대 16 개 모션 벡터를 이용할 수 있다. 다중 프레임 예측을 이용하나 최대 2 개의 레퍼런스 프레임만을 지원한다. 또한 AVS-M 에는 H.264 HRD/SEI 메시지의 서브셋이 정의되었다. AVS-M 의 코딩 효율이 유사한 설정으로 평균적으로 H.264 베이스라인 프로파일보다 약 0.3dB 떨어지며 디코더 복잡성이 약 20% 낮다.

    10. 특성과 툴을 기반으로 코덱 비교

    < 표 1> 은 지금까지 검토한 비디오 표준들의 주요 압축 특징 및 툴을 요약한 것이다.

    Features

    H.261

    MPEG1

    MPEG2

    H.263

    MPEG4

    H.264

    WMV9/

    VC-1

    AVS

    Picture coding type

    I, P

    I, P, B

    I, P, B

    I, P, B

    I, P, B

    I, P, B

    I, P, B

    I, P, B

    Entropy Coding

    VLC

    VLC

    VLC

    VLC, SAC

    VLC

    UVLC, CAVLC, CABAC

    Multiple table VLC

    Adaptive VLC

    MV resolution

    Int. Pel

    ½ pel

    ½ pel

    ½ pel

    ¼ pel

    ¼ pel

    ¼ pel

    ¼ pel

    Transform

    8x8 DCT

    8x8 DCT

    8x8 DCT

    8x8 DCT

    8x8 DCT

    4x4 & 8x8 Integer

    8x8, 8x4, 4x8, 4x4 Integer DCT

    8x8 integer

    Vector Block size

    16x16

    16x16

    16x16, 16x8

    8x8 or 16x16

    8x8, 16x16

    16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4

    16x16, 16x8, 8x8, 4x4 (chroma)

    16x16, 16x8, 8x16, 8x8,, 8x4, 4x8, 4x4

    Spatial Intra Prediction

    No

    No

    No

    No

    No

    Yes

    No

    Yes

    Formats supported

    Prog.

    Prog

    Prog/Intr

    Prog.

    Prog/Intr

    Prog/Intr

    Prog/Intr

    Prog/Intr

    Prediction Mod es

    Frame

    Frame

    Field & Frame

    Frame

    Field & Frame

    Field & Frame

    Field & Frame

    Field & Frame

    De-blocking filter

    In-loop

    None

    Post

    Annex J in-loop

    Post

    In-loop

    In-loop

    In-loop

    1: 표준 코덱의 주요 압축 특징

    11. 시장 동향 애플리케이션

    비디오 압축이 갈수록 더 다양한 디지털 비디오 제품을 가능하게 한다. 디지털 비디오 압축을 이용한 최종 장치가 배터리 사용 휴대기기에서부터 고성능 인프라 장비에 이르기까지 다양하다. < 표 2> 는 주요 애플리케이션, 고려 사항, 이용되는 비디오 코덱, 이들 애플리케이션에서 코덱 채택의 로드맵 등을 요약한 것이다.

    Application

    Care-abouts

    Codecs used

    Roadmap

    Security / Surveillance

    Multiple encoding

    Motion JPEG, H.263

    MPEG4-SP, H.264

    Videophone,

    Video conferencing

    Low delay, Low bit-rates

    H.261, H.263

    H.264-BP

    Internet Streaming

    Low rate, Multi-format decoders, Rights Mgmt

    WMV, Real Video, MPEG4 (QuickTime, DivX)

    DVD

    High quality, random access, low cost

    MPEG2-MP

    H.264, WMV9, AVS

    Digital Terrestrial TV

    High quality

    MPEG2

    MPEG2, H.264, AVS

    Satellite TV

    High quality

    MPEG2

    H.264-HP

    Digital Video to Handset

    Low power, Low bit-rate, error robustness

    WMV9, H,264

    Personal Video Recorders

    High quality, low compression, ramdom access

    MPEG2

    WMV9, H.264

    Digital Video Camcorders

    Low power, High quality, Low bit-rate

    Legacy DV standard

    MPEG2, MPEG4

    Mobile Streaming

    Low complexity decoding, Robustness to errors

    MPEG4-SP

    RV, H,.264-BP, WMV9, AVS-M

    2: 주요 애플리케이션에 이용되는 코덱 로드맵

    12. 실시간 구현

    디지털 비디오를 위한 최적의 프로세서 솔루션은 목표 애플리케이션에 따라 달라진다. TI 가 다중 표준을 지원하며 주요한 설계 및 시스템 제약을 충족하는 다양한 DSP 제품을 제공한다. TI 가 저전력 소비 C5000 DSP 및 모바일 OMAP 애플리케이션 프로세서에서부터 고성능 C6000 DSP 및 비디오 최적화 고성능 DM64x 및 DM644x 디지털 미디어 프로세서에 이르기까지 다양한 솔루션을 제공한다. 현재 관심이 고조되고 있는 프로세서 중의 하나가 최근에 출시된 DM6446 이다.

    TI 의 DM 프로세서 제품군은 특별히 하이엔드 비디오 시스템의 요구를 충족하도록 설계되었다. 이 제품군의 가장 최근의 프로세서가 TI 의 DaVinci 기술을 이용한 강력한 DM6446 이다 [15]. DM6446 의 듀얼 코어 아키텍처가 594MHz 로 클로킹할 수 있는 C64x+ DSP 코어와 ARM926EJ-S 코어를 통합해서 DSP 및 RISC 기술의 이점을 제공한다. c64x+ DSP 가 TMS320C6000 DSP 플랫폼 중에서 가장 성능이 우수한 고정소수점 DSP 로서 TI 가 개발한 2 세대 고성능 첨단 VLIW 아키텍처의 향상 버전을 기반으로 했다. c64x+ 가 C6000 DSP 플랫폼의 이전 제품과 코드 호환이 가능하다. DM644x 같은 프로그래머블 디지털 미디어 프로세서가 단일 프로그래머블 디지털 미디어 프로세서를 이용해 모든 기존의 산업표준 및 고유기술 비디오 형식을 지원할 수 있다. DM6446 이 또한 2 레벨 캐시를 비롯한 온칩 메모리와 다수가 비디오 전용 기능을 위한 다양한 주변장치 셋을 포함한다. DM6446 이 또한 비디오 / 이미징 코프로세서 (VICP) 를 포함함으로써 JPEG, H.264, MPEG4, VC-1 등의 알고리즘을 위해 DSP 코어로부터 많은 비디오 및 이미징 프로세싱 작업 부담을 완화하므로 비디오 포스트 프로세싱 및 그 밖에 병렬로 실행되는 작업을 위해 더 많은 DSP MIPS 를 이용할 수 있다.

    < 표 3> 은 다양한 표준으로 D1(720x480) 해상도를 유지하기 위해 DM6446 에 요구되는 대략적인 MHz 를 보여준다.

    Video Codec

    Encoder

    Decoder

    H.263 / MPEG4-SP

    250 MHz

    100 MHz

    H.264 ? Base Profile

    410 MHz

    300 MHz

    H.264 ? Main Profile

    590 MHz

    450 MHz

    WMV9/VC-1

    360 MHz

    360 MHz

    3: TI DM6446 플랫폼으로 D1 30fsp(720x480) YUV 4:2:0 디코더 성능을 위해 독립형 비디오 코덱에 대한 대표적인 MHz 요구가 최악상황 비트스트림이다 . 이용하는 기능 셋에 따라서 인코더 성능이 달라질 있다 . 위의 예에서는 고품질 인코딩인 것으로 간주했다 . DM6446 c64x+ 594MHz 클로킹할 있다 .

    위에서 인코딩 MHz 수치는 기존 및 예정된 구현의 일반적인 테스트 데이터를 기반으로 했다. 또한 목표 애플리케이션에 따라 인코더 로딩이 현저히 차이가 날 수 있다. 압축 표준이 필요한 구문 및 이용 가능한 툴을 지정하지만 많은 알고리즘 사항들이 구현에 의해 결정된다. 주요한 변수로 비트율 제어 알고리즘, 단일 패스 대 다중 패스 인코딩, I/B/P 프레임 비율, 모션 검색 범위, 모션 검색 알고리즘, 이용 가능한 개별 폭 선택폭, 이용되는 모드 등을 포함한다. 이러한 유연성이 연산 로딩 및 점증적 품질 향상 간에 다양한 절충을 가능하게 한다. 분명한 것은 모든 인코더에 있어서 더 높거나 낮은 MHz 를 이용해서 각기 다른 영상 품질을 달성할 수 있다는 것이다.

    13. 맺음말

    시간이 지날수록 다양한 비디오 압축 표준이 더 향상된 압축 효율 및 특정 목표 애플리케이션에 따라 맞춤화할 수 있도록 더 다양한 툴들을 제공한다. 또한 네트워크화 연결 추세에 따라서 더 많은 제품들이 하나 이상의 표준을 지원해야 한다. 또한 흔히 제품 개발보다 훨씬 앞서서 하드웨어 결정이 이루어짐으로써 다중의 표준 및 고유기술 알고리즘이 하나의 표준을 선택하는 것을 어렵게 한다. 또한 각각의 비디오 코딩 알고리즘이 복잡성과 압축 효율을 절충할 수 있도록 다양한 툴 및 옵션을 제공한다. 툴 및 옵션의 선택은 애플리케이션 및 용도에 따른 상호작용적 과정이다. 지원해야 하는 코덱의 수가 증가하고 특정한 시나리오 및 애플리케이션에 따라 코덱을 최적화하기 위한 옵션이 다양해짐에 따라서 디지털 비디오 시스템이 유연한 미디어 프로세서를 필요로 한다. DM6446 같은 디지털 미디어 프로세서가 H.264, AVS, WMV9 등의 새로운 표준을 신속하게 구현할 수 있도록 성능 헤드룸 및 아키텍처 유연성을 제공한다. 표준 정의 단계에서 알고리즘을 구현하고서 표준을 크거나 작게 조정하거나 애플리케이션의 요구를 충족하기 위해 품질 절충이 변화하는 것에 따라 소프트웨어로 알고리즘 또는 툴에 대한 업데이트가 이뤄질 수 있다.

    14. 참고문헌

    •  J. R. Jain and A. K. Jain, “Displacement measurement and its application in interframe image coding,” IEEE Trans. Commun., vol. COM-29, no. 12, pp. 1799?1808, Dec. 1981.

    •  ITU-T Recommendation H.261: 1993. Video codec for audiovisual services at px64 Kbit/s.

    •  ISO/IEC 11172-2:1993. Coding of moving pictures and associated audio for digital storage media at up to 1.5 Mbit/s -- Part 2: Video.

    •  ISO/IEC 13818-2:1995. Generic coding of moving pictures and associated audio information: Video.

    •  ITU-T Recommendation H.263: 1998. Video coding for low bit rate communication.

    •  ISO/IEC 14496-2:2001. Information technology ? Generic coding of audio-visual objects ? Part 2: Visual.

    •  G. Sullivan & T. Wiegand, “Video Compression?From Concepts to the H.264/AVC Standard”, Proceedings of the IEEE, Vol 93, No.1, Jan 2005

    •  ISO/IEC 14496-10:2003. Information technology ? Coding of audio-visual objects. Part 10: Advanced Video Coding

    •  Report on the Formal Verification Tests on AVC (ISO/IEC 14496-10 | ITU-T Rec. H.264), ISO/IEC JTC1/SC29/WG11, MPEG2003/N6231, December 2003, Waikoloa.

    •  H.264 White paper UB Video Inc. www.ubvideo.com

    •  Joint Video Team of ITU-T and ISO/IEC: “Draft Text of H.264/AVC Fidelity Range Extensions Amendment”, Doc. JVT-L047, Sept. 2004

    •  SMPTE 421M, Draft SMPTE Standard for TV: VC-1 Compressed Video Bitstream Format and Decoding Process

    •  Srinivasan, S.; (John) Hsu, P.; Holcomb, T.; Mukerjee, K.; Regunathan, S.L.; Lin, B.; Liang, J.; Lee, M.-C.; Ribas-Corbera, J., “Windows Media Video 9: overview and applications”, Signal Processing: Image Communication, Volume 19, Issue 9, 1 October 2004, Pages 851-875

    •  L. Fan, S. Ma, F. Wu: “Overview of AVS video standard”, Proceedings of the ICME 2004: 423-426

    •  “TMS320DM6446 Digital Media System-on-Chip”, www.ti.com

    •  Bill Witowsky, Gene Frantz, “DaVinci™ Technology for Digital Video”, www.ti.com

    반응형

    댓글

Designed by Tistory.