DOI QR코드

DOI QR Code

A Design for Extension Codec based on Legacy Codec

레거시 코덱 기반 확장 코덱 설계

  • Young, Su Heo (Media Lab., Dept. of Computer Engineering, Kyung Hee University) ;
  • Bang, Gun (Electronics and Telecommunications Research Institute) ;
  • Park, Gwang Hoon (Media Lab., Dept. of Computer Engineering, Kyung Hee University)
  • 허영수 (경희대학교 컴퓨터공학과 미디어랩) ;
  • 방건 (한국전자통신연구원) ;
  • 박광훈 (경희대학교 컴퓨터공학과 미디어랩)
  • Received : 2015.05.18
  • Accepted : 2015.07.06
  • Published : 2015.07.30

Abstract

A design for the merge mode of three dimensional High Efficiency Video Coding (3D-HEVC) is proposed in this paper. The proposed design can reduce the implementation complexity by removing the duplicated modules of the HEVC. For the extension codec, the implementation complexity is as crucial as coding efficiency, meaning if possible, extension codec needs to be easily implemented through by reusing the design of the legacy codec as-is. However, the existing merging process of 3D-HEVC had been built-in integrated in the inside of the HEVC merging process. Thus the duplicated merging process of HEVC had to be fully re-implemented in the 3D-HEVC. Consequently the implementation complexity of the extension codec was very high. The proposed 3D-HEVC merge mode is divided into following two stages; the process to reuse the HEVC modules without any modification; and the reprocessing process for newly added and modified merging modules in 3D-HEVC. By applying the proposed method, the re-implemented HEVC modules, which accounted for 51.4% of 3D-HEVC merge mode confirmed through the operational analysis of algorithm, can be eliminated, while maintaining the same coding efficiency and computational complexity.

본 논문은, HEVC (High Efficiency Video Coding) 와의 모듈 중복성을 제거하여 구현 복잡도를 낮춘, 3D-HEVC 머지 모드에 대한 설계를 제안한다. 확장 코덱의 구현 복잡도는 부호화 효율에 못지않게 매우 중요한 고려사항이므로, 가능하다면 레거시 코덱의 설계를 그대로 재사용함으로써 손쉽게 구현될 수 있어야 한다. 그러나 기존의 3D-HEVC 머지 모드 확장구조는 HEVC의 처리과정 내부에 빌트인으로 통합되어 있어서, 레거시 코덱인 HEVC와 중복되는 처리과정을 모두 새로이 재구현해야 함에 따라 구현 복잡도가 매우 높았다. 제안된 방법에서는, 재사용 된 HEVC 모듈들을 그대로 실행하는 단계와, 3D-HEVC에서 새로 도입되거나 수정된 부분만을 실행하는 단계의 구조로 분리하여 머지 모드의 설계를 변경하였다. 본 논문에서 제안된 설계를 적용함으로써, 51.4%에 달하던 중복구현을 제거할 수 있음을 알고리즘 동작분석을 통하여 확인할 수 있었으며, 제안된 설계로 인해서 야기되는 부호화 효율의 감소 및 연산 복잡도의 증가는 전혀 없었다.

Keywords

Ⅰ. 서 론

실감형 미디어에 대한 사용자들의 요구는 초고해상도 (ultra-high definition: UHD) 비디오와 3D 비디오의 혼합형태의 미디어로 급속하게 발전하고 있다. 이와 같은 시대적 추세에 발맞추어, Moving Picture Experts Group (MPEG)과 Video Coding Experts Group (VCEG) 에서 2D 비디오 코덱을 확장 설계하는 방식으로 3D 비디오 부호화, 특히 다시점 비디오 부호화(multi-view video coding: MVC)에 대한 국제 표준화가 진행 되어왔다.

다시점 비디오 부호화 기술의 핵심은, 부호화 대상이 2D 비디오에서 다시점 비디오로 변경되면서 발생하는 새로운 특성인 시점 간 중복성을 활용하는 것이다. 기본시점의 픽처에 담긴 정보는, 그와 동일한 픽처오더 카운터 (POC)를 가지는 인접시점 픽처의 부호화를 위한 훌륭한 참조 데이터가 될 수 있다[1]. 이에 대한 최초 시도로서는, 변위보상예측(disparity compensated prediction: DCP)이 있다. DCP는, 동일한 POC의 기본시점의 픽처로부터 예측부호화를 수행하는 것이며, 레거시 코덱의 부호화 제어부를 수정함으로써 묵시적으로 적용된다. 즉, 인접시점 부호화 시, 참조픽처 리스트에 기본시점의 픽처를 추가할 수 있도록 해주면 간단하게 완료된다. 신택스(Syntax) 측면에서 살펴보면, 저수준에서 정의되는 블록단위 부호화 도구에 대한 변경사항 없이, 슬라이스 헤더(Slice header)이상에서 정의되는 고수준 신택스(High level syntax)만을 확장해주면 되었다. 따라서 레거시 코덱의 변경을 최소화 하면서도 간단하게 부호화 효율을 증가시킬 수 있다는 장점이 있다[1]. DCP는 1996년에 MPEG-2 Multi-view Profile[2]의 시간적 스케일러블코딩 툴 (temporal scalability coding tool)에 적용되었으며[3], 이후로 다시점 비디오 부호화를 위한 확장표준들에 계승되었다. 예를 들어, Advanced Video Coding (AVC)/H.264[4]의 Amendment인 Multi-view Video Coding (MVC)[5]와, High Efficiency Video Coding (HEVC)/H.265[6]를 MVC의 방식으로 확장 설계한 HEVC extension to multiple views (MVHEVC)[7]에 도입 계승 되었다. 이들 확장표준들은 블록단위 부호화 알고리즘의 수정 없이 DCP와 관련된 고수준 신택스만을 수정하는, 프레임 호환방식 (frame-compatible format)을 도입하였다. 프레임 호환방식은 지금까지 줄곧 확장 코덱(extension codec)의 주요설계로서 자리 잡고 있으나, 저수준의 부호화 도구를 변경하지 않으므로, 상세한 부호화 알고리즘을 포함하는 블록단위 부호화 도구들의 효율을 극대화 할 수 없다. 예를 들어, 시점 간 중복성을 블록 단위 예측부호화 과정에서 세밀하게 활용하거나, 혹은 그 과정에서 발생할 수 있는 결함을 보완해줄 수 있다면, 부호화 효율 및 주관적 화질을 더욱 향상시킬 수 있다. 그럼에도 불구하고 MVC와 같은 확장표준들이 고수준 신택스의 확장만으로 그치게 된 이유는 구현 복잡도 때문이었다. 레거시 코덱의 기존설계를 완전히 감싸는 형태로 확장 코덱이 설계될 시, 레거시 코덱과 중복되는 부분을 모두 새로이 재구현 해야 하므로 구현 복잡도가 크게 상승한다. 실제 예로서, MVC 국제표준화 기간 내내 macro-block (MB) 단위의 부호화 도구들[8]-[13] 등이 Joint Multi-view Video Model(JMVM)[14]에 채택되었지만, 최종적으로는 MB단위 부호화 도구들이 전통적으로 높은 구현 복잡도를 유발한다는 점을 이유로 MVC 프로파일에서 제외되고[15], 예전과 같이 단지 시점 간 예측과 관련 된 고수준 신택스만을 수정하는 것으로 MVC 표준을 완료하였다[5].

