DOI QR코드

DOI QR Code

Weighted Prediction considering Global Brightness Variation and Local Brightness Variation in HEVC

전체적 밝기 변화와 지역적 밝기 변화를 고려한 HEVC에서의 가중치 예측

  • Lim, Sung-won (Sejong University, Information and Telecommunication Research Institute) ;
  • Moon, Joo-hee (Sejong University, Information and Telecommunication Research Institute)
  • 임성원 (세종대학교 정보통신연구소) ;
  • 문주희 (세종대학교 정보통신연구소)
  • Received : 2015.05.11
  • Accepted : 2015.07.09
  • Published : 2015.07.30

Abstract

In this paper, a new weighted prediction scheme is proposed to improve the coding efficiency for video scenes containing brightness variations. Conventional weighted prediction is applied by the reference picture and use only one weighted parameter set. Thus, it is only useful for GBV(Glabal Brightness Variation). In order to solve this problem, the proposed algorithm use three kind of schemes depending on situation. Experimental results show that maximum coding efficiency gain of the proposed method is up to 10.2% in luminance. Average computional time complexity is increased about 163% in encoder and about 101% in decoder.

본 논문에서는, 밝기 변화가 존재하는 영상에서의 부호화 효율을 향상하기 위해 새로운 가중치 예측 기술이 제안된다. 종래의 가중치 예측 기술은 참조 영상 단위로 지원되고 하나의 가중치 예측 계수 세트만을 사용하기 때문에 전체적 밝기 변화가 존재하는 영상에서만 효율적이다. 이러한 문제를 해결하기 위해 제안하는 알고리즘은 상황에 따라 세 가지 종류의 가중치 예측을 사용한다. 제안한 방법의 실험 결과는 기존 기술 대비 BD-rate 기준으로 최대 -10.2%의 성능 향상을 가져오며 인코더의 복잡도는 163%, 디코더의 복잡도는 약 101% 변화가 존재한다.

Keywords

Ⅰ. 서 론

동영상의 부호화에서는 언제나 전송되는 데이터양과 화질의 trade-off가 존재 하는데 이러한 문제는 다양한 예측을 통하여 차분 신호의 에너지를 줄이고 양자화 오류를 줄임으로 해결 할 수 있다. 하지만 영상의 해상도가 점점 높아지고 고품질의 서비스가 제공되면서 종래의 방식으로는 정확한 예측, 높은 효율의 부호화가 이루어지기 힘들어졌다. 이런 문제점을 해결하기 위해 표준화 단체인 ISO/IEC MPEG(Moving Picture Experts Group)과 ITU-T VCEG(Video Coding Experts Group)은 2010년 4월 CFP(Call for Proposal)단계를 거쳐 JCT-VC(Joint Collaborative Team on Video Coding)를 설립하였고 약 3년간의 기간을 거쳐 2013년 1월 새로운 표준인 HEVC(High Efficiency Video Coding, H.265/MPEG-H)[1]를 제정하였다. HEVC에서는 이전 표준과 비교하여 복잡하고 정교한 예측 방법들이 포함되었으며 그 중, 화면 간 예측에서는 AMP(Asymmetric Motion Partition), Merge와 같은 모드가 추가 되었다. 화면간 예측은, 현재 영상과 참조 영상 간의 움직임 정보를 이용하여 예측을 하는 방식이며 영상의 부호화 과정에서 매우 중요한 역할을 한다. 하지만 현재 영상과 참조 영상 간에 밝기 변화가 존재한다면, 밝기 변화가 존재하지 않는 경우와 비교하여 더 많은 차분 신호가 발생하게 된다. 이런 경우, 영상의 품질을 유지하기 위해서는 전송해야 되는 데이터 양이 증가하게 되고 데이터의 양을 줄이기 위해서는 영상의 품질을 떨어트려야 된다는 문제점이 존재하게 된다. 전술한 문제점을 해결하기 위해 화면 간 예측 시, 생성된 예측 블록에 추가적으로 가중치를 주어 밝기 변화를 보상하는 가중치 예측 기술은 고품질의 동영상 서비스를 위한 매우 중요한 기술이다. HEVC에서는 위와 같은 문제점을 해결하기 위해 가중치 예측 기술을 채택하였다[2][3]. 하지만 이러한 방식의 가중치 예측 기술은 지역적 밝기 변화(LBV: Local Brightness Variation)이 존재하는 영상에서는 효율이 낮다는 단점이 있다. 이러한 문제점을 해결하기 위해 [4]와 [5]에서는 블록마다 각각 가중치 예측 계수를 유도한 후 공통으로 가장 많이 나온 가중치 예측 계수를 영상 전체에 적용하는 하나의 가중치 예측 계수로 선택하며 블록마다 가중치 예측의 사용 여부를 알려주는 비트를 추가하였다. 이런 방식은 영상 간에 LBV가 존재하는 경우 효율적일 수 있지만 fade-in, fade-out 효과와 같은 전체적 밝기 변화(GBV:Global Brightness Variation)이 존재하는 영상에서는 효율적이지 못하다. [6]에서는 추가적으로 전송되는 정보 없이, 현재 블록과 예측 블록에 각각 이웃하는 복원된 화소들을 이용하여 가중치 예측 계수를 유도하는 방식을 연구하였다. 이런 방식은 양자화로 인한 에러 값이 복원된 화소에 포함되어 있기 때문에 정확한 가중치 예측 계수가 유도되지 않을 수 있다는 단점이 존재한다. [7]에서는 부호화하려는 블록마다 다른 가중치 예측 계수를 유도하여 적용하는 방식을 연구하였다. 이러한 방식은 전송되어야 되는 데이터의 양이 극단적으로 증가한다는 문제점이 있다. [8]에서는 효율적인 예측을 위하여 uncovered background에 대한 연구를 수행하였다. 그림 1은 [8]에서 보여주는 uncovered background의 예시이다.

