DOI QR코드

DOI QR Code

Whole Frame Error Concealment with an Adaptive PU-based Motion Vector Extrapolation and Boundary Matching

적응적인 PU 기반 움직임 벡터 외삽과 경계 정합을 통한 프레임 전체 오류 은닉 방법에 관한 연구

  • Kim, Seounghwi (Department of Electronic Engineering at Kwang Woon University) ;
  • Lee, Dongkyu (Department of Electronic Engineering at Kwang Woon University) ;
  • Oh, Seoung-Jun (Department of Electronic Engineering at Kwang Woon University)
  • Received : 2015.05.18
  • Accepted : 2015.07.08
  • Published : 2015.07.30

Abstract

Recently, most of the video services are usually transmitted in wireless networks. In networks environment, a packet of video is likely to be lost during transmission. For this reason, this paper proposes a new Error Concealment (EC) algorithm. For High Efficiency Video Coding (HEVC) bitstreams, the proposed algorithm includes Adaptive Prediction Unit-based Motion Vector Extrapolation (APMVE) and Boundary Matching (BM) algorithm, which employs both the temporal and spatial correlation. APMVE adaptively decides a Error Concealment Basic Unit (ECBU) by using the PU information of the previous frame and BM employing the spatial correlation is applied to only unreliable blocks. Simulation results show that the proposed algorithm provides the higher subjective quality by reducing blocking artifacts which appear in other existing algorithms.

최근에 대부분의 비디오 서비스는 무선 네트워크를 통해서 전송된다. 하지만 무선 네트워크 환경에서 비디오 패킷은 전송되는 동안 오류에 노출되기 쉽다. 이러한 문제를 해결하기 위해 본 논문에서는 새로운 오류 은닉 (Error Concealment : EC) 알고리즘을 제안한다. 제안하는 알고리즘에서는 High Efficiency Video Coding (HEVC) 환경에서 시간적 상관도를 이용한 적응적인 예측 단위 기반의 움직임 벡터 외삽 (Adaptive Prediction Unit-based Motion Vector Extrapolation : APMVE)과 공간적 상관도를 이용한 경계 정합(Boundary Matching : BM) 알고리즘을 이용한다. APMVE는 시간적 상관도를 기반으로 손실 프레임 이전 프레임의 예측 단위(Prediction Unit : PU)를 이용하여 오류 은닉 기본 단위 (Error Concealment Basic Unit : ECBU)를 적응적으로 결정하고 BM은 공간적 상관도를 이용하여 비신뢰 블록 (Unreliable Block)들에 한하여 수행한다. 제안하는 알고리즘은 기존 알고리즘에서 나타나는 블록킹 열화를 효과적으로 제거하여 높은 주관적 화질을 보여준다.

Keywords

Ⅰ. 서 론

최근 무선 네트워크의 기술 및 다양한 모바일 기기들의 발전으로 많은 사용자들은 무선 네트워크상에서 비디오 서비스를 제공받고 있다. 이와 같은 발전으로 비디오 데이터의 크기가 점점 증가함에 따라 높은 압축은 네트워크 전송에서 필수적으로 요구가 되고 있고 높은 화질의 영상 서비스에 대한 수요가 늘어남에 따라 국제 표준화 그룹인 Moving Picture Experts Group (MPEG)과 Video Coding Experts Group (VCEG)은 공동으로 차세대 동영상 압축 표준 High Efficiency Video Coding (HEVC)을 개발하여 표준화 작업을 완료하였다[1]. HEVC는 이전 표준인 H.264/ AVC보다 비슷한 비디오 화질에서 약 50%의 비트율 감소를 보인다. 압축된 비디오 데이터는 Network Abstraction Layer (NAL) 유닛으로 구성된다. 네트워크 전송을 위해 각 NAL 유닛은 Real-time Transport Protocol (RTP) 페이로드 포맷을 사용하여 하나의 RTP 패킷으로 캡슐화 된다[2].