블록단위 부호화 도구를 확장설계 시, 복잡도 측면에서 제일 큰 문제는 소프트웨어(S/W) 및 하드웨어(H/W) 구현 복잡도이다. 일반적으로 블록단위 부호화 도구의 확장이란, 레거시 코덱의 처리과정 내부를 곳곳에서 변경하는 것이기 때문에, 레거시 코덱의 기존 처리과정을 있는 그대로 재사용할 수 없게 된다. 즉, 확장 코덱에서 새롭게 추가되거나 변경된 부분뿐만이 아니라, 변경되지 않은 부분을 다시 중복해서 새로이 구현해야만 한다. 이는 구현 복잡도를 증가시키는 원인이 되며, 특히 H/W 구현에서는 프레임 호환방식에 비하여 비용이 크게 증가한다. 이로 인하여 H/W 칩 생산자들은 구현을 위하여 더욱 많은 부담을 감수해야 하므로, 결국 저수준의 부호화 도구를 새로이 도입하거나 수정하는 것은, 확장 코덱의 전 세계 시장에서 핵심응용 기술(killer application)로의 채택에 악영향을 미친다. 이와 같은 이유로, 확장 코덱의 구현 복잡도는 부호화효율에 못지않게 매우 민감한 문제로 고려되어 왔다.

최근에는 MPEG과 VCEG의 Joint Collaborative Team on 3D Video (JCT-3V) 국제 표준화를 기점으로, 3DAVC[16]와, 2015년까지 완료될 예정인 3D-HEVC[1]와 같은 3D 비디오 코덱들이 저수준의 부호화 도구에 대한 확장을 허용하면서, 앞서 설명한 기존의 확장 코덱들과는 다른 양상을 보이고 있다. 이들은 시점 간 중복성 및 텍스처와 깊이 맵 간 중복성을 활용하기 위하여 저수준의 부호화 도구를 확장 설계하였다. 하지만, 앞서 설명한 레거시 코덱의 기존 설계를 재사용할 수 없다는 단점을 극복할 수 있을 만큼의 성능 향상이 이루어져야 하며, 프레임 호환방식인 MVC 및 MV-HEVC와 비교하여, 각각 동일화질 대비 최소 25% 이상의 비트율 감소가 요구되었다[17]. 그러나 부호화 효율의 향상과는 별개로, 높은 구현 복잡도는 여전히 해결되어야 할 문제점으로 남아있으며, 가능하다면 확장 코덱에서 레거시 코덱의 처리과정을 중복해서 새로 재설계해야 하는 부분을 최소화함으로써 구현 복잡도를 낮추어야 한다. MVC나 MV-HEVC처럼 저수준의 설계를 전혀 수정하지 않으면서 재사용 할 수는 없겠지만, 저수준의 부호화 도구를 구성하는 개별모듈 단위로는 재사용이 가능하도록 확장 설계를 해야 한다.

기존의 3D-HEVC[18]는, 저수준의 Coding Unit(CU) 단위 부호화 알고리즘의 확장이 레거시 코덱인 HEVC를 완전히 감싸는 형태를 취하고 있다. 이로 인하여 S/W 및 H/W로 구현 시, HEVC의 모듈들을 그대로 재사용하지 못하고 CU 단위의 설계를 모두 새로이 재구현 해야 하므로 구현 복잡도가 상대적으로 매우 높았다. 3D-HEVC에서 새로이 도입되거나 변경된 부호화 도구들의 대부분은 머지 모드에 의하여 활용되며[19], 따라서, 재사용이 가능한 HEVC 의 모듈들이 머지 모드에서 가장 많이 발견된다. 인접블록의 움직임 정보를 상속받아 그대로 사용하는 머지 모드는 HEVC의 성능을 대폭 증가시켜 주는[20] 핵심기술 중 하나이며, 3D-HEVC에서는 시점의 개수가 증가하고 깊이맵에 대해서도 실행됨에 따라 더욱 복잡하고 정교해졌다. 그러나 3D-HEVC 국제표준에 채택된 기존의 머지 모드[18]는, HEVC와 중복되는 부분이 많음에도 불구하고, 재사용성을 고려하지 않은 채 부호화 효율 향상의 목표치를 달성하는 것에 초점이 맞추어져서 설계되어 있기 때문에, 구현 복잡도가 매우 높았다.