그림 1.Uncovered background의 예시 Fig. 1. The example of uncovered background

[2]와 [3]에서는 그림 1과 같이 영상 간에 존재하는 움직임에 의하여 가려지거나 새로 생겨나는 uncovered background에 의해 부정확한 가중치 예측 계수가 유도될 수 있다는 단점이 존재한다. 따라서 본 논문에서는, 영상 간에 LBV가 존재하고 GBV, uncovered background가 모두 존재하는 경우에 대해 효율적으로 가중치 예측을 적용하는 방식을 제안한다.

본 논문은 다음과 같이 구성된다. 2장에서는 HEVC에 존재하는 가중치 예측 기술을 소개하고, 3장에서는 제안하는 기술을 설명한다. 4장에서는 제안하는 기술의 성능을 평가하고 5장에서 결론을 제시한다.

 

Ⅱ. HEVC의 가중치 예측 기술 분석

1. 가중치 예측 계수 유도

가중치 예측 계수를 유도하기 위해 아래의 수식 (1)을 이용하여 참조 영상마다 하나의 가중치 예측 계수 세트 wi와 oi를 유도한다.

여기서 Fcurr는 현재 영상을 의미하며 Fi는 i가 가리키는 참조 영상을 의미한다. wD는 정수 연산을 위한 상수이며 x와 y는 영상 내에서 화소의 위치, ROUND[ ]은 반올림을 의미하고 는 각각 현재 영상과 참조 영상의 평균 값을 의미한다.

2. 가중치 예측 기술의 적용 방식

유도된 가중치 예측 계수 세트인 wi와 oi는 은 참조 영상 단위로 수식 (2)에 적용된다.

여기서 H와 W는 각각 영상의 세로와 가로를 의미하며, SADi,wp는 가중치 예측 계수를 적용한 i번째 참조 영상과 현재 영상과의 SAD(Sum of Absolute difference)를 의미하고, SADi는 현재 영상과 i번째 참조 영상과의 SAD를 의미한다. 그 외 기호는 수식 (1)에서 설명한 것과 동일하다. 계산된 두 SAD값은 수식 (3)과 같이 일정 비율에 따라 사용여부가 결정된다.