채널 오류에 취약한 네트워크 환경을 통한 비디오 통신에서는 채널 오류가 빈번하게 발생 할 수 있다. 압축률이 높아질수록 하나의 비트가 내포하는 정보가 더 많아지므로 적은 오류로도 많은 정보의 손실을 초래하게 되어 비디오 서비스의 품질을 저하시킨다. 비디오 데이터를 전송하는 중에 일어나는 오류는 영상 프레임의 일부분을 손상시키거나 프레임을 전체를 손상시킨다. 이러한 이유 때문에 전송 오류에 의해 손실된 정보를 복원하기 위한 오류 은닉 (Error Concealment : EC) 방법에 대한 연구가 필요하다.

기존에 다양한 EC 알고리즘이 제안되었고, 크게 프레임 단위로 오류가 발생했을 때와 프레임 내에 블록 단위로 오류가 발생했을 때 오류를 은닉하는 방법으로 나눌 수 있다. 프레임 내의 일부 정보가 손실 되었을 때는 주로 공간적 상관도를 이용하고[3-7], 프레임 단위로 오류가 발생했을 때는 공간적 정보를 활용할 수 없으므로 주로 시간적 상관도를 이용한다[8-12]. 그러나 채널 오류에 의한 영상 오류는 프레임 일부분뿐만 아니라 프레임 전체가 손실될 수 있기 때문에 공간적 상관도만을 이용한 방법은 부적절하다. 따라서 본 논문은 프레임 전체가 손실된 경우의 EC 방법에 초점을 둔다.

최근 프레임 단위 EC에 대한 여러 방법들이 제안되었다. 시간적 상관도를 이용한 방법의 대표적인 알고리즘은 MVE (Motion Vector Extrapolation) 방법이다[11]. 이 알고리즘은 H.264/AVC 기반에서 인접한 프레임의 정보를 이용하여 손실된 프레임 내에 블록들의 MV를 찾는다. 그림 1은 MVE 방법의 예이다. MVE의 핵심은 n 번째 프레임이 손실된 상황에서 n-1번째 프레임 블록들의 MV 정보를 이용하여 n 번째 프레임의 블록들의 MV를 결정하는 것이다. 은 n-1 번째 프레임의 i번째 매크로블록(MB : Macroblock)을 의미하며, 의 MV를 의미한다. 은 n-1번째 프레임에서 n번째 프레임으로 외삽된 i번째 블록을 의미하며, 의 MV이다. MVE 방법은 그림 1과 같은 방법으로 외삽된 블록 중에 손실된 블록과 겹쳐지는 면적이 최대가 되는 외삽된 블록의 MV를 손실 블록의 MV를 결정한다. 손실 프레임 내의 모든 MB의 MV를 결정하게 되면 움직임 보상을 통해 그림 2과 같이 손실 프레임의 오류를 은닉하게 된다.

그림 1.기존 MVE 방법 Fig. 1. The conventional MVE algorithm

그림 2.기존 MVE 방법의 EC Fig. 2. The EC of the conventional MVE algorithm

최근 표준화 작업이 완료된 HEVC 환경에서의 EC를 위해 Lin은 손실된 프레임의 이전 프레임 분할 결정 정보를 이용하는 MVE (MVE with Partition information : MVEP) 방법을 제안하였다[12]. MVEP는 참조 프레임 내에 동일한 객체가 현재 PU (Prediction Unit)내에 존재할 가능성이 높기 때문에 외삽 블록의 단위로 PU (Prediction Unit)를 사용하였고, 겹쳐지는 면적뿐만 아니라 외삽된 블록의 크기를 반영하기 위해 외삽된 PU와 CTU (Coding Tree Unit)와의 겹쳐진 면적과 외삽된 PU의 크기에 대해 각각 다른 가중치를 부여한 다음 이 두 값의 곱이 가장 큰 PU를 결정한다. 해당 PU의 MV를 이용하여 손실된 CTU에 대한 은닉을 수행한다. 그러나 MVEP 방법은 큰 크기의 CTU 단위로 은닉을 수행하기 때문에 작은 객체의 움직임을 표현하기 힘들 뿐만 아니라 고정된 블록 단위로 은닉을 수행하여 상황에 따라 효과적으로 EC를 할 수 없다. 이러한 단점을 개선하기 위해 APMVE 알고리즘이 제안되었다[13]. MVEP와 다른 특징은 오류 은닉 기본 단위 (Error Concealment Basic Unit : ECBU)의 크기를 적응적으로 결정한다는 점이다. MVEP는 ECBU 크기를 CTU 크기로 고정하였지만 APMVE은 이전 프레임의 PU를 이용하여 적응적으로 ECBU 크기를 PU 크기로 결정하여 움직임이 많은 객체나 작은 객체를 은닉하는데 적절하다. 그러나 APMVE 또한 시간적 상관도만 고려하여 EC를 수행하기 때문에 한계점을 가지고 있다. 본 논문은 프레임 전체의 오류를 은닉하기 위해 시간적 상관도뿐만 아니라 공간적 상관도를 활용하는 EC 알고리즘을 제안한다. 시간적 상관도만을 활용하는 APMVE을 기반으로 손실 프레임을 은닉 한 후 후처리 과정으로 은닉한 블록에서 비신뢰 블록 (Unreliable Block)에 대해 공간적 상관도를 사용한 BM (Boundary Matching)를 수행한다. 시간적 상관도와 공간적 상관도를 모두 사용함으로써 다양한 환경의 오류에서 손실된 정보를 정확하게 은닉할 수 있다.