본 논문에서는 3D-HEVC의 머지 모드에 대하여, 레거시 코덱인 HEVC의 재사용성을 증가시키고 구현 복잡도를 낮출 수 있는 재사용 설계를 소개한다. 머지 모드의 구현 복잡도를 감소시키기 위한 주요방법은, HEVC 머지 모드를 먼저 실행한 후, 그 결과물과 함께 3D-HEVC를 위한 머지 후보 리스트를 재구성하여 확장부의 알고리즘이 구동될 수 있도록 만드는 것이다. 본 논문은 다음과 같이 구성된다. II장에서는 레거시 코덱의 확장설계 개념을 소개한다. III장에서는 3D-HEVC에서 확장된 기존의 머지 모드에 대한 개요를 설명하고, IV장에서는 본 논문에서 제안된 확장설계 방법을 소개한다. V장에서는 실험결과를 통하여 제안된 방법이 기존방법과 동일한 성능을 유지하면서도 구현 복잡도는 현저하게 낮출 수 있음을 보여준다. 마지막으로 VI장에서는 결론을 기술한다.

 

Ⅱ. 레거시 코덱의 확장설계 개념 소개

레거시 코덱의 저수준 부호화 도구에 대한 확장설계 방법은 두 종류로 분류된다. 그림 1은, 기본계층(base layer)에 위치하는 레거시 코덱과 그것을 확장한 향상계층(enhancement layer)의 확장 코덱의 부호화 처리 흐름을 보여준다. 입력 비디오 시퀀스는, 입력계층 정보가 가리키는 기본계층 또는 향상계층의 부호기로 입력되어 부호화가 완료된 후 다중화를 통하여 통합된 비트스트림으로 출력된다. 3D-HEVC를 예로 들면, 기본시점(base view)의 텍스처 영상이 기본계층으로 입력되고, 의존시점(dependent view)의 텍스처 영상 또는 깊이맵이 향상계층의 입력이 된다. 그림에서 각 블록은, 주로 저수준의 부호화 도구들과 연관된 개별 모듈들의 처리과정을 지칭한다.

그림 1.향상계층 코덱의 설계방식. (a) 기존 모듈 내부에 통합, (b) 재사용 설계 Fig. 1. Illustration of the design of enhancement layer codec. (a) Integrating inside the existing module, (b) Reusable design

그림 1 (a) 에 도시한 바와 같이, 레거시 코덱을 확장하는 첫 번째 설계방식은 내부통합 (built-in integration) 방식이다. 이 방식은 확장 코덱에 필요한 새로운 과정들을, 레거시 코덱의 처리과정 내부에 직접 추가하거나 수정을 가한다. 따라서 그림 1 (a)와 같이 레거시 코덱의 처리과정을 완전하게 감싸는 형태로 설계된다. 이 방법은, 새로운 기능을 기존처리과정 내부 곳곳에서 최적의 위치에 추가하기 때문에, 부호화효율 측면에서 가장 우수한 결과를 보인다는 장점이 있다. 내부통합 방식은 기존의 3D-HEVC에서 저수준의 확장설계의 대부분에 적용되어 있다[18]. 그러나 레거시 코덱과 중복되는 부분들이 모두 다시 새로이 구현되어야하기 때문에 구현 복잡도가 매우 높다는 단점이 존재한다.

확장 코덱 전체에 걸쳐서 내부통합 설계를 적용하는 것은 구현 복잡도를 크게 증가시키므로 좋은 설계라 할 수 없다. 내부통합 설계의 구현 복잡도 문제를 보완하기 위하여, 본 논문에서 제안하고자 하는 재사용 설계를 그림 1 (b)에 도시하였다. 먼저 기본계층의 기존 처리과정이 그대로 실행되며, 이후로 확장 코덱에서 새롭게 도입된 기능만으로 정제한 확장부 처리과정이 실행되어 기본계층에서 처리된 결과물을 이용하여 최종적으로 재구성 한다. 이는 내부 통합 설계방식처럼 레거시 코덱의 처리과정 내부 곳곳에서 수정을 가하지 않고 레거시 코덱의 처리과정을 있는 그대로 변경 없이 수행하며, 확장부 처리과정의 일부를 간략화 및 정제화를 통한 수정을 해주는 것만으로 레거시 코덱의 저수준 설계를 재사용할 수 있다. 그에 따라, 정제된 확장부 처리과정에서는, 중복 구현된 레거시 코덱의 처리과정이 완전하게 제거된 확장 코덱만을 위한 추가기능을 수행하면 된다. 따라서 내부통합 설계에 비하여 구현 복잡도가 대폭 감소한다.

확장 코덱에 재사용 설계를 적용하기 위해서는, 레거시 코덱의 처리과정과 확장기능이 서로 의존적이지 않아야만 한다. 기존의 내부통합 설계에서 저수준의 부호화 처리과정 내부에 의존성이 존재한다면, 간소화를 통하여 의존성을 제거해야 한다. 이 때, 간소화로 인하여 기존의 알고리즘을 동일하게 재현하지 못하는 경우 부호화 효율 또는 복잡도 면에서 성능감소가 발생할 수 있으므로, 부호화 성능 대비 구현 복잡도 개선 폭을 고려하여 내부통합 또는 재사용 설계를 선별적으로 선택하여 사용해야 한다. 만일, 재사용 설계를 사용하였을 때 감소되는 부호화 성능이 무시할만한 수준이라면 적극적으로 적용하여 구현 복잡도를 낮추는 것이 바람직한 확장설계의 방향이다.

 

Ⅲ. 3D-HEVC의 머지 모드 개요