수식 (3)을 통하여 i번째 참조 영상에서 가중치 예측 기술이 사용되는 것으로 판단되면 i번째 참조 영상에서 화면 간 예측을 실행하는 경우, 가중치 예측 계수 wi와 oi를 i번째 참조 영상에서 생성된 모든 예측 블록에 적용한다. 또한, 가중치 예측 기술이 사용되지 않는 것으로 판단되면 가중치 예측 계수를 적용하지 않는다. 여기서 T는 임계값을 의미한다.

 

Ⅲ. 제안하는 가중치 예측 기술

제안하는 가중치 예측 기술은 현재 영상과 참조 영상을 이용하여 기존의 가중치 예측 방식 외에 새로운 가중치 예측 방식이 추가된다. GBV 특징을 가지는 영상을 위해 기존의 가중치 예측과 새로운 방식의 가중치 예측이 사용되며, LBV 특징을 가지는 영상을 위한 가중치 예측이 추가된다.

1. GBV를 위한 가중치 예측

현재 영상과 참조 영상 간에 움직임이 존재하는 경우 uncovered background가 발생한다. 이런 영역이 포함되어 가중치 예측 계수가 유도 된다면 수식 (1)과 같이 영상의 모든 화소들을 이용하는 방식 특성상, uncovered background에 의한 오류가 가중치 예측 계수에 포함되어 부정확한 가중치 예측 계수가 유도될 수 있다. 따라서 uncovered background를 포함하여 움직임이 존재하는 영역 전체를 추출하고 그 외 영역을 나머지 하나의 영역으로 구분하여 총 2개의 영역으로 나눈 후, 각 영역마다 가중치 예측 계수를 유도하여 uncovered background에 의한 오류를 최소화 시키는 방식을 설명한다. 수식 (1)~(3)을 이용하여 현재 영상과 참조 영상 간에 가중치 예측이 사용되는 것으로 결정 되었다면 GBV가 현재 영상과 해당 참조 영상에 존재한다고 판단하고, 추가로 영역을 구분하여 영역마다 새로운 가중치 예측 계수를 유도한다. 이때 영역은 움직임의 존재 유무로 판단한다.

1.1 영역 분할

기존의 가중치 예측 기술을 이용하여 현재 영상과 참조 영상 간에 GBV가 존재하는 것으로 판단되었다면, 그림 2와 같이 일정한 크기를 가진 다수의 블록으로 분할한다. 여기서 N은 분할된 블록의 크기이다.

그림 2.좌) 참조 영상, 우) 현재 영상 Fig. 2. Left) Reference Picture, Right) Current Picture

그 후 분할된 각 블록마다 수식 (4)를 이용하여 잔차 블록을 생성한다.

여기서 Org와 Ref는 각각 현재 영상과 참조 영상에서 분할된 블록이며 Resi는 잔차 블록을 의미한다. i는 참초 영상 인덱스를 의미하고 k는 분할된 블록의 인덱스, m과 n은 분할된 블록 내부에서 화소의 위치를 의미하며 wi와 oi는 수식 (1)에서 유도된 계수들이다. 이렇게 생성된 각 잔차 블록마다 표준 편차를 계산하여 임계값 T1보다 크다면 움직임이 존재하는 영역, 작다면 움직임이 존재하지 않는 영역으로 판단한다. 여기서 T1은 실험에 의해 결정된다. 아래의 그림 3은 움직임이 구분된 영상의 예시이다. 그림 3의 결과 영상에서 검은색 부분은 움직임이 존재하는 것으로 판단된 영역이며 흰색 부분은 움직임이 존재하지 않는 것으로 판단된 영역이다. 결과 영상에서 보는 것과 같이 움직임에 의한 구분이 잘 되었음을 알 수 있다. 여기서 사용된 영상은 fade-out 효과가 적용된 basketballpass 영상이다.