제안하는 알고리즘은 다음 세 가지 과정으로 이루어져 있다: 1) 오류 은닉 기본 단위 (Error Concealment Basic : ECBU)의 크기 결정, 2) ECBU의 MV 결정, 3) 경계 정합 (Boundary Matching : BM). 첫 번째 단계인 ECBU의 크기 결정 단계에서는 이전 프레임에서 손실된 현재 프레임으로 PU 단위의 외삽을 수행한다. 그 후 현재 프레임 내에 손실 CTU와 외삽된 PU간의 관계를 고려하여 ECBU를 결정한다. 두 번째 단계에서는 첫 번째 단계에서 결정된 ECBU 단위로 MVE 정보를 이용하여 MV를 결정한 후 움직임 보상을 통해 은닉하고 마지막으로 비신뢰 블록에 한해서 후 처리 과정인 BM를 수행한다.

본 논문의 구성은 다음과 같다. Ⅱ장에서는 제안하는 알고리즘을 설명하고 Ⅲ장에서 실험 결과를 통하여 제안하는 알고리즘의 성능을 평가한다. 마지막으로 Ⅳ에서 결론 맺는다.

 

Ⅱ. 제안하는 알고리즘

제안하는 EC 알고리즘은 APMVE (Adaptive Prediction Unit-based Motion Vector Extrapolation)를 기반으로 한다. 먼저 이전 프레임의 모든 PU에 대해 MVE를 수행한 후, PU의 정보를 이용해 각 손실된 CTU의 ECBU를 결정한다. 각 CTU를 ECBU 단위로 분할한 후, 각 ECBU의 MV를 기존에 있는 MVE 정보를 이용하여 결정한 후, 움직임 보상 (Motion Compensation)을 각 ECBU 단위로 수행하여 해당 CTU를 은닉한다. APMVE를 이용한 은닉 과정 후에 후처리 과정으로 비신뢰 블록을 MVE 정보를 활용해 결정하고, 선택된 비신뢰 블록만 BM를 적용시킨다. 비신뢰 블록는 NOB (Non-Overlaped Block)인 경우와 NOB이 아니지만 결정된 MV를 신뢰할 수 없는 경우로 나뉜다. NOB는 해당 ECBU에 MVE를 수행하였을 때 겹치는 EPU가 없는 ECBU를 가리킨다. 이러한 경우는 MVE를 통해 구한 MV를 신뢰할 수 없기 때문에 공간적 상관도를 이용한 BM를 수행하게 된다. 제안하는 오류 은닉 방법의 전체 흐름도는 그림 3과 같다.

그림 3.제안하는 EC 방법의 전체 흐름도 Fig. 3. The flow chart of the proposed EC algorithm

1. ECBU 크기 결정

본 논문에서는 적응적으로 ECBU 크기를 이전 프레임의 PU 크기를 이용하여 결정한다. ECBU를 큰 블록으로 고정한다면 블록킹 열화(blocking artifact)가 눈에 띄게 나타날 것이고 너무 작은 블록으로만 고정한다면 NOB 블록이 많이 생겨 신뢰할 수 없는 블록의 수가 많아지는 단점이 있다. 비디오 압축에서 움직임 추정 (Motion Estimation : ME)과 움직임 보상은 PU 단위로 수행되고, 이것은 참조 프레임 내에 특성이 동일한 객체가 현재 PU 내에 존재할 가능성이 높다는 것을 의미한다. 따라서 PU 단위의 은닉은 움직임이 많은 객체나 작은 객체 등 다양한 특성의 객체를 효과적으로 은닉할 수 있게 한다.