머지 모드에서는, 현재 부호화 하려는 PU (Prediction Unit)와 시공간적으로 인접한 블록으로부터 움직임 정보를 보정 없이 그대로 상속받아서, 현재PU의 움직임 정보로서 사용한다. 인접블록들의 움직임 정보들로부터 머지 후보 리스트 (merge candidate list)를 구성하고, 최적의 율-왜곡 (rate-distortion) 성능을 보이는 후보의 인덱스만을 비트스 트림을 통해 전송한다. 따라서 움직임 벡터, 참조픽처 인덱스, 참조방향을 포함하는 움직임 정보를 직접 전송하는 Advanced motion vector prediction(AMVP)[21]에 비하여 통계적으로 높은 부호화 효율을 보인다. 복호기는, 전송받은 후보 인덱스와 잔차 신호를 이용하여, PU를 재구성할 수 있다[20]. 머지 모드의 처리과정은 크게 후보 유도과정, 머지 후보 리스트 생성과정으로 나뉘며, 이 둘은 순차적으로 실행된다. HEVC에서는 현재 PU로부터 좌하(A0),좌(A1),우상(B0),우(B1),좌상(B2)에 위치한 블록으로부터 유도되는 5개의 공간적 후보(spatial candidate)와, 현재PU와 동일하게 위치한 참조픽처 상의 블록으로부터 유도되는 시간적 후보 (temporal candidate: Col)를 사용한다[20]. 유도가 완료된 시/공간적 후보들은 위에 열거한 순서대로 머지 후보 리스트에 삽입되며, 이때 움직임 정보가 중복되는 후보들에 대한 가지치기가 간략하게 수행된다[22]-[23]. 만일 시/공간적 후보만으로 후보 리스트가 다 채워지지 않았을 시, 가상 후보들로서 남은 공간을 채운다. 가상 후보로는, 이미 리스트에 삽입되어있는 후보들 중 두 후보가 보유한 L0, L1움직임 정보를 서로 조합한 혼합 양방향 후보 (combined bi-predictive candidate) 와, 움직임 벡터를 0으로 설정하는 제로 후보(zero candidate)가 있다[24]. 3D-HEVC에서는, 다시점 비디오 코딩을 위하여 새롭게 도입된 부호화 도구들을 머지 모드를 통하여 사용할 수 있도록 3D 머지 후보들을 추가로 도입하였다. 새롭게 추가된 3D 후보들에 대한 간단한 설명은 다음과 같다. 괄호 안의 이니셜은 추가 후보의 간략한 명칭이다.

유도가 완료된 후보들 중에서 중복되는 움직임 정보를 지닌 후보들 간의 가지치기가 수행된 후, 삽입 우선순위가 가장 높은 T를 시작으로 Zero까지 후보 리스트에 삽입된다 [18]. 기존 3D-HEVC 머지 모드에서의 후보 리스트 구성과정을 그림 2에 도시하였다. NVSP는, 공간적 후보들이 VSP 모드로 부호화 되었음을 지시하는 VSP플래그를 유도함을 의미한다. 실선으로 표시된 화살표의 진행방향에 따라서 후보들이 순서대로 삽입되며, 후보들의 삽입 우선순위는 {T, IvMC, A1, B1, B0, IvDC, VSP, A0, B2, IvMCShift, IvDCShift, Temporal(Col), Combined bi-predictive, Zero} 순이다.

그림 2.기존 3D-HEVC 내부통합 설계의 머지 후보 리스트구성 과정 Fig. 2. Integrated design of merge candidate list construction in the exisiting 3D-HEVC

후보 리스트는 위의 절차를 통하여 구성된다. Step들이 순서대로 실행되는 도중에 후보 리스트가 모두 채워진다면 처리과정은 조기 종료된다. 또한 각각의 step에서 삽입할 후보가 사용 불가능하다면 해당 step은 건너뛴다 (skip).

 

Ⅳ. 제안방법

본 장에서는 II장에서 제안된 설계개념을 적용하여, 3DHEVC의 머지 모드에서 HEVC의 머지 모드의 처리과정의 대부분을 그대로 재사용할 수 있는 설계방법을 제안한다[31]-[32]. 제안된 방법의 블록도는 그림 3에 도시되어 있다.

그림 3.제안하는 3D-HEVC 머지 모드의 재사용설계 Fig. 3. Proposed reusable design of merge mode in 3D-HEVC

시/공간적 후보 및 가상 후보로 머지 후보 리스트를 채우는 기존 HEVC의 리스트 구성 과정을 제 1단계: 기본 리스트 구성 과정(base merge candidate list construction)으로 지칭한다. 제 1단계는, 공간적 후보들의 유도과정, 혼합 양방향 후보들의 유도과정, 리스트 구성과정에 대하여 HEVC의 과정을 그대로 재사용하며, 이들은 3D-HEVC를 위하여 재 구현될 필요가 없게 된다. 결과적으로 제 1단계는 HEVC 후보들만으로 구성된 기본 리스트를 출력한다.

제 2단계는, 제 1단계의 출력인 기본리스트에 3D 후보들을 추가하여 최종적으로 HEVC 후보들과 3D 후보들이 함께 삽입된 확장 머지 후보 리스트 (extended merge candidate list)를 출력한다. 이를 리스트 재구성 (reprocessing) 과정으로 지칭한다.

1. 공간적 후보 유도과정의 재사용

공간적 후보 유도 시 HEVC의 과정을 수정 없이 재사용하여, 제 1단계에서 실행되도록 하였다. 공간적 후보의 유도 과정은 기존의 3D-HEVC 머지 모드의 일부를 변경하였다. HEVC에서는, A1,B1,B0,A0,B2의 순서로 유도되는데, 시간적 후보를 위한 여유 공간을 확보하기 위하여, 리스트에 삽입되는 공간적 후보의 최대개수를 4개로 제한하였다. 따라서 A1,B1,B0,A0가 모두 사용가능 하다면 B2가 사용 가능 하더라도 리스트에 삽입할 수 없다. 하지만, 3DHEVC에서는 리스트의 최대길이가 5에서 6으로 증가함에 따라, 공간적 후보를 4개로 제한하지 않는다[18]. 다음의 절차는 공간적 후보 유도과정의 후반부인, B2의 유도과정이다. HEVC에서는 모든 step들이 적용되지만, 3D-HEVC에서는 Step 3가 적용되지 않는다.

