원래 SHM에서는 기본 계층 (base layer, BL)에 대한 코딩을 먼저 진행한 후, 향상 계층 (enhanced layer, EL)에 대한
코딩을 진행한다. 또한, SHM에서는 EL에 대한 코딩을 진행할 때, 인트라 모드를 먼저 검사하고, 그 다음에 ILRP (inter-layer reference
prediction) 모드를 검사하도록 되어 있다 (3-6). 그러나, 주지하는 바와 같이, ILRP 모드는 인트라 모드에 비해 최적 모드로 선택될 확률이 훨씬 높다. 한편, ILRP 모드를 검사하는 데 필요한
시간에 비하여 인트라 모드를 검사하는 데 필요한 시간은 훨씬 더 크다 (8,14). 따라서, 제안하는 방법에서는 ILRP 모드에 대한 검사는 항상 정상적으로 수행하지만, 인트라 모드의 경우, 검사 과정 중 일부를 효과적으로 생략하여
연산 복잡도를 감소시키고자 한다. 이를 위하여 제안하는 방법에서는 검사 순서를 변경하여 (인트라 모드보다) ILRP 모드를 먼저 검사하고, 인트라
모드를 검사할 때에는 ILRP 모드에서 얻은 정보를 사용하여 원래의 인트라 모드 검사 과정 중 일부를 효과적으로 생략하는 방식을 사용하고자 한다.
한편, 제안 방식에서는 4개의 인트라 모드 검사 과정 중에서 RMD 과정에서의 검사 시간과 RDO 과정에서의 검사 시간을 각각 감소시키는 방법을 제안하고자
한다. 이에 2.1절에서는 RMD 후보 선정에 대한 제안 알고리즘을 설명하고, 2.2절에서는 RDO 후보 선정에 대한 제안 알고리즘을 설명하고자 한다.
2.1 Proposed Method for RMD Process
우선, 그림 2를 살펴 보자. 그림에서 블록 $X$는 현재 처리해야 할 블록을 나타내고, 블록 $A$, $B$, $C$는 각각 (현재 블록 대비) 왼쪽 상단 블록,
상단 블록, 왼쪽 블록을 나타낸다. 한편, $X_{ij}$는 $i$번째 행과 $j$번째 열에 있는 픽셀의 밝기 값을 나타내며, 여기서 밝기 값은 0부터
255 사이의 값을 갖는다. 또한, 그림에서 숫자 $N$은 CU의 크기를 나타내며, SHVC에서 $N$은 64, 32, 16 또는 8이 될 수 있다.
이 때, 공간적 상관 관계 때문에 $B_{Nj}$와 $X_{1j}$가 서로 동일하거나 매우 유사할 가능성이 매우 높을 것임을 예상할 수 있다 ($j
=$1, 2, ..., $N$). 그러나, $B_{Nj}$와 $X_{Nj}$는 서로 그다지 가깝지 않으며 (특히, $N$이 큰 경우), 현재 블록이
주로 수직선 형태의 이미지로 구성되어 있을 때에만 서로 비슷할 것임을 예상할 수 있다. 이는 다음과 같은 average absolute difference
(AAD) 값이 그림 1의 $m_{26}$ 모드가 예측 모드로서 적절한 지 아닌 지 여부를 판단할 수 있는 좋은 척도가 될 수 있다는 것을 의미한다.
즉, $AAD_{v ertical}$ 값이 어떤 임계값보다 크다면 $m_{26}$ 모드가 적절한 예측 모드가 아닐 확률이 높으며, 따라서, $m_{26}$
모드에 대한 검사를 생략하는 것이 효율적이라는 의미이다. 마찬가지로 $m_{10}$ 모드에 대한 검사 여부를 결정하기 위해 다음의 AAD 값을 사용할
수 있다.
위의 설명에서 보인 바와 같이, 식 (1), (2)에서 정의한 두 개의 AAD 값을 사용하면 2개의 인트라 모드를 선택적으로 생략할 수 있지만, 그림 1에서 볼 수 있듯이, 35가지의 인트라 모드 중에서 두 개의 인트라 모드 (즉, $m_{26}$과 $m_{10}$ 모드)를 생략하는 것만으로는 인코딩
시간을 획기적으로 감소시킬 수 없다. 따라서, 제안 방법에서는 위에서 설명한 방법과 약간 다른 방법을 사용한다. 즉, 제안하는 방법에서는 다음과 같은
absolute difference of averages (ADA) 값을 사용하여 $m_{22}$, $m_{23}$, ..., $m_{30}$과 같은
수직 방향 인트라 모드들에 대한 검사 여부를 결정한다.
참고로, $m_{26}$ 모드에 대한 검사 여부만 결정하고자 할 경우, 식 (3)의 $AAD_{v ertical}$ 지표보다 식 (2)의 $ADA_{v ertical}$ 지표가 더 좋은 지표가 될 것임을 예상할 수 있다. 그러나, $AAD_{v ertical}$ 의 경우, $m_{26}$
모드에 대한 검사 여부에만 유용한 반면, $ADA_{v ertical}$ 지표의 경우, $m_{26}$ 모드 뿐만이 아니라 $m_{22}$~$m_{25}$
및 $m_{27}$~$m_{30}$과 같은 다른 수직 인트라 모드에 대한 검사 여부를 결정할 때에도 유용하게 사용할 수 있기 때문에 제안하는 방법에서는
$AAD_{v ertical}$ 대신 $ADA_{ver tical}$를 사용한다. 참고로, 영상의 제일 위쪽에 위치한 블록들의 경우, 대응하는 상부
블록 (즉, 그림 2의 B 블록)이 존재하지 않기 때문에 식 (3)의 $ADA_{v ertical}$을 계산할 수 없다. 이 문제를 해결하기 위하여 제안 알고리즘에서는 공간적으로 매우 인접한 $B_{Nj}$와 $X_{1j}$의
값이 대개 매우 비슷함에 착안하여 $ADA_{ve rtical}$ 지표 대신 다음과 같이 정의하는 $ADA_{v ert}$ 지표를 사용한다.
한편, 제안하는 방법에서는 $ADA_{ver t}$ 외에 다음의 세 가지 ADA 지표도 사용한다.
예상할 수 있는 바와 같이, $ADA_{hori}$ 지표는 $m_{6}$~$m_{14}$ 모드 검사 여부를 결정하기 위해 사용되고, $ADA_{\text{diag_(-45)}}$
지표는 $m_{14}$~$m_{22}$ 모드를 위해서 사용되며, $ADA_{\text{diag_(45)}}$ 지표는 $m_{2}$~$m_{6}$ 모드와
$m_{30}$~$m_{34}$ 모드를 위해서 사용된다. 조금 더 정확하게 말하자면, RMD 과정에서 다음과 같은 조건이 충족될 경우, 해당 인트라
모드에 대한 검사를 생략한다.
식 (8)~(11)에서 $Th_{v ert}$, $Th_{hori}$, $Th_{\text{diag_(-45)}}$, $Th_{\text{diag_(45)}}$는 인코딩
시간 및 화질 성능을 종합적으로 고려하여 적절하게 결정해야 하는 임계값이다. 즉, 이 값들이 작을수록 더 많은 수의 인트라 모드 검사가 생략되기 때문에
인코딩 복잡도는 감소하지만, 동시에 화질 열화도 커지게 되며, 반대로 이 값들이 클수록 화질 열화는 작지만, 동시에 인코딩 복잡도 감소 효과 역시
크지 않게 된다. 한편, 제안 방법에서는 (방향성 뿐만이 아니라) CU 블록의 크기에 따라서도 서로 다른 임계값을 사용한다. 참고로, 본 논문에서는
다양한 시뮬레이션을 진행하여 ILRP 모드와 인트라 모드가 최적 모드로 선택되는 확률이 CU 블록의 크기에 따라 크게 상이한 결과가 나오는 것을 확인하였다.
표 1은 ILRP 모드와 인트라 모드가 최적 모드로 선택될 확률을 보여준다.
표 1로부터 CU 블록의 크기가 증가함에 따라 인트라 모드가 최적의 모드로 선택될 확률이 감소하는 것을 알 수 있다. 이러한 결과는 인접해 있는 두 픽셀
사이의 거리가 증가할수록 두 픽셀 사이의 공간적 상관 관계가 감소한다는 사실에 서 비롯된다. 가령, $m_{26}$ 모드를 살펴보자. $m_{26}$
모드에서 (모든 $j$에 대하여) $X_{1j}$, $X_{2j}$, ..., $X_{Nj}$에 대한 예측 값은 모두 $B_{Nj}$가 된다. 그런데,
$i$의 값이 작을 경우, $X_{ij}$와 $B_{Nj}$는 공간적으로 근접해 있으므로 $X_{ij}$와 $B_{Nj}$의 값이 서로 같거나 또는
매우 비슷할 확률이 매우 높지만, $i$의 값이 클 경우, $X_{ij}$와 $B_{Nj}$는 공간적으로 떨어져 있으므로 $X_{ij}$와 $B_{Nj}$의
값이 서로 상당히 다를 가능성이 매우 높다. 즉, $i$의 값이 클 경우, $B_{Nj}$는 더 이상 $X_{ij}$에 대한 좋은 예측 값이 되지
않음을 알 수 있으며, 따라서, CU 크기가 클 경우, 인트라 모드의 예측 정확도는 감소하게 된다. 따라서, 제안하는 방법에서는 이러한 결과를 반영하기
위하여 서로 다른 CU 블록 크기에 대해 서로 다른 임계값을 사용한다.
표 1. CU 크기 별 (ILRP 모드와 인트라 모드의) 최적 모드 선택 확률
Table 1. Probability that the best mode is [the ILRP mode] or [one of intra modes]
CU Size
|
64×64
|
32×32
|
16×16
|
8×8
|
평균
|
Probability that the best mode is the ILRP mode
|
91.2%
|
85.4%
|
78.1%
|
70.3%
|
81.3%
|
Probability that the best mode is an intra mode
|
8.8%
|
14.6%
|
21.9%
|
29.7%
|
18.7%
|
주지하는 바와 같이, 35개의 인트라 모드 중에서 일반적인 방향 모드가 아닌 $m_{0}$와 $m_{1}$ 모드는 최적 모드로 선택될 확률이 가장
높은 모드들이며, 따라서, 이 2개의 모드는 항상 검사 목록에 포함한다. 즉, RMD 과정에서 검사하는 인트라 모드의 집합을 Ω1이라고 하면, Ω1은
항상 $m_{0}$와 $m_{1}$ 모드를 포함한다. 한편, 전술한 바와 같이, 제안하는 방법에서는 식 (8)~(11)의 4가지 조건을 검사한 후, 전체 인트라 모드 중 일부 모드에 대한 RMD 검사를 생략한다. 가령, 식 (8)~(11) 중에서 식 (8)~(10)의 조건은 만족하고, 식 (11)의 조건을 만족하지 않을 경우, RMD 과정에서 검사해야 하는 Ω1은 {$m_{0}$, $m_{1}$, $m_{22}$, $m_{23}$, ...,
$m_{30}$}이 된다. 한편, 식 (8)~(11)의 조건을 모두 만족할 경우, RMD 과정에서 검사해야 하는 인트라 모드의 집합 Ω1은 $\left\{m_{0},\: m_{1}\right\}$이
된다. 제안 방법은 RMD 단계에서 여러 인트라 모드에 대한 검사를 생략함으로써 계산 복잡도를 효율적으로 감소시키지만, 그에 따르는 성능 저하는 상당히
작은 편이다. 표 2는 RMD 단계에서 검사하는 인트라 모드 수의 평균과 에러 확률을 CU 크기 별로 보여 주고 있다.
표 2. RMD 과정에서 검사하는 인트라 모드 수의 평균 및 에러 확률
Table 2. Average number of modes examined in the RMD process and the average miss
rate
CU Size
|
64×64
|
32×32
|
16×16
|
8×8
|
평균
|
Average number of modes examined in RMD step
|
19.2
|
21.5
|
22.4
|
22.1
|
21.3
|
Average miss rate
|
3.0%
|
3.4%
|
3.3%
|
3.5%
|
3.3%
|
참고로, 에러 확률은 다음과 같이 정의하며, 에러 CU는 원본 SHM에서의 최적 모드와 제안하는 방법에 의한 최적 모드가 다른 결과가 나오는 경우의
CU를 의미한다.
표에서 볼 수 있듯이, 제안하는 알고리즘의 RMD 과정에서 검사해야 하는 인트라 모드의 수는 평균 21.3으로 전체 35개의 인트라 모드의 수에 비해
60.9% 밖에 되지 않으나, miss rate는 3.3%로 매우 작음을 알 수 있다.
2.2 Proposed Method for RDO Process
원본 SHM의 경우, RDO 과정을 진행할 때, 3개 또는 8개의 RMD 모드를 RDO 검사 후보에 포함시킨다. 즉, RDO 과정에서 검사하는 인트라
모드의 집합을 Ω2라고 하면, 64×64, 32×32, 16×16 CU 블록에 대해서는 3개의 RMD 모드를 Ω2에 포함시키고, 8×8 CU 블록에
대해서는 8개의 RMD 모드를 Ω2에 포함시킨다. 즉, RMD 과정 진행 후 Hadamard RD cost가 $n$번째로 작은 모드를 $m_{\text{R
MD_n}}$이라고 할 경우, 8×8 CU의 경우, $m_{\text{R MD_1}}$, $m_{\text{R MD_2}}$, ..., $m_{\text{R
MD_8}}$ 모드를 Ω2에 포함시킨다. 반면, 제안하는 방법에서는 원본 SHM에 비해 더 작은 수의 RMD 후보를 사용하는 대신 다른 형태의 중요한
후보를 RDO 검사 후보 집합인 Ω2에 포함시킨다. 우선, 제안 방법의 경우, 64×64, 32×32, 16×16 CU 블록에 대해서는 최대 2개의
RMD 모드 (즉, $m_{\text{R MD_1}}$ $m_{\text{R MD_2}}$ 모드)를 Ω2에 포함시키고, 8×8 CU 블록에 대해서는
최대 5개의 RMD 모드 (즉, $m_{\text{R MD_1}}$, $m_{\text{R MD_2}}$, ..., $m_{\text{R MD_5}}$
모드)를 Ω2에 포함시킨다. 단, 연산 복잡도를 낮추기 위하여 $m_{\text{R MD_1}}$을 제외한 나머지 RMD 모드들의 경우, 다음의 조건을
만족하는 경우에만 Ω2에 포함시킨다.
참고로, 식 (13)에서 RD_costRMD_n은 mRMD_n 모드의 RD cost를 의미하며, $\alpha(\alpha >1)$는 연산 복잡도와 성능을 종합적으로
고려하여 결정해야 하는 매개 변수이다. 즉, $\alpha$의 값이 클수록 더 많은 수의 인트라 모드를 검사하게 되고, 결과적으로 화질 성능은 좋아지나,
동시에 인코딩 시간도 증가하게 된다. 한편, 다양한 시뮬레이션을 진행한 결과, 본 논문에서는 EL에서의 최적 인트라 모드가 BL에서의 최적 인트라
모드와 매우 높은 상관 관계를 가지고 있음을 확인하였다. 따라서, 제안 방법의 경우, 64×64, 32×32, 16×16 CU 크기에 대해서는 최대
2개의 BL 모드 (즉, $m_{\text{BL_1}}$, $m_{\text{BL_2}}$ 모드)를 Ω2에 포함시키고, 8×8 CU 크기에 대해서는
최대 3개의 BL 모드 (즉, $m_{\text{BL_1}}$, $m_{\text{BL_2}}$, $m_{\text{BL_3}}$ 모드)를 Ω2에
포함시킨다. (참고로, $m_{\text{BL_n}}$은 BL에서 RD cost가 $n$번째로 작은 모드를 의미한다). 한편, RMD 후보의 경우와
마찬가지로, $m_{\text{BL_1}}$을 제외한 나머지 BL 모드들의 경우, 다음의 조건을 만족하는 경우에만 Ω2에 포함시킨다.
마지막으로 제안하는 방법에서는 다음의 방법을 사용하여 공간적으로 상관 관계가 높은 인트라 모드를 추가한다. 즉, $m_{L}$ 모드가 $m_{U}$
모드와 같고, 그 모드가 Ω1에 속하는 경우, 그 인트라 모드를 Ω2에 추가한다 (참고로, $m_{L}$ 모드는 좌측 블록의 최적 모드를 의미하고,
$m_{U}$ 모드는 상단 블록의 최적 모드를 의미한다). 편의상, 이 공간적 상관 모드를 $m_{MPM}$ 이라고 부르기로 한다. 결국, 제안 방법의
RDO 후보 집합 목록 Ω2의 경우, 64×64, 32×32, 16×16 CU 블록에서는 최대 5개의 모드 (즉, 2개의 RMD 모드, 2개의 BL
모드, 1개의 MPM 모드)를 포함할 수 있고, 8×8 CU 블록에서는 최대 9개의 모드 (즉, 5+3+1개의 모드)를 포함할 수 있다.
그러나, 다음과 같은 이유로 인해 실제로 RDO 과정에서 검사해야 하는 인트라 모드의 수는 대개의 경우 이보다 훨씬 작다. 우선, $m_{\text{R
MD_1}}$을 제외한 나머지 RMD 모드들의 경우, 식 (13)을 만족하는 경우에만 Ω2에 포함되고, $m_{\text{BL_1}}$을 제외한 나머지 BL 모드들의 경우, 식 (14)를 만족하는 경우에만 Ω2에 포함된다. 또한, 3가지 후보군 (즉, RMD 모드들, BL 모드들, MPM 모드) 내에서 서로 중복되는 모드가 발생할
수 있다. 가령, $m_{BL2}$와 $m_{MPM}$이 서로 같을 수도 있고, $m_{R MD 2}$와 $m_{BL1}$이 서로 같을 수도 있는데,
이렇게 중복되는 모드들이 발생하는 경우, 실제 검사해야 하는 모드들의 수는 감소하게 된다. 마지막으로, 제안 방법에서는 다음과 같이 Ω2에 속한 여러
개의 모드들 중에서 1개 모드에 대한 검사만 실시할 수도 있다. 우선, 제안 방법에서는 Ω2에 속한 여러 개의 모드들 중에서 최적 모드로 선택될 확률이
가장 높은 $m_{\text{BL_1}}$에 대한 RDO 검사를 제일 먼저 실시한다. 한편, 앞에서 설명한 바와 같이, 인트라 모드와 ILRP 모드
중에서 ILRP 모드가 최적 모드로 선택될 확률이 훨씬 더 높다. 따라서, $m_{\text{BL_1}}$에 RDO 검사를 실시한 이후, 그 모드에
대한 RD cost가 ILRP 모드에 대한 RD cost보다 훨씬 클 경우, Ω2에 속한 다른 모드들의 RD cost가 ILRP 모드에 대한 RD
cost보다 낮을 확률은 매우 낮기 때문에 $m_{\text{BL_1}}$을 제외한 잔여 모드들에 대한 검사를 생략할 수 있다. 즉, 다음 조건을
만족할 경우, Ω2에서 $m_{\text{BL_1}}$을 제외한 잔여 모드들에 대한 검사를 생략한다.
위와 같은 이유들로 인해 제안 방법의 RDO 과정에서 실제로 검사해야 하는 인트라 모드의 수는 매우 작으며, 앞서 설명한 바와 같이 RMD 과정에서
검사해야 하는 인트라 모드의 수도 매우 작기 때문에 원본 SHM에 비하여 훨씬 낮은 인코딩 시간을 갖게 된다. 이에 다음 절에서는 시뮬레이션 결과를
통해 제안 알고리즘의 인코딩 시간과 화질 성능에 대해 보다 자세히 설명하고자 한다.