참조 프레임과 가장 유사한 블록을 결정하기 위해 그림 4와 같이 PU단위로 MVE를 수행한다. 는 N-1번 째 프레임안의 i번째 PU를 의미한다. 는 의 MV를 의미하며, 의 외삽된 블록과 MV는 각각 로 표현한다. 는 식 (1)로 나타내진다.

그림 4.PU 기반 MVE의 예 Fig. 4. An Example of the PU-based MVE

그림 4와 같이 MVE를 하면 이전 프레임의 PU의 크기는 다양하기 때문에 다양한 크기의 EPU들이 하나의 CTU에 겹치게 된다. 겹치는 다양한 EPU 크기 중에서 최종적인 하나의 ECBU 크기를 식 (2)~(3)와 같이 결정한다.

p는 k번째 CTU 안의 픽셀이다. 이는 겹쳐진 EPU 크기 중에서 가장 작은 EPU 크기를 의미한다. 겹치는 EPU 중에서 가장 작은 EPU로 선택하는 이유는 CTU 안에 작은 객체부터 큰 객체까지 존재할 가능성이 있으므로 가장 작은 EPU 크기로 복원하여 큰 객체까지 복원하기 위함이다. 그림 5은 이와 같은 과정을 보여준다. 음영 처리 된 손실된 CTU는 겹치는 EPU 중 가장 크기가 작은 의 크기를 ECBU 크기로 결정한다. 이 CTU는 ECBU 크기 로 분할되어 동일한 크기의 로 구성된다.

그림 5.EPU를 이용한 ECBU 결정 과정 Fig. 5. ECBU decision process with EPU

2. ECBU의 MV 결정과 은닉

각 ECBU의 MV를 정하기 위해 EPU와 ECBU 사이의 겹치는 정도를 판단하여 MV를 결정한다. 이전 프레임과 현재 프레임 사이에 시간적 상관도가 높기 때문에 두 프레임간의 MV들은 선형하다는 가정 하에, ECBU에 가장 많이 겹치는 EPU는 ECBU와 유사하다는 것을 의미한다. 간의 겹치는 픽셀 수가 이라고 할 때 을 구하는 방법은 식 (4)~(5)와 같다.

식 (4)에서 p는 j번 째 ECBU의 CTU안에 픽셀이다. 그 다음 식 (5)처럼 최적의 가 가장 큰 의 MV로 선택한다. 가 높다는 의미는 은닉하고 싶은 ECBU와 EPU가 겹치는 부분이 많다는 의미이고, 즉 이 두 개의 블록이 유사성이 높다는 것을 말한다. 그림 6는 결정의 예를 보여준다. 와 는 와 겹쳐지는 넓이가 가장 넓으므로 로 결정된다. 같은 과정으로 는 각각 로 결정된다. 이것으로 손실된 CTU 내부에 모든 ECBU의 MV가 결정되었다. 만약 하나의 ECBU에 다수의 EPU가 동일한 면적으로 겹쳐진다면 해당 EPU들의 MV의 평균을 ECBU의 MV로 할당한다. 이와 같은 방법으로 모든 ECBU에 대해 MV가 할당되면 움직임 보상을 수행하여 해당 CTU를 은닉한다.

그림 6.ECBU를 위한 MV 결정 Fig. 6. MV decision for an ECBU

3. 비신뢰 블록에 대한 경계 정합

APMVE 기반의 은닉과정은 시간적 상관도만을 이용하므로 상관도가 떨어지거나 한 ECBU에 여러 후보 EPU들이 존재할 경우 대표 MV의 신뢰도가 떨어질 수 있다. 본 논문에서는 이러한 비신뢰 블록에 대해 시간적 상관도 대신 공간적 상관도를 활용하는 BM 과정을 적용하여 정확한 MV를 예측한다. BM은 공간적 상관도를 활용하기 때문에 시간적 상관도를 활용하는 은닉과정을 수행 한 후, 후처리 과정으로 수행된다. 비신뢰 블록은 ECBU가 NOB인 경우와 MV가 결정되어도 신뢰할 수 없는 MV일 경우 두 가지로 나뉜다.