3D-HEVC에서는, 단순히 HEVC 처리과정의 Step 3를 제거한 것이므로, 확장부와의 의존성은 존재하지 않는다. 대부분의 경우, IvMC 또는 A1과 같이, B2 후보보다 높은 우선순위를 가지는 후보들이 최적의 효율을 보이기 때문에, B2 후보가 리스트에 삽입 되더라도 머지 모드의 최종 움직임 정보로서 선택될 확률은 0.17%로 매우 낮다 (실험을 통하여 확인함). 따라서 B2 후보가 부호화 효율에 미치는 영향력이 거의 없으므로, B2 후보의 삽입을 제한하는 HEVC 처리과정을 제안된 방법에서는 그대로 유지한다.

또한 3D-HEVC에서는 공간적 후보의 유도과정에서 VSP플래그를 함께 유도하도록 확장되었다. VSP flag가 ‘True’ 로 설정된 공간적 후보를 사용하여 PU를 재구성 시, 합성된 가상블록이 예측블록으로서 사용된다[30]. 제안하는 방법에서는, VSP 플래그 유도과정이 제 2단계에서 실행되도록 함으로써, 제 1단계의 공간적 후보 유도과정으로부터 분리시켰다.

2. 혼합 양방향 후보 유도과정의 재사용

기존의 3D-HEVC에서 혼합 양방향 후보 유도과정은, HEVC에서 사용되던 기존 후보들과 새로 도입된 3D 후보들 간의 의존성이 존재한다. 리스트에 삽입되어서 조합될 수 있는 후보는 HEVC 후보일 수도 있고 3D 후보일 수도 있다. 이들이 서로 조합될 수 있기 때문에, 어느 한쪽만을 분리해낼 수 없는 상호 의존성 (mutual dependency)이 존재한다. 또한, VSP플래그가 ‘True’인 후보는 조합에 사용하지 않도록 하는 판단이 새롭게 적용되었다[18]. 그러므로 HEVC 후보에 해당하는 공간적 후보들에 대한 VSP 플래그 유도가 완료되어 있어야 하는 조건에 따라서 인과적 의존성 (causal dependency)이 존재한다. 또한, 본 유도과정을 위하여, 3D-HEVC에서는 리스트의 최대길이를 5에서 6으로 변경함으로 인하여, 사용 가능한 조합 쌍의 개수가 12에서 20으로 8개가 증가하였다.

본 논문에서 제안하는 재사용 설계에서는 이와 같은 변경사항들을 취소하여, HEVC의 혼합 양방향 후보 유도과정을 그대로 재사용하며, 제 1단계에서 실행한다. 3D-HEVC에서는 혼합 양방향 후보 이전에 삽입되는 후보의 종류가 6개인 HEVC와 달리, 12 가지나 되기 때문에, MCL에 빈공간이 나오는 경우가 극히 드물다. 따라서 HEVC에 비하여 혼합 양방향 후보의 활용도가 거의 존재하지 않으므로, 위와 같은 변경사항들은 실제 부호화 효율에는 영향이 거의 없다. 따라서 혼합 양방향 후보 유도과정에 대한 3D-HEVC의 변경사항을 적용하지 않고, 그 대신 HEVC의 처리과정을 있는 그대로 재사용함으로써 간소화를 적용함과 동시에 의존성을 완전히 제거하였다[32]-[33]. 또한, 제 1단계에서 실행되도록 함으로써 3D-HEVC에서 재 구현될 필요가 없도록 설계하였다.

3. 리스트 구성과정의 재사용

제안하는 방법에서는, 제 1단계에서 HEVC의 머지 후보 리스트 구성과정을 그대로 재사용한다. 그림 4는, 제 1단계에서 HEVC 후보들만으로 기본 리스트 구성과정 (그림 4 (a))이 실행 된 후, 이어서 실행되는 제 2단계의 리스트 재구성 과정(그림 4 (b))을 보여주고 있다. 제 2단계에서는 리스트 재구성 과정이 실행되며, 제 1단계를 통하여 출력된 기본 리스트에 3D 후보들이 채워서 확장 리스트를 구성하는 과정이다. 공간적 후보들에 대한 VSP 플래그를 유도(VSP)한 후, 3D 후보들인 T, IvMC, IvDC, VSP, IvMCShift, IvDCShift가 차례로 삽입된다. 리스트 재구성 과정은 다음의 절차를 따르며, 각각의 3D 후보들은 그림 2를 통하여 도시하였던 삽입 우선순위에 해당하는 위치에 삽입된다. Step들이 순서대로 실행되는 도중에 리스트가 모두 채워진다면, 조기 종료된다. 각각의 step에서 삽입할 후보가 사용 불가능하다면 해당 step은 건너뛴다.

그림 4.제안하는 머지 후보 리스트 구성과정의 블록도. (a) HEVC의 머지 후보 리스트 구성과정, (b) 제안하는 3D-HEVC의 정제된 머지 후보 리스트 재구성 과정 Fig. 4. Block diagram of proposed reusable design for merge candidate list construction. (a) Merge candidate list construction process in HEVC, (b) Proposed refined process for reprocessing of 3D-HEVC merge candidate list

 

Ⅴ. 실험결과