그림 3.BasketBallPass 영상. 좌) 0번째 영상, 중) 15번째 영상, 우) 결과 영상 Fig. 3. BasketBallPass sequence. Left) POC is 0, Center) POC is 15, Right) Result

1.2 가중치 예측 계수 유도

구분된 영역에서 종래의 수식 (1)을 수식 (5)로 수정하여 가중치 예측 계수를 유도한다.

여기서 j는 움직임이 존재하는 영역과 움직임이 존재하지 않는 영역을 나타내는 영역의 인덱스를 의미한다. 그 외 기호는 수식 (1)에서 설명한 것과 동일하다. 수식 (5)를 통하여 현재 영상과 각 참조 영상마다 두 개의 가중치 예측 계수 세트인 (wi,0,oi,0)와 (wi,1,oi,1)이 생성 된다.

1.3 적용 방식

PU(Prediction Unit)마다 가중치 예측 인덱스가 추가되며 3가지 경우를 알려준다. 0번은 해당 PU에서 가중치 예측이 사용되지 않음을 알려주며 1번은 움직임이 존재하는 영역에서 유도된 가중치 예측 계수인 wi,0과 oi,0이 사용됨을 알려주고 2번은 움직임이 존재하지 않는 영역에서 유도된 가중치 예측 계수인 wi,1과 oi,1이 사용됨을 알려준다. 그 후 RDO(Rate Distortion Optimization)과정을 통하여 최적의 인덱스를 선택한다.

2. LBV를 위한 가중치 예측

현재 영상과 참조 영상 간에 GBV가 존재하지 않는 것으로 판단된다면 LBV를 위한 가중치 예측이 수행된다. 가중치 예측 계수는 수식 (1)을 통하여 유도되며 PU마다 가중치 예측 플래그가 추가된다. 0번은 해당 PU에서 가중치 예측이 사용되지 않음을 알려주며 1번은 가중치 예측이 사용됨을 알려준다. 그 후 RDO과정을 통하여 최적의 플래그를 선택한다.

3. 제안하는 알고리즘의 전체 순서도

그림 4는 제안하는 알고리즘의 전체 순서도를 나타낸다.

그림 4.제안하는 알고리즘의 전체 순서도 Fig. 4. Flowchart of proposed algorithm

수식 (1)을 이용하여 초기 가중치 예측 계수를 유도하고(1st derivation of WP coefficients) 수식 (2)와 (3)을 이용하여 GBV가 존재하는 것으로 판단 되었다면(GBV?) 수식(4)를 이용하여 움직임의 유무(Motion?)로 영상이 구분됨을 확인하고 구분되지 않는다면 초기 가중치 예측 계수를 이용한 종래의 가중치 예측을 사용한다(WP for GBV). 움직임의 유무로 영역이 구분 된다면 수식 (5)를 이용하여 각 영역마다 가중치 예측 계수를 따로 유도하고(2nd derivation of WP coefficients) 슬라이스 헤더를 통해 영역마다 유도된 계수들을 전송한다. 그 후, PU마다 가중치 예측 인덱스가 추가된다(New WP for GBV). GBV가 존재하지 않는 것으로 판단되었다면 LBV를 위한 가중치 예측이 수행된다. 이때 사용되는 계수는 초기 가중치 예측 계수가 사용되며 PU마다 가중치 예측 플래그가 추가되어 가중치 예측이 사용되었는지 여부를 알려준다(WP for LBV).

 

Ⅳ. 실험 결과

실험은 HEVC 버젼1의 마지막 참조 소프트웨어인 HM 10.0 에 구현을 하였으며, Lowdelay_P의 메인 프로파일을 사용하였다. 참조 영상은 1장을 사용 하였으며 실험에 사용되는 영상들은 GBV와 LBV를 전부 포함하고 있는 Mobisode1과 Mobisode2를 사용하였다. 이 두 영상들을 GBV와 LBV가 존재하는 장면들로 나누어 5개의 영상으로 분할 하였다. 표 1에 이와 관련된 세부 사항들이 있다[9]. T1는 3으로 설정하였으며 그 외 조건들은 JCT-VC의 공통 실험 조건인 [10]을 사용하였다.