먼저 ECBU가 NOB인 경우이다. NOB는 ECBU가 어떤 EPU와도 겹치지 않는 블록을 의미하는데 이는 해당 ECBU를 시간적 상관도를 활용하여 은닉할 수 없음을 의미한다. NOB에 대해 관련 연구들은 참조 프레임에서 NOB와 동일 위치에 있는 블록의 MV 또는 주변 MV의 평균 MV를 은닉에 활용하지만 본 논문에서는 BM을 통해 더 정확한 MV를 예측한다. 그림 7은 CTU 내에 일부 ECBU가 NOB인 경우를 보여준다. 여기서 NOBmECBU은 CTU 내에 m번째 NOB를 의미한다. BM을 수행하기 전에 Search Starting Point(SSP)을 NOB의 주변에 복원된 블록들의 MV의 평균으로 지정한다. 최적의 MV를 찾기 위하여 16x16 탐색 영역에서 NOBmECBU단위로 탐색을 한다.

그림 7.손실된 CTU 내의 NOB Fig. 7. An example of NOB in a lost CTU

식 (6)은 SSP를 구하는 과정을 보인다. MV(x,y)는 (x,y) 위치의 MV를 의미한다. 또한 H와 V 그리고 D는 각각 NOBmECBU의 가로길이, 세로길이, 꼭짓점 개수를 의미한다. 그림 8은 NOB의 크기가 4x8인 경우를 보여준다.

그림 8.SSP 결정을 위한 NOB 주변 블록의 예 Fig. 8. An example of the neighboring blocks for the SSP decision

SSP가 결정 되면 SSP을 중심으로 탐색 영역 안에서 탐색을 시작하여 NOBmECBU의 내·외부 화소간의 차이 값의 합을 가장 적게 하는 최적의 MV를 찾는다. 각각 위, 아래, 왼쪽, 오른쪽 부분의 화소 간의 차이를 식 (7)~(11)에 보여준다.

f(x0,y0,N)는 N프레임일 때의 화소 값을 의미하며, x0와 y0는 NOB에 왼쪽 상단의 좌표를 의미한다. 또한 dx와 dy는 각각 가로와 세로 방향의 탐색 영역을 뜻하며, DT+DB+DL+DR의 값이 가장 작은 경우의 (SSPx+dx,SSPy+dy)가 NOB의 MV로 선택된다.

두 번째 비신뢰 블록인 경우는 APMVE를 통해 ECBU를 은닉하였지만 ECBU의 MV가 신뢰할 수 없는 경우이다. 열화가 있는 블록을 후처리 과정을 통해서 주변 블록과 자연스러운 블록으로 만든다. 본 논문에서는 신뢰할 수 없는 ECBU를 다음 두 가지 조건으로 구분한다. 첫 번째 조건은 해당 ECBU에 겹치는 EPU가 두 개 이상인 경우이다. 겹치는 EPU가 두 개 이상이면 대표 MV를 결정하기 어렵다. 예를 들어 그림 9과 같이 ECBU와 두 개의 EPU가 겹치는 부분의 크기가 비슷하다면 두 개의 MV중에 하나를 고르는 것은 적절하지 않은 MV를 결정할 가능성이 존재한다.

그림 9.ECBU에 두 개의 EPU가 겹치는 경우 Fig. 9. An example of an ECBU with two overlapped EPUs

두 번째 조건은 해당 ECBU와 APMVE로 선택된 EPU간의 겹치는 부분이 ECBU 크기의 50%보다 작은 경우이다. ECBU와 EPU 사이에 겹치는 부분이 작아질수록 ECBU와 EPU의 상관도가 떨어지므로 겹치는 부분이 작으면 ECBU의 MV로 선택된 EPU여도 신뢰할 수가 없게 된다. 그림 10과 같이 ECBU에 겹치는 EPU가 한 개여도 너무 적은 부분을 차지하게 된다면 결정된 EPU의 MV는 신뢰하기가 어렵다. 50%의 수치는 실험적으로 정하였다.

그림 10.ECBU에 한 개의 EPU가 겹치는 예 Fig. 10. An example of an ECBU with one overlapped EPU