3D-HEVC 참조 S/W인 HTM-8.2[34]에 본 논문에서 제안된 재사용 설계를 적용하여 실험에 사용하였으며, 모든 실험결과는 내부통합 설계가 적용된 기존의 HTM-8.2 실험결과와 비교하였다. 제 1단계에서는, 공간적 후보 유도과정 및 기본리스트 구성과정에 대하여 HEVC의 소스코드를 그대로 재사용 하였으며, 제 2단계는 3D 후보에 대한 확장부만으로 구현하였다. 입력 비디오시퀀스 및 부호기 설정은, JCT-3V에서 3D-HEVC 국제표준화를 위해 제공된 Common Test Condition (CTC)[35]을 따른다. 부호화 효율은 Bjontegaard-Delta rate (BD-rate)[36]를 이용하여 측정하고 비교하였다.

기존 3D-HEVC의 머지 모드에서, HEVC 의 처리과정이 내부 통합된 비율을 측정할 수 있는 척도로서, 각 움직임 후보에 대한 사용 가능성 판별횟수, 움직임 정보 접근횟수, 그리고 중복성 검사횟수를 사용할 수 있다. 사용 가능성 판별은, 각 후보를 사용할 수 있는지를 판단하는 명령으로, 모든 후보에 대하여 기본적으로 실행되는 핵심 명령이다. 움직임 정보 접근은 사용 가능성 판별에 포함되지만, 다른 블록으로부터 움직임 정보를 직접적으로 상속하는(시/공간적, T, IvMC, IvMCShift) 후보에 대해서만 수행되며, 외부 메모리 접근이 수반되는 명령이다. 또한 중복성 검사는 후보 유도과정 및 리스트구성 과정에서 실행되는 주요 명령이다. 따라서 위의 세 가지 명령들이 실행되는 횟수를 척도로 하여, 제안된 방법의 적용 전과 적용 후에 대하여 구현 복잡도 감소량을 확인할 수 있다.

제안된 방법을 적용하기 전과 후의 사용 가능성 판별횟수, 전체 또는 의존시점의 텍스처영상에서의 움직임 정보 접근횟수, 중복성 검사횟수, 그리고 혼합 양방향 후보 조합 횟수의 알고리즘 구현 분석을 통한 비교결과를 표 1에 나열하였다.

표 1.머지 과정에서의 주요 명령들의 감소율 Table 1. Reduction of major operations on proposed merging process

사용 가능성 판별횟수는, 가상 후보를 제외하였으며, 공간적 후보의 유도과정을 재사용함으로 인하여 12회에서 7회로 감소하므로 감소비율은 41.7% 이다. 전체 움직임 정보 접근횟수는, 시공간적 후보에서 6회, 그리고 3D 후보 중 T, IvMC, IvMCShift 에서 각각 1회씩 실행되므로, 총 9회가 실행된다. 공간적 후보의 유도과정을 재사용함에 따라, 새롭게 구현되어야 하는 전체 움직임 정보 접근횟수는 9번에서 4번으로 감소하므로, 구현 복잡도 감소량은 55.6% 이다. 의존시점의 텍스처 영상의 경우, 9개의 후보 중 T를 사용하지 않으므로, 움직임 정보 접근횟수는, 8에서 3으로, 62.5% 의 감소한다. 중복성 검사횟수는 기존에 총 10회였지만, 제안된 방법을 적용 시 공간적 후보 유도과정을 재사용함에 따라 공간적 후보들 간의 중복성 검사를 3D-HEVC에서 새로이 구현할 필요가 없으므로, 5회로서 50.0% 감소한다. 제 1단계에서 HEVC의 혼합 양방향 후보 유도과정을 그대로 재사용함으로써, 3D-HEVC에서의 혼합 양방향 후보의 조합횟수는 총 20회에서 0회로 100% 감소된다.

제안된 방법이 부호화효율에 미치는 영향을 확인하기 위한 실험결과를 표 2에 나열하였다. 실험결과, 전체 (views 1-3 결과의 평균) 및 합성결과에 대한 비교에서 각각 평균 BD-rate 가 기존방법 대비 0.0%를 보임에 따라, 제안방법과 기존방법의 부호화효율은 완전히 동일함을 확인할 수 있었다.

표 2.제안하는 방법의 BD-rate 결과 Table 2. BD-rate results for the proposed method

표 3은 제안방법과 기존방법을 수행할 때 필요한 연산 복잡도를 측정하는 비교결과를 보여주고 있다. 실험결과, 제안방법과 기존방법을 수행하는데 필요한 연산 복잡도는 동일함을 확인할 수 있었다.

표 3.부호화 및 복호화 소요시간 결과 Table 3. Encoding and decoding time results

위의 실험결과들을 종합하여 판단하면, 제안방법은 기존 방법의 부호화효율 및 연산 복잡도를 동일하게 유지하면서, 동시에 내부통합 설계방식으로 인하여 중복 사용되는 모듈들을 약 51.4% (알고리즘 동작분석을 통하여, 사용 가능성 판별 측면에서 41.7%, 의존시점 텍스처영상의 움직임 정보 접근 측면에서 62.5%, 중복성 검사 측면에서 50.0%를 줄여줄 수 있음을 확인) 줄여줌으로서 S/W 및 H/W 구현 복잡도를 현저하게 줄여줄 수 있는 방법임을 확인하였다.

 

Ⅵ. 결 론