표 1.실험에 사용된 영상들의 세부 사항들 Table 1. Details of sequences for simulation

표 2는 종래의 기술인 그림 3의 “WP for GBV”만을 이용한 가중치 예측 기술의 성능을 나타내고 있다. 종래의 기술은 GBV가 존재하는 영상에서 높은 성능이 나온다. Mo1_s1과 Mo2_s2의 모든 QP에서 Bitrate가 모두 감소하고 PSNR이 두드러지게 증가하는 것을 확인할 수 있다. 그 중에서도 특히 Mo1_s2에서는 BD-rate기준 24%에 달하는 성능 향상이 나타난다. 하지만 LBV가 존재하는 Mo1_s3, Mo2_s1, Mo2_s2에서는 Mo1_s1, Mo2_s2과는 다르게 성능이 미미하고 특히 Mo2_s1에서는 성능이 급격히 떨어지는 것을 확인할 수 있다.

표 2.실험 결과 (HM without WP vs WP for GBV) Table 2. Result of simulation (HM without WP vs WP for GBV)

표 3은 그림 3의 “WP for GBV” 대비 “WP for GBV +New WP for GBV”의 성능을 나타내고 있다. 영상 전체에 움직임이 존재하여 대부분의 영상에서 영역 구분이 되지 않는 Mo1_s1 의 경우 종래의 가중치 예측 기술과 비교하여 성능차이가 거의 없음을 알 수 있다. 반면에 움직임의 구분이 가능하며 GBV가 존재하는 Mo1_s2의 경우 모든 QP에 걸쳐서 Bitrate가 감소하고 PSNR이 증가하는 것으로 보아 움직임을 구분하여 다수의 가중치 예측 계수를 사용하는 기술이 효율적임을 확인할 수 있다. Mo1_s3과 Mo2_s2의 경우 LBV가 존재하지만 밝기 변화가 상대적으로 넓은 지역에서 일어나서 가중치 예측이 사용되는 것으로 판단이 되었고, 움직임의 구분이 가능하며 구분된 각 영역마다 밝기 변화가 발생하여 성능 향상이 이뤄짐을 알 수 있다. Mo2_s2의 경우 움직임이 구분 되지만 좁은 영역에서만 밝기 변화가 일어나기 때문에 “WP for GBV”와 “New WP for GBV”가 거의 선택되지 않으며 선택이 된 경우에도 PU마다 3개의 인덱스를 할당하는 것 때문에 효율 저하가 발생하게 된다.

표 3.실험 결과 (WP for GBV vs WP for GBV + New WP for GBV) Table 3. Result of simulation (WP for GBV vs WP for GBV + New WP for GBV)

표 4는 그림 3의 “WP for GBV” 대비 “WP for GBV +New WP for GBV +WP for LBV”의 성능을 나타내고 있다. Mo1_s1의 경우 GBV를 가지고 있지만 영상 전체에 걸친 강한 움직임으로 인하여, uncovered background에 의한 부정확한 가중치 예측 계수가 유도 되어 가중치 예측으로 선택되지 않는 참조 영상들이 존재한다. 하지만 GBV가 존재하기 때문에 가중치 예측을 수행하지 않는다면 손해가 발생하게 된다. 이런 경우, PU 마다 가중치 예측 플래그를 사용하여 가중치 예측의 사용여부를 결정하게 함으로서 상기 언급한 경우의 손해를 최소화 할 수 있다. 대부분의 참조 영상에서 GBV를 위한 가중치 예측이 선택되는 Mo1_s2의 경우 표 3과 비교하여 성능의 차이가 거의 존재하지 않으며, LBV가 주로 포함되어 있는 Mo1_s3, Mo2_s1, Mo_s3에서 매우 높은 성능이 나오는 것을 확인할 수 있다.