두 가지 조건 중 하나라도 만족하는 ECBU는 NOB와 똑같은 과정으로 BM를 수행하게 된다. 그림 11은 BM을 수행하기 전, BM을 수행하는 부분, BM을 수행한 영상을 보여준다. 그림 11 (a)를 보면 움직임이 있는 객체의 경계 부분에 블록킹 열화가 생기는 것을 볼 수 있고, 그림 11 (b)에서는 비신뢰 블록들을 찾아내어 객체의 경계를 식별하는 것을 확인할 수 있다. 그림 11 (c)는 비신뢰 블록들에 대한 BM 결과이다. 그림 11 (a)와 그림 11 (c)을 비교해보면 경계 부분에서 주관적 화질이 차이나는 것을 볼 수 있다.

그림 11.BM 결과. (a) BM 수행 전, (b) 비신뢰 블록, (c) BM 수행 후 Fig. 11. The BM results. (a) Before BM, (b) Unreliable blocks, (c) After BM

 

Ⅲ. 실험 및 결과

1. 실험 환경

본 논문은 제안하는 알고리즘의 성능을 검증하기 위하여 HEVC 참조 소프트웨어 HM 10.0에 적용하고, low-delay P 환경에서 실험을 진행하였다. HEVC Common Test Condition (CTC)에서 Asymmetric Motion Partition (AMP) 기능은 제외하고, 한 장의 참조 프레임을 사용한다. 15장마다 I 프레임을 삽입하였고 EC 알고리즘은 I 프레임 기준으로 2장 뒤마다 수행하였다. 테스트 영상은 Class B, Class C에 포함된 영상이며 Quantization Parameter (QP)는 32로 하였다. 표 1는 Class 별 영상의 이름과 크기를 보여준다.

표 1.실험 영상 정보 Table 1. Test sequences information

2. 실험 결과

본 논문은 제안하는 알고리즘의 효율성을 설명하기 위해 Motion Compensation (MC), Frame Copy (FC), MVEP, APMVE와 비교한다. MC는 복호화를 위한 여러 정보 중 잔차신호만 손실되었다는 가정 하에 전송된 MV를 이용하여 프레임을 복원한 결과를 의미하고, FC는 이전 프레임을 손실 프레임에 그대로 복사해서 만들어낸 프레임을 의미한다. EC 알고리즘의 경우 손실 블록에 최적의 MV를 찾아내는 것이 목표이므로 MC는 모든 실험 결과에 상계가 된다. 표 2는 EC 알고리즘이 적용되는 프레임에 대한 PSNR 실험 결과를 보여준다.

표 2.영상에 따른 평균 PSNR 비교 Table 2. Comparison of the average PSNR performance of each sequence

표 2를 살펴보면 모든 영상에서 MC는 가장 높은 PSNR 값을 보여주고 FC는 가장 낮은 PSNR 값을 보여준다. FC의 PSNR 값이 가장 낮은 이유는 손실된 프레임 위치에 이전 프레임을 그대로 넣기 때문에 전체적으로 원본과 위치가 달라지기 때문이다. 제안하는 알고리즘과 MVEP와 비교하면 ‘BQTerrace’ 영상을 제외하고 모든 영상에서 제안하는 알고리즘이 더 높은 PSNR 값을 가진다. MVEP는 ECBU 크기를 CTU 크기로 고정 시키기 때문에 작은 객체를 표현하기가 어려운 알고리즘이다. 그래서 영상 자체가 움직임이 거의 없고 영상에 나오는 객체들의 크기가 크다면 MVEP가 좀 더 좋은 결과를 보여 줄 수 있지만 움직임 많고 영상 해상도가 큰 영상에서는 제안하는 알고리즘이 더 적합하다. APMVE와 대비해보면 PSNR 값이 적은 수치로 높은 영상도 있고 낮은 영상도 있다. APMVE와 다른 부분은 공간적 상관도를 이용한 후처리 과정인 BM인데, BM는 객관적 화질을 높여주기 위한 작업이 아니라 주관적 화질을 높여주는 과정이기 때문에 PSNR 값이 더 작은 경우도 발생한다. 제안하는 알고리즘과 APMVE간의 주관적 화질을 비교해보면 확실히 더 좋은 결과를 보인다. 따라서 제안하는 알고리즘은 주관적 화질을 좋게 유지하면서도 객관적 화질도 높은 것을 알 수 있다.