본 논문에서는 3D-HEVC 머지 모드의 구현 복잡도를 현저하게 낮출 수 있는 재사용 설계를 제안하였다. 기존의 설계에서는, 3D-HEVC에서 새로이 추가되거나 수정된 기능들이 HEVC의 머지 모드를 완전히 감싸는 형태로 내부통합 되어있기 때문에, HEVC에서 사용되는 동일모듈을 중복해서 다시 새로이 구현해야만 하는 구현 복잡도가 매우 높았다. 제안된 방법에서는, HEVC의 모듈들을 그대로 재사용하여 실행하는 단계와, 3D-HEVC에서 추가되거나 수정된 부분만을 간략하게 처리하는 재구성 단계로 분리하였으며, 이때 기존 처리과정 상의 의존성을 제거하기 위한 간소화를 진행하였다. 결과적으로, 본 논문에서 제안된 재사용 설계에서는, HEVC에서 사용된 방법을 중복해서 모두 새로이 구현해야하는, 구현 복잡도를 현저하게 감소시켰다. 제안방법은, 기존의 내부통합 설계방식의 부호화 효율 및 연산 복잡도를 동일하게 유지하면서도, 중복해서 구현되어야 했던 모듈들을 51.4% 줄여줌으로서, S/W 및 H/W 구현 복잡도를 현저하게 줄여줄 수 있는 방법임을 실험결과를 통하여 확인할 수 있었다. 본 논문에서 제안된 방법은 3D-HEVC 국제표준의 필수 코딩 방법으로서 채택되었으며[37]-[38], 가장 최근의 3D-HEVC FDAM 4 국제표준 규격[30] 및 HTM-14 레퍼런스 소프트웨어[39]에 모두 반영되어 있다.