표 4.실험결과(WP for GBV vs WP for GBV + New WP for GBV + WP for LBV) Table 4. Result of simulation (WP for GBV vs WP for GBV + New WP for GBV + WP for LBV)

제안하는 알고리즘은 가중치 예측 인덱스 혹은 플래그가 추가 됨에 따라 그만큼 RDO를 더 수행하게 됨으로 인코더의 복잡도는 증가하게 된다. 표 4의 실험 결과로서 디코더의 복잡도는 101%증가로 거의 변화가 없지만, 인코더의 복잡도는 163%증가하게 된다.

 

Ⅴ. 결 론

본 논문에서는 가중치 예측을 이용한 화면 간 예측시에 효율적으로 가중치 예측 계수를 적용하는 알고리즘을 제안하였다. 제안된 알고리즘은 GBV가 존재하는 영상을 위해 2가지 가중치 예측 기술을 사용하고 LBV가 존재하는 영상을 위해 가중치 예측을 PU마다 조정하는 방법으로 기존 HM 참조 소프트웨어의 가중치 예측 알고리즘과 비교시 BD-rate기준 최소 –0.6%에서 최대 –10.2%까지 효율이 나옴을 확인할 수 있다. 추후 연구로는 제안된 알고리즘이 휘도 성분에서는 좋은 성능을 보이는 방면 경우에 따라 색차 성분에서는 BD-rate의 손실이 발생하는 경우를 보여주고 있다. 따라서 색차 성분에서도 BD-rate의 손실을 감소시키는 형태로 확장하는 연구가 필요하다.

References

  1. B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, Y.-K. Wang, T. Wiegand, "High Efficiency Video Coding (HEVC) text specification draft 10" document JCTVC-L1003, ITU-T/ISO/IEC Joint Collaborative Team on Video Coding (JCT-VC), Jan. 2013
  2. A. Tanizawa, T. Chujoh, T. Yamakage, "Explicit Weighted Prediction with simple WP parameter estimation", document JCTVC-F326, ITU-T/ISO/ IEC Joint Collaborative Team on Video Coding (JCT-VC), July. 2011
  3. H. Aoki and Y. Miyamoto, "An H.264 weighted prediction parameter estimation method for fade effects in video scenes," in Proc. IEEE Int. Conf. Image Process., Oct. 2008, pp. 2112-2115.
  4. K. Kamikura, H. Watanabe, H. Jozawa, H. Kotera, and S. Ichinose, "Global brightness-variation compensation for video coding," IEEE Trans. Circuits Syst. Video Technol., vol. 8, no. 2, pp. 988-1000, Dec. 1998. https://doi.org/10.1109/76.736731
  5. Y. Shen, D. Zhang, C. Huang, and J. Li, "Adaptive weighted prediction for video coding," in Proc. IEEE Int. Conf. Multimedia Expo, vol. 1. Jun. 2004, pp. 427-430.
  6. P. Yin, A. M. Tourapis, and J. Boyce, "Localized weighted prediction for video coding," in Proc. IEEE Int. Symp. Circuits Syst., vol. 5. May. 2005, pp. 4365-4368.
  7. N. Sprljan and L. Cieplinski, "Macroblock-level weighted prediction," document M16969, ISO/IEC JTC1/SC29 /WG11, Xian, China, Oct. 2009.
  8. A. Kaup, T Aach, "Efficient prediction of uncovered background in interframe coding using spatial extrapolation" in Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Process., Apr. 1994, pp. 501-504
  9. Sik-Ho Tsang, Yui-Lam Chan, Wan-Chi Siu, “Region-Based Weighted Prediction for Coding Video With Local Brightness Variations” IEEE Trans. Circuits Syst. Video Technol., vol. 23, no. 3, pp. 549-561, Mar. 2013 https://doi.org/10.1109/TCSVT.2012.2210802
  10. F. Bossen, "Common HM test conditions and software reference configurations" document JCTVC-L1100, ITU-T/ISO/IEC Joint Collaborative Team on Video Coding (JCT-VC), Jan. 2013