그림 12과 13은 ‘BasketballDrill’ 영상의 50번째 프레임, ‘ParkScene’ 영상의 210번째 프레임의 EC 결과를 보여준다. (a)는 원본 프레임, (b)는 MC로 은닉한 프레임, (c)는 MVEP 알고리즘을 적용한 프레임이다. (d)와 (e)는 각각 APMVE 알고리즘과 제안하는 알고리즘을 적용한 프레임이다. MC 프레임이 정확한 MV를 가지고 있기 때문에 가장 원본과 유사하고, MVEP 알고리즘은 ECBU 크기를 CTU 크기로 고정하고 EC을 수행하기 때문에 그림 (c)에서와 같이 원으로 강조된 부분에서 심각한 블록킹 열화가 발생한다. 그림 (d)에서는 상대적으로 작은 블록킹 열화가 일어나지만 제안하는 알고리즘이 적용된 그림 (e)에서는 ECBU 크기를 적응적으로 결정하고 MVE를 적용해서 발생되는 블록킹 열화가 일어나는 부분을 후처리 과정인 BM로 보완하기 때문에 다른 알고리즘보다 주관적 화질이 뛰어나다. 강조된 부분을 보면 다른 알고리즘은 블록 경계가 어긋나지만 제안하는 알고리즘은 시간적 상관도 뿐만아니라 공간적 상관도까지 고려하기 때문에 주변 블록과 자연스럽게 나타나는 것을 볼 수 있다. 그림 14는 그림 13에서 움직임이 많은 부분의 EC의 결과를 자세히 보여준다.

그림 12.BasketballDrill 영상에서의 주관적 성능 비교 (50번째 프레임). (a) 원본 프레임, (b) MC 프레임, (c) MVEP 알고리즘이 적용된 프레임, (d) APMVE 알고리즘이 적용된 프레임, (e) 제안하는 알고리즘이 적용된 프레임 Fig. 12. Comparison of subjective quality of BQMall sequence(50th frame). (a) original frame, (b) MC frame, (c) concealed with MVEP, (d) concealed with APMVE, (e) concealed with proposed algorithm

그림 13.ParkScene 영상에서의 주관적 성능 비교 (210번째 프레임). (a) 원본 프레임, (b) MC 프레임, (c) MVEP 알고리즘이 적용된 프레임, (d) APMVE 알고리즘이 적용된 프레임, (e) 제안하는 알고리즘이 적용된 프레임 Fig. 13. Comparison of subjective quality of ParkScene sequence(210th frame). (a) original frame, (b) MC frame, (c) concealed with MVEP, (d) concealed with APMVE, (e) concealed with proposed algorithm

그림 14.ParkScene 영상에서의 주관적 성능 비교 (210번째 프레임). (a) MVEP 알고리즘이 적용된 프레임, (b) APMVE 알고리즘이 적용된 프레임, (c) 제안하는 알고리즘이 적용된 프레임 Fig. 14. Comparison of subjective quality of ParkScene sequence(210th frame). (a) concealed with MVEP, (b) concealed with APMVE, (c) concealed with proposed algorithm

 

Ⅳ. 결 론

본 논문은 프레임 전체가 손실된 경우에 대한 EC 알고리즘을 제안하였다. 제안하는 알고리즘은 공간·시간적 상관도를 모두 활용하는 EC 알고리즘으로 시간적 상관도를 활용하는 APMVE 알고리즘을 기반으로 하면서 비신뢰 블록을 공간적 상관도를 활용하여 처리하는 후처리 과정인 BM 알고리즘을 제안하였다. MVE 기반 EC 알고리즘은 외삽된 블록과 ECBU의 크기에 따라 성능이 좌우된다. APMVE 과정에서는 외삽된 PU와 손실된 CTU 간의 시간적 상관도를 이용하여 ECBU의 크기를 정하고, MVE의 정보를 이용하여 모든 ECBU의 MV를 결정하여 움직임 보상을 한다. BM 과정은 비신뢰 블록들을 구분하여 적용된다. 비신뢰 블록들은 ECBU가 NOB인 경우, MVE로 결정된 MV를 신뢰할 수 없는 경우이다. ECBU의 MV를 신뢰할 수 없을 경우는 ECBU에 외삽된 PU가 두 개 이상인 경우와 ECBU와 외삽된 PU가 겹치는 부분이 ECBU 크기의 50%보다 적을 때이다.