References

  1. G. J. Sullivan, J. M. Boyce, Y. Chen, J. R. Ohm, C. A. Segall, and A. Vetro, “Standardized Extensions of High Efficiency Video Coding (HEVC),” IEEE Journal of Selected Topics in Signal Processing, vol. 7, no. 6, pp. 1001–1016, Dec. 2013. https://doi.org/10.1109/JSTSP.2013.2283657
  2. B. L. Tseng and D. Anastassiou, “Multiviewpoint video coding with MPEG-2 compatibility,” IEEE Trans. Circuits Syst. Video Technol., vol. 6, no. 4, pp. 414–419, Aug. 1996. https://doi.org/10.1109/76.510935
  3. A. Puri, R. V. Kollarits, and B. G. Haskell, "Stereoscopic Video Compression Using Temporal Scalability," SPIE Conf. Visual Communications and Image Processing (VCIP' 95), vol. SPIE-2501, pp. 745-756, Apr. 1995.
  4. T. Wiegand, G. J. Sullivan, G. Bjøntegaard, and A. Luthra, "Overview of the H.264/AVC video coding standard," IEEE Trans. Circuits Syst. Video Technol., vol. 13, no. 7, pp. 560-576, Jul. 2003. https://doi.org/10.1109/TCSVT.2003.815165
  5. A. Vetro, T. Wiegand, and G. J. Sullivan, "Overview of the stereo and multiview video coding extensions of the H.264/AVC standard," Proc. IEEE, Special Issue 3D Media Displays, vol. 99, no. 4, pp. 626-642, Apr. 2011.
  6. ISO/IEC JTC 1, Information technology-High efficiency coding and media delivery in heterogeneous environments -Part 2: High Efficiency Video Coding, ISO/IEC 23008-2:2013 (ver. 1), Nov. 2013.
  7. M. Domański, T. Grajek, D. Karwowski, J. Konieczny, M. Kurc, A. Łuczak, R. Ratajczak, J. Siast, O. Stankiewicz, J. Stankowski, and K. Wegner, "Coding of Multiple Video+Depth Using HEVC Technology and Reduced Representations of Side Views and Depth Maps," in Proc. Picture Coding Symp., pp. 5-8, May 2012.
  8. Y. L. Lee, J. H. Hur, Y. K. Lee, K. H. Han, S. H. Cho, N. H. Hur, J. W. Kim, J. H. Kim, P. Lin Lai, A. Ortega, Y. Su, P. Yin, and C. Gomila, "CE11: Illumination compensation," JVT-U052 Document JVT, Hangzhou, China, Oct. 2006.
  9. J. H. Hur, S. Cho, and Y. L. Lee, “Adaptive local illumination change compensation method for H.264/AVC-based multiview video coding,” IEEE Trans. Circuits Syst. Video Technol., vol. 17, no. 11, pp. 1496–1505, Nov. 2007. https://doi.org/10.1109/TCSVT.2007.903774
  10. W. S. Shim, M. W. Park, G. H. Park, D. Y. Suh, H. S. Song, Y. H. Moon, and J. B. Choi, "CE5 results- Joint proposal for MVC deblocking," JVT-W024 Document JVT, San Jose, CA, USA, Apr. 2007.
  11. G. H. Park, M. W. Park, S. C. Lim, W. S. Shim, and Y. L. Lee, "Deblocking Filtering for Illumination Compensation in Multiview Video Coding," IEEE Trans. Circuits and Systems for Video Tech., vol. 18, no. 10, pp. 1457-1461, Oct. 2008. https://doi.org/10.1109/TCSVT.2008.2002890
  12. H. S. Koo, Y. J. Jeon, and B. M. Jeon, "MVC motion skip mode," JVT-W081 Document JVT, San Jose, CA, USA, Apr. 2007.
  13. H. S. Koo, Y. J. Jeon, and B. M. Jeon, "Motion information inferring scheme for multi-view video coding," IEICE transactions on communications, vol. E91-B(4), no. 4, pp. 1247-1250, Apr. 2008. https://doi.org/10.1093/ietcom/e91-b.4.1247
  14. A. Vetro, P. Pandit, H. Kimata, A. Smolic, and Y. K. Wang, "Joint Multiview Video Model (JMVM) 8.0," ISO/IEC JTC1/SC29/WG11/N9762, Archamps, France, April 2008.
  15. G. J. Sullivan, J. R. Ohm, T. Wiegand, and A. Luthra, "Meeting Report of the 26th JVT Meeting,"JVT-Z200 DocumentJVT, Antalya, Turkey, January 2008.
  16. M. M. Hannuksela, D. Rusanovskyy, W. Su, L. Chen, R. Li, P. Aflaki, D. Lan, M. Joachimiak, H. Li, and M. Gabbouj , "Multiview-Video-Plus-Depth Coding Based on the Advanced Video Coding Standard," IEEE Trans. Image Processing, vol. 22, no. 9, pp. 3449-3458, Sep. 2013. https://doi.org/10.1109/TIP.2013.2269274
  17. J. R. Ohm, "Overview of 3D Video Coding Standardization," International conference on 3D systems and applications (3DSA), Keynote speech 2, Kitaku, Osaka, Japan, Jun. 2013.
  18. G. Tech, K. Wegner, Y. Chen, and S. Yea, "3D-HEVC Draft Text 1," JCT3V-E1001 Document JCT3V, Vienna, Austria, Aug. 2013.
  19. K Müller, H. Schwarz, D. Marpe, C. Bartnik, S. Bosse, H. Brust, T. Hinz, H. Lakshman, P. Merkle, F. H. Rhee, G. Tech, M. Winken, and T. Wiegand, “3D High-efficiency video coding for multi-view video and depth data,” IEEE Trans. Image Processing, vol. 22, no. 9, pp. 3366–3378, Sep. 2013. https://doi.org/10.1109/TIP.2013.2264820
  20. P. Helle, S. Oudin, B. Bross, D. Marpe, M. O. Bici, K. Ugur, J. Jung, G. Clare, and T. Wiegand, "Block Merging for Quadtree-Based Partitioning in HEVC," IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 12, pp. 1720-1731, Dec. 2012. https://doi.org/10.1109/TCSVT.2012.2223051
  21. K. McCann, W. J. Han, and I. K. Kim, "Samsung's response to the call for proposals on video compression technology," JCTVC-A124 Document JCTVC, Dresden, Germany, Apr. 2010.
  22. O. Bici, J. Lainema, and K. Ugur, "CE9: Results of SP Experiments on Simplification of Merge Process," JCTVC-H0252 Document JCTVC, San Jose, CA, USA, Feb. 2012.
  23. B. Li, J. Xu, and H. Li, "Non-CE9/Non-CE13: Simplification of Adding New Merge Candidates," , Geneva, Switzerland, Nov. 2011.
  24. T. Sugio and T. Nishi, "Parsing Robustness for Merge/AMVP," JCTVC-F470, Document JCTVC, Torino, Italy, Jul. 2011.
  25. A. Fusiello, E. Trucco, and A. Verri, "A compact algorithm for rectification of stereo pairs," Machine Vision and Application, vol. 12, no. 1, pp. 16-22, July 2000. https://doi.org/10.1007/s001380050120
  26. J. An, Y. W. Chen, J. L. Lin, Y. W. Huang, and S. Lei, "3D-CE5.h related: Inter-view motion prediction for HEVC-based 3D video coding," JCT3V-A0049 Document JCT3V, Stockholm, Sweden, July 2012.
  27. V. Thirumalai, L. Zhang, Y. Chen, M. Karczewicz, C. Guillemot, L. Guillo, J. L. Lin, Y. W. Chen, and Y. L. Chang, "CE3.h: Merge candidates derivation from vector shifting," JCT3V-e9126 Document JCT3V, Vienna, Austria, Aug. 2013.
  28. E. Martinian, A. Behrens, J. Xin, and A. Vetro, "View synthesis for multiview video compression," in Proc. Picture Coding Symp., vol. 27, pp. 38-39, Apr. 2006.
  29. D. Tian, F. Zou, and A. Vetro, "Backward view synthesis prediction for 3D-HEVC," in Proc. IEEE Int. Conf. Image Proc., pp. 1729-1733, Melbourne, Australia, Sep. 2013.
  30. G. Tech, K. Wegner, Y. Chen, and S. Yea, "3D-HEVC Draft Text 7 (Text of ISO/IEC 23008-2 FDAM4 for ISO/IEC ballot, and submitted for ITU consent)," JCT3V-K1001 of JCT-3V, Geneva, Switzerland, Feb. 2015.
  31. G. Bang, Y. S. Heo, K. Y. Kim, G. H. Park, G. S. Lee, and N. Hur, "3D-CE3.h related: Simple merge candidate list construction for 3D V," JCT3V-e9213 Document JCT3V, Vienna, Austria, July 2013.
  32. G. Bang, Y. S. Heo, Y. J. Lee, G. H. Park, G. S. Lee, and N. Hur, "3D-CE3.h: Results on simple merge candidate list construction for 3DV," JCT3V-F0093 Document JCT3V, Geneva, Switzerland, Oct. 2013.
  33. L. Zhang and Y. Chen, "CE3 related: combined bi-predictive merging candidates for 3D-HEVC," JCT3V-F0129 Document JCT3V, Geneva, Switzerland, Oct. 2013.
  34. JCT-3V, Aachen, Germany. (2014). Subversion repository for the 3D-HEVC test model version HTM-8.2 [Online]. Available: https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-8.2/
  35. D. Rusanovskyy, K. Müller, and A. Vetro, "Common Test Conditions of 3DV Core Experiments," JCT3V-F1100 Document JCT3V, Geneva, Switzerland, Oct. 2013.
  36. G. Bjontegaard, "Calculation of average PSNR differences between RD-curves," in Proc. 13th VCEG Meeting, pp. 1-5, Austin, TX, USA, 2001.
  37. G. Tech, K. Wegner, Y. Chen, and S. Yea, "3D-HEVC Draft Text 2," JCT3V-F1001 Document JCT3V, Geneva, Switzerland, Oct. 2013.
  38. JCT-3V, Aachen, Germany. (2014). Subversion repository for the 3D-HEVC test model version HTM-9.0 [Online]. Available: https://https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-9.0/
  39. JCT-3V, Aachen, Germany. (2015). Subversion repository for the 3D-HEVC test model version HTM-14.0 [Online]. Available: https://https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-14.0/