제안하는 알고리즘은 특히 주관적 화질에 있어 향상된 성능을 보인다. 제안하는 알고리즘은 APMVE를 기반으로 MVEP 알고리즘에서 나타나는 큰 크기의 블록킹 열화를 제거하면서 시간성 상관성만을 활용하는 MVE 방법의 근본적인 한계를 공간적 상관성을 활용하는 BM 알고리즘을 통해 보완하였다. EC 알고리즘은 손실된 프레임을 효과적으로 은닉하지만 여전히 오류를 포함하고 있어 복호화를 진행하는 과정에서 오류 파급 (error propagation) 효과가 나타난다. 오류 파급 효과는 손실된 프레임만을 다루는 EC 알고리즘 자체만으로 완벽하게 해결하기에는 한계가 있으므로 이에 대한 연구의 필요성이 있다.

References

  1. High Efficiency Video Coding (HEVC), document Rec. ITU-T H.265 and ISO/IEC 23008-2, Jan. 2013.
  2. T. Schierl, S. Wenger, Y. -K, Wang and M. M. Hannuksela, "RTP payload format for high efficiency video coding," IETF Internet Draft Sept. 2013.
  3. J. W. Park and S. U. Lee, "Recovery of corrupted image data based on the NURBS interpolation," IEEE Trans. Circuits Syst. Video Technol., vol. 9, no. 10, pp. 1003-1008, Oct. 1999. https://doi.org/10.1109/76.795052
  4. P. Salama, N. B. Shroff, E. J. Coyle, and E. J. Delp, "Error concealment techniques for encoded video streams," in Proc. IEEE Int. Conf. Image Processing, pp. 9-12, 1995,
  5. J. W. Park, J. W. Kim, and S. U. Lee, "DCT coefficients recovery based error concealment technique and its application to the MPEG-2 bit stream error," IEEE Trans. Circuits Syst. Video Technol., vol. 7, no. 12, pp. 845-854, Dec. 1997. https://doi.org/10.1109/76.644064
  6. H. Sun and W. Kwok, "Concealment of damaged block transform coded images using projections onto convex sets," IEEE Trans. Image Process., vol. 4, no. 4, pp. 470-477, Apr. 1995. https://doi.org/10.1109/83.370675
  7. H. Gharavi and S. Gao, "Spatial interpolation algorithm for error concealment," in Proc. IEEE ICASSP, pp. 1153-1156, Apr. 2008.
  8. Zhang Y., Cui H. and Tang K., "Whole frame error concealment with refined motion extrapolation and prescription at encoder for H.264/AVC," Tsinghua Science and Technology, vol. 14, pp. 691-697, Dec. 2009. https://doi.org/10.1016/S1007-0214(09)70136-1
  9. B. Yan and H. Gharavi, "A hybrid frame concealment algorithm for H.264/AVC," IEEE Transactions on Image Processing, vol. 19, pp. 98-107, Jan 2010. https://doi.org/10.1109/TIP.2009.2032311
  10. Y. Chen, K. Yum J. Li, and S. Li, "An error concealment algorithm for entire frame loss in video transmission," presented at the IEEE Picture Coding Symp., 2004.
  11. Q. Peng, T. Yang, and C. Zhu, "Block-based temporal error concealment for video packet using motion vector extrapolation," in Proc. IEEE Int. Conf. Communications, Circuits and Systems and West Sino Expositions, vol. 1, pp. 10-14, Jun. 2002.
  12. T. L. Lin, N. C. Yang, R. H. Syu, C. C Liao and W. L. Tsai, "Error concealment algorithm for HEVC coded video using block partition decisions," IEEE ICSPCC, pp. 1-5, 2013.
  13. S. H. Kim, D. K. Lee, and S. J. Oh, "Whole Frame Error Concealment with an Adaptive PU-based Motion Vector Extrapolation for HEVC", IEIE Transactions on Smart Processing and Computing, vol. 4, pp. 16-21, Feb. 2015 https://doi.org/10.5573/IEIESPC.2015.4.1.016