KR101754500B1 - 인트라 모드 결정 방법 및 장치 - Google Patents

인트라 모드 결정 방법 및 장치 Download PDF

Info

Publication number
KR101754500B1
KR101754500B1 KR1020150175803A KR20150175803A KR101754500B1 KR 101754500 B1 KR101754500 B1 KR 101754500B1 KR 1020150175803 A KR1020150175803 A KR 1020150175803A KR 20150175803 A KR20150175803 A KR 20150175803A KR 101754500 B1 KR101754500 B1 KR 101754500B1
Authority
KR
South Korea
Prior art keywords
mode
intra
chroma
modes
mode determination
Prior art date
Application number
KR1020150175803A
Other languages
English (en)
Other versions
KR20170069328A (ko
Inventor
유성욱
박병길
홍승범
양동준
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020150175803A priority Critical patent/KR101754500B1/ko
Publication of KR20170069328A publication Critical patent/KR20170069328A/ko
Application granted granted Critical
Publication of KR101754500B1 publication Critical patent/KR101754500B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

인트라 모드 결정 방법 및 장치가 개시된다. 인트라 모드 결정 방법은 HEVC(High Efficiency Video Coding)에서 지원하는 복수의 인트라 모드 중 우선적으로 다이렉트 모드를 검사하는 단계, 다이렉트 모드의 CBF(coded block flag) 가 0이고, 다이렉트 모드가 좌측 블록(left block)의 베스트 크로마 모드나 상부 블록(upper block)의 베스트 크로마 모드와 동일한 제1 조건을 만족하는지 여부를 판단하는 단계 및 제1 조건을 만족하는 경우, 나머지 모드의 검사는 건너 뛰고 종료하는 단계를 포함한다.

Description

인트라 모드 결정 방법 및 장치{Apparatus and method for Intra Mode Decision}
본 발명은 고효율의 비디오 코딩에 관한 것으로서, 보다 상세하게는 고효율의 비디오 코딩을 위한 인트라 모드 결정 방법 및 장치에 관한 것이다.
최신의 비디오 코딩 표준인 고효율의 비디오 코딩(HEVC: High Efficiency Video Coding)은 여러 개의 새로운 코딩 도구를 사용한다. 이 새로운 코딩 도구는 쿼드 트리 구조의 코딩 유닛(CU: coding units), 다양한 타입의 예측 유닛(PU: prediction units) 및 다양한 사이즈의 변환 유닛(TU: transform units)을 포함한다. 인트라 예측(intra-prediction)을 위하여, HEVC는 35개의 모드를 지원하는 반면에, H.264/AVC는 오직 9개(또는 4개)의 모드를 지원한다.
HEVC 레퍼런스 소프트웨어인 HM(HEVC test model)에서의 인트라 예측 절차는, RMD(rough mode decision) 단계, MPM(most probable mode) 선택 단계, RDO(rate-distortion optimization)에 기반한 베스트 모드 선택 단계 및 RQT(residual quad-tree transform) 단계의 4 단계로 구성된다.
RMD 단계에서, HM은 35개 인트라 예측 모드 각각에 대하여 하다마르 코스트(H-cost: Hadamard cost)를 계산한다. 그런 다음, HM은 H-cost값이 가장 낮은 후보 모드를 여러 개 선택한다. MPM 단계에서, 공간적 상관관계를 가지는 모드 몇 개가 후보 모드 리스트에 더 추가된다. RDO 단계에서, RMD 및 MPM 후보 모드 각각에 대한 RD 코스트가 계산되고, 가장 낮은 RD 코스트를 가지는 모드가 베스트 인트라 예측 모드로 선택된다. 최종적으로, 베스트 TU 사이즈는 RQT 단계에서 결정된다.
HEVC 인트라 예측의 코딩 복잡도를 감소시키기 위한 많은 고속 알고리즘이 제안되어 왔다. 몇몇 고속 알고리즘들은 RMD 단계에서 검사(examine)되는 모드 개수를 감소시켜 35개의 모드 중 오직 몇 개만이 검사된다.
예를 들어, Fini와 Zargari의 알고리즘("A fast intra mode decision method based on reduction of the number of modes in HEVC standard," IEEE Int. Symp. Telecommunications, 2014, pp.839-843)은 RMD 단계에서 단지 19개의 모드를 검사한다. 그런 다음, 사전에 검사되었던 17개의 앵귤러(angular) 모드의 H-cost값으로부터 나머지 모드의 H-cost값을 간접적으로 획득한다. Yao, Li 및 Lu("Fast intra mode decision algorithm for HEVC based on dominant edge assent distribution," Multimedia Tools and Applications, pp. 1-19, Nov. 2014)는 각 PU의 도미넌트 방향(dominant direction)을 찾기 위하여 DEA(dominant edge assent)를 계산하고, RMD 검사에 필요한 모드를 결정하기 위하여 DEA를 이용한다. 또한, Liu, Liu 및 Shao의 알고리즘("Fast intra-mode decision algorithm for HEVC based on texture direction," IEEE Int. Conf. on Computational Science and Engineering, 2014, pp. 1047-1050)은 각 PU의 텍스처(texture) 분석을 통해 도미넌트 방향을 찾고, RMD 검사에서 모드의 개수를 제한한다. Zhang과 Ma("Fast intra mode decision for high efficiency video coding (HEVC)," IEEE Trans. Circuits Syst. Video Tech., vol. 24, no. 4, pp. 660-668, Apr. 2014)는 프로그레시브 러프 모드 검색 방법(progressive rough mode search method)을 제안하였다. 이 방법은, 동일한 간격을 가지는 9개의 모드들을 초기에 확인하고, 계속적으로 이웃 모드들을 더 추가한다. 이러한 고속 RMD 알고리즘이 코딩 복잡도를 감소시키는 것을 지원함에도 불구하고, 전체적인 효과는 미미하다. 왜냐하면, RMD 단계는 전체 인트라 예측 절차의 단지 작은 부분을 차지하기 때문이다(시뮬레이션 결과에 따르면, RMD 단계는 4개의 인트라 예측 단계들의 총 인코딩 복잡도의 12.4%만을 차지함).
그래서, 대부분의 고속 인트라 예측 방법들은 RDO 단계에서 검사되는 모드의 개수를 감소시키는데 초점이 맞춰져 있다.
예를 들어, Shen, Zhang 및 An의 알고리즘("Fast CU size decision and mode decision algorithm for HEVC intra coding," IEEE Trans. Consumer Electronics, vol. 59, no. 1, pp. 207-213, Feb. 2013)은 RD 코스트가 임계값을 초과하는 모드를 건너 뛴다. 이 모드는 부모 CU와 이웃 블록의 RD 코스트에 의하여 결정된다. Kim, Jun, Jung, Choi 및 Kim의 고속 RDO 알고리즘("A fast intra-prediction method in HEVC using rate-distortion estimation based on Hadamard transform," ETRI Journal, vol.35, no. 2, pp.270-280, Apr. 2013)은 첫번째 RMD 모드의 H-cost가 다른 RMD 모드들보다 매우 낮은 경우, 오직 첫번째 RMD 모드만을 검사한다. Zhang 및 Ma와 Gan, Zhao 및 Zhang의 알고리즘("Fast intra mode decision for high efficiency video coding (HEVC)," IEEE Trans. Circuits Syst. Video Tech., vol. 24, no. 4, pp. 660-668, Apr. 2014, "Fast algorithm with early termination CU split and mode decision," Int. Journal of Control and Automation, vol. 8, no. 2, pp. 83-94, Feb. 2015)은 처음의 두 RMD 모드를 확인하고, 처음의 두 RMD 모드와 가까이 이웃하는 모드를 건너 뛴다. Zhu, Zhao 및 Li의 알고리즘("Adaptive fast intra prediction for high efficiency video coding," Multimedia Tools and Applications, pp. 1-15, May 2015)은 RDO 단계에서 검사되는 모드를 결정하기 위하여 SAD(sum of absolute difference)값과 SATD(sum of absolute Hadamard transformed difference)값 둘 다를 사용한다.
본 발명은 크로마 컴포넌트(chroma components)를 고려한 HEVC를 위한 인트라 모드 결정 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명은 크로마 컴포넌트에 대하여, 검사 순서를 변경하고 공간적 상관관계(spatial correlation) 및 CBF(coded block flag) 정보를 효율적으로 사용하는 HEVC를 위한 인트라 모드 결정 방법 및 장치를 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 크로마 컴포넌트(chroma components)에 대하여 인트라 모드 결정 장치가 수행하는 인트라 모드 결정 방법이 개시된다.
본 발명의 실시예에 따른 인트라 모드 결정 방법은 HEVC(High Efficiency Video Coding)에서 지원하는 복수의 인트라 모드 중 우선적으로 다이렉트 모드를 검사하는 단계, 상기 다이렉트 모드의 CBF(coded block flag) 가 0이고, 상기 다이렉트 모드가 좌측 블록(left block)의 베스트 크로마 모드나 상부 블록(upper block)의 베스트 크로마 모드와 동일한 제1 조건을 만족하는지 여부를 판단하는 단계 및 상기 제1 조건을 만족하는 경우, 나머지 모드의 검사는 건너 뛰고 종료하는 단계를 포함한다.
상기 다이렉트 모드는 상기 크로마 컴포넌트의 블록에 상응하는 루마 컴포넌트(luma components)의 블록의 베스트 인트라 모드이다.
상기 복수의 인트라 모드는 플래너(planar) 모드, DC 모드 및 앵귤러(angular) 모드를 포함한다.
상기 우선적으로 다이렉트 모드를 검사하는 단계는, 상기 크로마 컴포넌트에 대한 인트라 모드 예측 시에 검사되는 복수의 크로마 예측 모드 중 상기 다이렉트 모드를 우선적으로 검사하되, 상기 복수의 크로마 예측 모드는 상기 앵귤러 예측 모드 중 수직, 수평 및 대각 방향의 모드, 상기 플래너 예측 모드 및 상기 DC 예측 모드를 포함한다.
상기 제1 조건을 만족하지 않는 경우, 상기 좌측 블록의 베스트 크로마 모드가 상기 복수의 크로마 예측 모드에 속하면, 상기 좌측 블록의 베스트 크로마 모드를 검사하는 단계, 상기 상부 블록의 베스트 크로마 모드가 상기 복수의 크로마 예측 모드에 속하면, 상기 상부 블록의 베스트 크로마 모드를 검사하는 단계, 상기 다이렉트 모드의 CBF, 상기 좌측 블록의 베스트 크로마 모드의 CBF 및 상기 상부 블록의 베스트 크로마 모드의 CBF 중 적어도 하나가 0인 제2 조건을 만족하는지 여부를 판단하는 단계 및 상기 제2 조건을 만족하는 경우, 종료하는 단계를 더 포함한다.
상기 제2 조건을 만족하지 않는 경우, 나머지 모드들을 검사하고 종료하는 단계를 더 포함한다.
본 발명의 다른 측면에 따르면, 크로마 컴포넌트(chroma components)에 대하여 인트라 모드를 결정하는 인트라 모드 결정 장치가 개시된다.
본 발명의 실시예에 따른 인트라 모드 결정 장치는 명령어를 저장하는 메모리 및 상기 명령어를 실행하는 프로세서를 포함하되, 상기 명령어는, HEVC(High Efficiency Video Coding)에서 지원하는 복수의 인트라 모드 중 우선적으로 다이렉트 모드를 검사하는 단계, 상기 다이렉트 모드의 CBF(coded block flag) 가 0이고, 상기 다이렉트 모드가 좌측 블록(left block)의 베스트 크로마 모드나 상부 블록(upper block)의 베스트 크로마 모드와 동일한 제1 조건을 만족하는지 여부를 판단하는 단계 및 상기 제1 조건을 만족하는 경우, 나머지 모드의 검사는 건너 뛰고 종료하는 단계를 포함하는 인트라 모드 결정 방법을 수행한다.
본 발명에 따른 HEVC를 위한 인트라 모드 결정 방법 및 장치는 크로마 컴포넌트(chroma components)를 고려하며, 크로마 컴포넌트에 대하여, 검사 순서를 변경하고 공간적 상관관계(spatial correlation) 및 CBF(coded block flag) 정보를 효율적으로 사용함으로써, 기존의 인트라 모드 결정 방법과 비교하여 상당히 개선된 성능을 보여줄 수 있다.
도 1은 HEVC(High Efficiency Video Coding)에서의 인트라 예측 모드들을 예시한 도면.
도 2는 본 발명의 실시예에 따른 인트라 모드 결정 방법을 나타낸 도면.
도 3은 본 발명의 실시예에 따른 인트라 모드 결정 방법을 나타낸 흐름도.
도 4는 본 발명의 다른 실시예에 따른 인트라 모드 결정 방법을 나타낸 흐름도.
도 5는 본 발명의 또 다른 실시예에 따른 인트라 모드 결정 방법을 나타낸 흐름도.
도 6은 본 발명의 실시예에 따른 인트라 모드 결정 장치의 구성을 개략적으로 예시한 도면.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다.
도 1은 HEVC(High Efficiency Video Coding)에서의 인트라 예측 모드들을 예시한 도면이고, 도 2는 본 발명의 실시예에 따른 인트라 모드 결정 방법을 나타낸 도면이다.
HEVC 표준은 도 1에 도시된 바와 같이, 35개의 인트라 예측 모드를 지원한다. 예를 들어, 35개의 인트라 예측 모드는 플래너(planar) 예측 모드, DC 예측 모드 및 33개의 앵귤러(angular) 예측 모드일 수 있다. 이하에서는, 발명의 이해와 설명의 편의를 위하여, 35개의 모드를 m0, m1, …,m34로 나타내기로 한다.
도 2를 참조하면, 본 발명의 실시예에 따른 인트라 모드 결정 방법은 RMD(rough mode decision) 단계(S210), MPM(most probable mode) 단계(S220), RDO(rate-distortion optimization) 단계(S230) 및 RQT(residual quad-tree transform) 단계(S240)를 포함한다.
RMD 단계(S210)에서, 인트라 모드 결정 장치는 35개의 인트라 예측 모드에 대하여 각각 하다마르 코스트(H-cost: Hadamard cost)를 산출한다.
예를 들어, H-cost는 하기의 수학식으로 정의될 수 있다.
Figure 112015120998199-pat00001
여기서, SATD는 sum of the absolute transformed difference를 나타내고, Bitpred는 비트 발생을 위한 평가값을 나타낸다. 그리고, λpred는 라그랑지안(Lagrangian) 계수를 나타내며, 하기의 수학식으로 산출될 수 있다.
Figure 112015120998199-pat00002
여기서, QP는 양자화 파라미터(quantization parameter)를 나타낸다.
예를 들어, 인트라 모드 결정 장치는 가장 작은 H-cost값을 가지는 RMD[0], RMD[1], …, RMD[N-1]과 같은 N개의 후보 모드를 선택할 수 있다. 여기서, RMD[n]은 가장 작은 H-cost값을 가지는 n번째 모드를 나타낸다. 그리고, N은 라지(large) PU(prediction units)(예를 들어, 64×64, 32×32 또는 16×16 PU)에서 3이 되는 반면에, 스몰(small) PU(예를 들어, 8×8 또는 4×4 PU)에서는 8이 될 수 있다.
MPM 단계(S220)에서, 인트라 모드 결정 장치는 후보 모드 리스트에 MPM를 더 추가한다. 예를 들어, 후보 모드 리스트에 추가되는 MPM의 개수는 1 또는 2가 될 수 있고, 이웃 블록의 모드 정보에 의하여 결정될 수 있다.
RDO 단계(S230)에서, 인트라 모드 결정 장치는 RMD 모드를 우선 검사하고 뒤이어 MPM을 검사한다.
예를 들어, N개의 RMD 모드는 H-cost의 오름차순으로 검사될 수 있다. 여기서, 몇몇 RMD 모드는 RMD 모드의 세트와 MPM 세트 둘 다에 속할 수 있다. 이하에서는, 발명의 이해와 설명의 편의를 위하여, MPM이 N개의 RMD 모드 중 하나와 일치하는 경우, 이 모드를 공통 모드(common mode)로 칭하여 설명하기로 한다. 1 또는 2개의 MPM은 RDO 단계에서 확인될 수 있기 때문에, 공통 모드의 개수는 0에서 2가 될 수 있고, RDO 단계에서 검사되는 총 모드의 개수는 N에서 N+2가 될 수 있다.
예를 들어, 하기 표 1은 각 PU 사이즈에 대하여 공통 모드의 개수별 확률을 나타낸 시뮬레이션 결과이다.
Number of common modes 64×64
PU
32×32
PU
16×16
PU
Average for large PUs 8×8
PU
4×4
PU
Average for small PUs
0 33.4% 46.2% 43.4% 41.0% 15.3% 11.2% 13.3%
1 53.5% 45.1% 44.9% 47.8% 50.1% 51.7% 50.9%
2 13.0% 8.7% 11.7% 11.2% 34.6% 37.1% 35.8%
라지 PU에서의 N과 스몰 PU에서의 N은 상당히 다르기 때문에, 각각의 경우에 대하여 다른 인트라 모드 결정 방법을 적용하는 것이 효율적이다. 즉, 본 발명의 실시예에 따른 인트라 모드 결정 방법은 라지 PU 및 스몰 PU에 대한 두 경우로 구분될 수 있다. 이러한 본 발명의 실시예에 따른 라지 PU 및 스몰 PU에 대한 인트라 모드 결정 방법은 루마 컴포넌트(luma components)에 대한 것이다. 이에 대하여 이후 도 3 및 도 4를 참조하여 후술하기로 한다. 그리고, 본 발명의 다른 실시예로서, 크로마 컴포넌트(chroma components)에 대한 인트라 모드 결정 방법은 이후 도 5를 참조하여 후술하기로 한다.
도 3은 본 발명의 실시예에 따른 인트라 모드 결정 방법을 나타낸 흐름도이다. 도 3에서는 라지 PU에 대한 인트라 모드 결정 방법에 대하여 설명한다.
S301 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 0인지 여부를 판단한다.
S302 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 0이 아닌 경우, 공통 모드의 개수가 1인지 여부를 판단한다.
S303 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 1이 아닌 경우, 즉 공통 모드의 개수가 2인 경우, 두 공통 모드를 검사한다.
S304 단계에서, 인트라 모드 결정 장치는 RMD[0]가 이미 검사되지 않은 경우, RMD[0]를 검사한다.
공통 모드는 베스트 모드로 선택될 수 있는 비교적 높은 확률을 가지고 있다. 두 개의 공통 모드가 존재하는 경우, 공통 모드 중 하나가 베스트 모드로 선택되는 확률은 훨씬 더 높다. 예를 들어, 하기 표 2에서 보여지는 바와 같이, 라지 PU에 대하여, 공통 모드 중 하나가 베스트 모드로 선택되는 확률은 87.4%이다.
64×64 PU 32×32 PU 16×16 PU Average
Probability 88.5% 86.9% 86.9% 87.4%
그래서, 라지 PU에서 두 공통 모드가 존재할 경우, 두 공통 모드만 검사하고, 공통 모드가 아닌 나머지 하나의 RMD 모드의 검사는 건너 뛰는 것이 가능하다. 하지만, 만약, 공통 모드가 아닌 나머지 하나의 RMD 모드가 RMD[0](RMD[1] 또는 RMD[2] 대신에)인 경우, 베스트 모드를 놓칠 비율이 비교적 높다. 예를 들어, 하기 표 3은 각 RMD 모드가 베스트 모드로 선택되는 확률을 보여준다.
64×64
PU
32×32
PU
16×16
PU
8×8
PU
4×4
PU
RMD[0] 46.7% 51.9% 57.1% 58.3% 65.5%
RMD[1] 22.4% 19.1% 19.4% 15.7% 13.1%
RMD[2] 7.7% 10.6% 10.6% 7.5% 5.9%
RMD[3] 4.6% 3.3%
RMD[4] 3.5% 2.6%
RMD[5] 2.8% 2.2%
RMD[6] 2.3% 1.8%
RMD[7] 1.9% 1.6%
total 76.8% 81.6% 87.6% 96.5% 96.0%
표 3에서 보여지듯이, RMD[0]은 베스트 모드로 선택될 확률이 큰 차이로 가장 높다. 그래서, 라지 PU에서 두 공통 모드가 존재할 경우, 본 발명의 실시예에 따른 인트라 모드 결정 방법은, 공통 모드가 아닌 나머지 하나의 RMD 모드가 RMD[0]이 아닌 경우에 한하여 두 공통 모드만 검사한다.
즉, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, 두 공통 모드가 존재할 경우, 두 공통 모드뿐만 아니라, RMD[0]도 항상 검사한다. 예를 들어, 하기 표 4는 본 발명의 실시예에 따라 라지 PU에서 두 공통 모드가 존재할 경우의 인트라 모드 결정 방법의 hit rate를 보여준다. 여기서, hit rate는 오리지널 HM(HEVC test model)과 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법이 동일한 베스트 모드를 산출할 확률을 나타낸다.
64×64 PU 32×32 PU 16×16 PU Average
Hit rate 93.6% 92.9% 93.2% 93.2%
표 4에 보여지듯이, hit rate가 87.4%에서 93.2%로 증가한다.
S305 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 1인 경우, n을 0으로 설정한다.
S306 단계에서, 인트라 모드 결정 장치는 RMD[n]을 검사한다.
S307 단계에서, 인트라 모드 결정 장치는 n=2인지 여부를 판단한다. 만약, n=2인 경우, 인트라 모드 결정 방법이 종료된다.
S308 단계에서, 인트라 모드 결정 장치는 n이 2가 아닌 경우, n을 1씩 증가시키고, S306 단계로 다시 진입한다.
비공통 모드(non-common mode)가 베스트 모드로 선택될 확률은 비교적 낮다. 그래서, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은 비공통 모드를 건너 뛴다.
즉, 두 MPM이 후보 모드 리스트에 추가되고 하나의 공통 모드만이 존재할 때, 두 MPM 중 하나는 공통 모드이고, 다른 하나의 MPM은 비공통 모드이다. 예를 들어, 시뮬레이션 결과에 따르면, 비공통 모드인 MPM이 베스트 모드로 선택될 확률은 라지 PU에 대하여 11.5%이고, 스몰 PU에 대하여 5.6%이다. 이 경우에서 4개의 후보 모드가 존재하는 것을 고려할 때, 이 확률은 평균 확률(25%)보다 상당히 낮다. 그래서, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, 두 MPM 중 하나만이 공통 모드일 때, 비공통 모드인 MPM의 검사를 건너 뛴다.
S309 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 0인 경우, n을 0으로 설정한다.
S310 단계에서, 인트라 모드 결정 장치는 RMD[n]이 하기의 수학식 3을 만족하는지 여부를 판단한다. 만약, RMD[n]이 하기의 수학식 3을 만족하는지 않는 경우, S314 단계로 진입한다.
Figure 112015120998199-pat00003
여기서, H-costcur 및 H-costRMD[0]는 각각 검사되는 현재 모드의 H-cost 및 RMD[0]의 H-cost이다. 그리고, α는 1보다 큰 파라미터이다.
S311 단계에서, 인트라 모드 결정 장치는 RMD[n]이 수학식 3을 만족하는 경우, RMD[n]을 검사한다.
S312 단계에서, 인트라 모드 결정 장치는 n이 2인지 여부를 판단한다.
S313 단계에서, 인트라 모드 결정 장치는 n이 2가 아닌 경우, n을 1씨 증가시키고, S310 단계로 다시 진입한다.
S314 단계에서, 인트라 모드 결정 장치는 n=2인 경우 또는 RMD[n]이 수학식 3을 만족하는지 않는 경우, 더 낮은 H-cost를 가지는 하나의 MPM을 검사한다.
공통 모드가 전혀 존재하지 않을 때, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, 몇몇 RMD 모드와 몇몇 MPM을 건너 뛴다.
즉, 표 3에 보여지듯이, RMD 단계에서 산출되는 H-cost와 RDO 단계에서 산출되는 RD 코스트 사이에는 높은 상관관계가 있다. 즉, 큰 H-cost를 가지는 RMD 모드는 베스트 모드로 선택될 확률이 매우 낮다. 그래서, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, 전술한 수학식 3의 조건을 만족하는 H-cost를 가지는 RMD 모드를 검사하고, 나머지 RMD 모드의 검사는 건너 뛴다.
또한, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, 공통 모드가 존재하지 않는 경우, 몇몇 MPM을 건너 뛴다.
즉, 우선, RDO 단계에서, 전술한 바와 같이, 1 또는 2의 MPM이 후보 모드 리스트에 추가된다. 공통 모드가 존재하지 않아 두 MPM이 추가되는 경우, 더 큰 H-cost를 가지는 MPM은 베스트 모드로 선택되지 않을 가능성이 매우 높다. 왜냐하면, 더 큰 H-cost를 가지는 MPM은 비공통 모드이고, 큰 H-cost를 가지기 때문이다. 그래서, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, 더 작은 H-cost를 가지는 하나의 MPM만을 검사하고, 다른 하나의 MPM은 건너 뛴다.
만약, RDO 단계에서 하나의 MPM이 추가되는 경우, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은, MPM을 건너 뛰지 않는다.
하기 표 5는, 본 발명의 실시예에 따라 라지 PU에서 공통 모드가 존재하지 않는 경우의 인트라 모드 결정 방법의 α값별 hit rate를 보여준다.
α 64×64 PU 32×32 PU 16×16 PU Average
1.05 79.8% 84.1% 85.1% 83.0%
1.10 80.9% 87.5% 90.3% 86.2%
1.15 81.1% 88.6% 92.0% 87.2%
표 5에서 보여지듯이, α값이 증가할수록 hit rate도 증가한다. 하지만, 인코딩 시간(예를 들어, 코딩 복잡도) 또한 증가한다.
하기 표 6은, HM에서 검사되는 평균 모드수, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법(α=1.1)의 평균 모드수 및 hit rate를 보여준다.
64×64 PU 32×32 PU 16×16 PU Average
HM 3.92 4.14 4.09 4.05
Proposed method for large PUs 3.12
(79.5%)
3.21
(77.4%)
3.13
(76.6%)
3.15
(77.9%)
Hit rate 85.1% 88.4% 91.6% 88.4%
표 6에서 보여지듯이, 본 발명의 실시예에 따른 라지 PU에서의 인트라 모드 결정 방법은 HM에서 검사되는 평균 모드수의 77.9%만을 검사한다.
도 4는 본 발명의 다른 실시예에 따른 인트라 모드 결정 방법을 나타낸 흐름도이다. 도 4에서는 스몰 PU에 대한 인트라 모드 결정 방법에 대하여 설명한다.
S401 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 0인지 여부를 판단한다.
S402 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 0이 아닌 경우, 공통 모드의 개수가 1인지 여부를 판단한다.
S403 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 1이 아닌 경우, 즉 공통 모드의 개수가 2인 경우, n을 0으로 설정한다.
S404 단계에서, 인트라 모드 결정 장치는 RMD[n]을 검사한다.
S405 단계에서, 인트라 모드 결정 장치는 두 공통 모드가 모두 이미 검사되었는지 여부를 판단한다. 만약, 두 공통 모드가 이미 검사된 경우, 인트라 모드 결정 방법이 종료된다.
S406 단계에서, 인트라 모드 결정 장치는 두 공통 모드가 모두 이미 검사되지 않은 경우, n이 7인지 여부를 판단한다.
S407 단계에서, 인트라 모드 결정 장치는 n=7이 아닌 경우, n을 1씩 증가시키고, S404 단계로 다시 진입한다.
라지 PU(예를 들어, 64×64, 32×32 또는 16×16 PU)에 대해서는 RMD 후보 모드가 단지 3개만이 존재하는 반면에, 스몰 PU(예를 들어, 8×8 또는 4×4 PU)에 대해서는 RMD 후보 모드가 8개나 존재한다. 이 차이는 스몰 PU에서 많은 차이를 일으킨다. 우선, 표 1에서 보여지듯이, 스몰 PU의 경우에 평균적으로 더 많은 공통 모드가 존재하게 된다. 그리고, 다른 차이점은 스몰 PU에 대해서는 더 많은 비공통 모드가 존재하는 점이다. 예를 들어, 두 개의 공통 모드가 존재하는 경우, 라지 PU에서는 비공통의 RMD 모드가 오직 하나 존재한 반면에, 스몰 PU에서는 비공통의 RMD 모드가 6개나 존재한다. 그래서, 이 차이를 처리하기 위하여, 스몰 PU의 경우에 다른 알고리즘이 적용되어야 한다. 예를 들어, 두 공통 모드가 존재할 때, 라지 PU의 경우에는 두 공통 모드와 RMD[0]으로 충분하였으나, 스몰 PU의 경우에는 그러하지 않다. 그래서, 본 발명의 다른 실시예에 따른 스몰 PU에서의 인트라 모드 결정 방법은, 더 많은 예측 모드를 검사한다.
즉, 우선, 인트라 모드 결정 장치는 H-cost의 오름차순으로 각 RMD 모드를 순차적으로 검사한다(예를 들어, RMD[0], RMD[1], …). 각 RMD 모드가 검사된 이후, 인트라 모드 결정 장치는 두 공통 모드가 모두 검사되었는지를 확인한다. 그런 다음, 인트라 모드 결정 장치는 두 공통 모드가 모두 검사된 경우, 검사 절차를 종료한다. 예를 들어, 만약, RMD[0], RMD[1], …, RMD[7]이 m0, m26, m15, m14, m1, m34, m33 및 m10이고, 두 MPM이 m26 및 m1이라고 가정하면, 인트라 모드 결정 장치는 m0, m26, m15, m14 및 m1만을 검사하고, m34, m33 및 m10을 건너 뛴다.
S408 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 1인 경우, n을 0으로 설정한다.
S409 단계에서, 인트라 모드 결정 장치는 RMD[n]이 하기의 수학식 4를 만족하는지 여부를 판단한다. 만약, RMD[n]이 하기의 수학식 4를 만족하는지 않는 경우, S413 단계로 진입한다.
Figure 112015120998199-pat00004
여기서, H-costcur 및 H-costRMD[0]는 각각 검사되는 현재 모드의 H-cost 및 RMD[0]의 H-cost이다. 그리고, β는 1보다 큰 파라미터이다.
수학식 4의 조건은 다른 파라미터를 사용한 것을 제외하면, 수학식 3과 동일하다. 파라미터 β는 파라미터 α처럼 hit rate와 인코딩 시간 둘 다에 영향을 미친다. 비록, α와 β가 동일한 값으로 사용될 수도 있으나, 다른 값의 사용은 성능과 인코딩 시간 사이의 트레이드 오프(tradeoff)에 있어서의 다양한 옵션을 더 많이 줄 수 있다.
S410 단계에서, 인트라 모드 결정 장치는 RMD[n]이 수학식 4를 만족하는 경우, RMD[n]을 검사한다.
S411 단계에서, 인트라 모드 결정 장치는 n이 7인지 여부를 판단한다.
S412 단계에서, 인트라 모드 결정 장치는 n이 7이 아닌 경우, n을 1씨 증가시키고, S409 단계로 다시 진입한다.
S413 단계에서, 인트라 모드 결정 장치는 n=7인 경우 또는 RMD[n]이 수학식 4를 만족하는지 않는 경우, 공통의 MPM이 이미 검사되지 않았다면 MPM을 검사한다.
스몰 PU에서 하나의 공통 모드만이 존재할 때, 본 발명의 다른 실시예에 따른 스몰 PU에서의 인트라 모드 결정 방법은, 몇몇 RMD 모드와 몇몇 MPM을 건너 뛴다.
즉, 스몰 PU에서 하나의 공통 모드만이 존재할 때, 후보 리스트에 2개 또는 1개의 MPM이 존재하기 때문에, 1개 또는 0개의 비공통의 MPM이 존재할 수 있다. 비공통의 MPM이 하나 존재하는 경우, 인트라 모드 결정 장치는 라지 PU의 경우에서와 같이, 비공통의 MPM의 검사를 건너 뛴다. 그리고, 비공통의 MPM이 존재하지 않는 경우, MPM이 오직 하나만 존재하기 때문에 인트라 모드 결정 장치는 MPM의 검사를 건너 뛰지 않는다.
비공통의 RMD 모드에 대해서는, N에 대한 차이를 처리하기 위하여 다른 알고리즘이 적용된다. 즉, 라지 PU의 경우에서는, 하나의 공통 모드만이 존재할 때, 오직 두 개의 비공통의 RMD 모드만이 존재한다. 그래서, 인트라 모드 결정 장치는 성능을 감소시키기 않기 위하여 두 개의 비공통의 RMD 모드 둘 다를 검사한다. 반면에, 스몰 PU의 경우에서는, 하나의 공통 모드만이 존재할 때, 7개의 비공통의 RMD 모드가 존재한다. 그래서, 코딩 효율을 증가시키기 위한 다른 알고리즘이 필요하다. 그래서, 인트라 모드 결정 장치는 7개의 비공통의 RMD 모드를 모두 검사하는 것 대신에, 전술한 수학식 4의 조건을 만족하는 비공통의 RMD 모드만을 검사한다.
S414 단계에서, 인트라 모드 결정 장치는 공통 모드의 개수가 0인 경우, n을 0으로 설정한다.
S415 단계에서, 인트라 모드 결정 장치는 RMD[n]이 전술한 수학식 4를 만족하는지 여부를 판단한다. 만약, RMD[n]이 수학식 4를 만족하는지 않는 경우, S419 단계로 진입한다.
S416 단계에서, 인트라 모드 결정 장치는 RMD[n]이 수학식 4를 만족하는 경우, RMD[n]을 검사한다.
S417 단계에서, 인트라 모드 결정 장치는 n이 7인지 여부를 판단한다.
S418 단계에서, 인트라 모드 결정 장치는 n이 7이 아닌 경우, n을 1씨 증가시키고, S415 단계로 다시 진입한다.
S419 단계에서, 인트라 모드 결정 장치는 n=7인 경우 또는 RMD[n]이 수학식 4를 만족하는지 않는 경우, 더 낮은 H-cost를 가지는 하나의 MPM을 검사한다.
즉, 스몰 PU에서 공통 모드가 존재하지 않을 때, 라지 PU의 경우에서 사용된 인트라 모드 결정 방법이 대부분 동일하게 적용될 수 있다. 즉, 본 발명의 다른 실시예에 따른 스몰 PU에서의 인트라 모드 결정 방법은, 더 낮은 H-cost를 가지는 하나의 MPM만을 검사하고, 다른 MPM은 건너 뛰며, RMD 모드에 대해서는, H-cost가 수학식 4의 조건을 만족하는 RMD 모드만을 검사한다.
하기 표 7은 HM에서 검사되는 평균 모드수, 본 발명의 다른 실시예에 따른 스몰 PU에서의 인트라 모드 결정 방법(β=1.15)의 평균 모드수 및 hit rate를 보여준다.
8×8 PU 4×4 PU Average
HM 8.54 8.39 8.47
Proposed method for small PUs 4.98
(58.3%)
3.80
(45.3%)
4.39
(51.8%)
Hit rate 93.9% 93.5% 93.7%
표 7에서 보여지듯이, 본 발명의 다른 실시예에 따른 스몰 PU에서의 인트라 모드 결정 방법은 HM에서 검사되는 평균 모드수의 51.8%만을 검사한다.
이와 같이, 도 3 및 도 4에서 전술한 본 발명의 실시예에 따른 인트라 모드 결정 방법은 PU의 사이즈와 공통 모드의 개수에 따라 다른 기술이 적용될 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 인트라 모드 결정 방법을 나타낸 흐름도이다. 도 5에서는 크로마 컴포넌트(chroma components)에 대한 인트라 모드 결정 방법에 대하여 설명한다.
대부분의 인트라 예측 기술들이 루마(luma)(Y) 컴포넌트를 다루고 있음에도 불구하고, 크로마(Cb 및 Cr) 컴포넌트는 전체 코딩 효율을 개선하기 위하여 효율적으로 코드화될 수 있다. 본 명세서에서는, 4:2:0 비디오 포맷이 고려되고 있으나, 4:4:4 또는 4:2:2 포맷과 같은 다른 비디오 포맷 또한 비슷한 방법으로 다뤄질 수 있다. 4:2:0 비디오 포맷에서는, 4개의 Y 픽셀의 각 그룹에 대하여 하나의 Cb 픽셀과 하나의 Cr 픽셀이 존재한다. 예를 들어, CU 뎁스(depth)가 제로(zero)일 때, Cb 또는 Cr 블록의 사이즈가 32×32인 반면에, 상응하는 루마(Y) 블록의 사이즈는 64ㅧ64이다. 두 크로마 블록은 항상 동일한 인트라 예측 모드를 공유한다.
루마 인트라 코딩 절차는 4 단계(RMD, MPM, RDO 및 RQT)로 구성되는 반면에, 크로마 인트라 코딩 절차는 오직 RDO 단계만을 포함한다. 크로마 인트라 코딩 절차의 RDO 단계에서, PU 사이즈에 상관없이 오직 5개 모드만이 검사된다. 여기서, 검사되는 5개 모드는 m0, m1, m10, m26 및 다이렉트 모드(direct mode)이다. 여기서, 다이렉트 모드는 상응하는 루마 블록의 베스트 인트라 예측 모드를 나타낸다. 만약, 다이렉트 모드가 {m0, m1, m10, m26}에 속하는 경우, m34가 추가로 검사되어, HEVC는 크로마 컴포넌트의 인트라 예측에서 항상 5개 모드를 검사한다.
예를 들어, 하기 표 8은 크로마 인트라 예측에서 검사되는 모드를 결정하기 위한 보다 자세한 절차를 보여준다.
Direct mode
m 0 m 26 m 10 m 1 Other modes
chroma[0] m 34 m 0 m 0 m 0 m 0
chroma[1] m 26 m 34 m 26 m 26 m 26
chroma[2] m 10 m 10 m 34 m 10 m 10
chroma[3] m 1 m 1 m 1 m 34 m 1
chroma[4] m 0 m 26 m 10 m 1 direct mode
루마 컴포넌트와 크로마 컴포넌트 사이에 높은 상관관계 때문에, 다이렉트 모드는 베스트 크로마 모드로 선택될 확률이 비교적 높다. 시뮬레이션 결과에 따르면, 다이렉트 모드가 베스트 크로마 모드로 선택될 확률은 71.6%이다. 이는 20.0%의 평균 확률보다 훨씬 더 높다. 이 사실을 효과적으로 이용하기 위하여, 본 발명의 또 다른 실시예에 따른 크로마 컴포넌트에 대한 인트라 모드 결정 방법은 표 8에서 보여지는 바와 같은 검사 순서를 따르는 것 대신에, 항상 다이렉트 모드를 먼저 검사한다.
도 5를 참조하면, S510 단계에서, 인트라 모드 결정 장치는 mD를 검사한다. 여기서, mD는 다이렉트 모드를 나타낸다.
S520 단계에서, 인트라 모드 결정 장치는 CBFD가 0이고, mD가 mL이나 mU와 동일한지 여부를 판단한다. 여기서, mL 및 mU는 각각 좌측 블록(left block) 및 상부 블록(upper block)의 베스트 크로마 모드를 나타낸다. 그리고, mX 모드에서 CBFX의 두 컴포넌트는 각각 Cb 컴포넌트의 CBF 및 Cr 컴포넌트의 CBF이다.
본 발명의 또 다른 실시예에 따른 인트라 모드 결정 방법은 공간적 상관관계(spatial correlation) 및 CBF(coded block flag) 정보를 이용한다. 변환(transform) 및 양자화(quantization)가 수행된 후, 0이 아닌 계수가 존재할 때, CBF는 1로 설정된다. 즉, 모든 계수가 0이 되어 CBF가 0인 경우, 이는, 현재 예측이 이미 상당히 정확하고, 추가 모드를 검사하더라도 차이가 거의 없음을 의미한다. 만약, 다이렉트 모드가 좌측 블록의 베스트 크로마 모드나 상부 블록의 베스트 크로마 모드와 동일한 경우, hit rate는 훨씬 더 높아진다. 그래서, 본 발명의 또 다른 실시예에 따른 크로마 컴포넌트에 대한 인트라 모드 결정 방법은 하기의 두 조건을 만족하는 경우, 오직 다이렉트 모드만을 검사하고, 나머지 모드는 건너 뛴다.
[조건]
1) 다이렉트 모드에서의 CBF는 Cb 및 Cr 컴포넌트에 대하여 모두 0
2) 다이렉트 모드는 좌측 블록의 베스트 크로마 모드나 상부 블록의 베스트 크로마 모드와 동일
S530 단계에서, 인트라 모드 결정 장치는 상기 두 조건이 만족되지 않는 경우 즉, CBFD가 0이 아니거나, mD가 mL이나 mU와 동일하지 않은 경우, mL이 {m0, m1, m10, m26, m34}에 속하면, mL을 검사한다.
S540 단계에서, 인트라 모드 결정 장치는 또한, mU가 {m0, m1, m10, m26, m34}에 속하면, mU를 검사한다.
S550 단계에서, 인트라 모드 결정 장치는 CBFD, CBFL 및 CBFU 중 적어도 하나가 0인지 여부를 판단한다. 만약, mD, mL 및 mU에 대한 CBFD, CBFL 및 CBFU 중 적어도 하나가 0인 경우, 인트라 모드 결정 방법을 종료한다.
S560 단계에서, 인트라 모드 결정 장치는 CBFD, CBFL 및 CBFU 중 적어도 하나가 0이 아니면, 나머지 모드들을 검사한다.
표 9 및 표 10은 본 발명의 또 다른 실시예에 따른 크로마 컴포넌트에 대한 인트라 모드 결정 방법에서의 hit rate 및 검사되는 모드수의 평균을 보여준다.
32×32
PU
16×16
PU
8×8
PU
4?4 PU Average
8×8 luma 4×4 luma
Hit rate 88.5% 89.5% 90.9% 94.0% 93.7% 91.3%
Direct mode only Proposed method HM
Average number of chroma modes examined 1.0 3.46 5.0
Hit rate 71.6% 91.3% 100.0%
표 9 및 표 10에서 보여지듯이, 본 발명의 또 다른 실시예에 따른 크로마 컴포넌트에 대한 인트라 모드 결정 방법은 평균 3.46개의 모드만을 검사하는 반면에, hit rate는 91.3%이다. CBF가 0인 모드가 적어도 하나가 존재할 때, 몇몇 모드만이 건너 뛰어질 수 있다. 그래서, 누락이 발생하면, 누락 패널티(penalty)가 매우 작다. 왜냐하면, 제로 CBF 블록의 RD 코스트는 대개 매우 작기 때문이다. 그래서, 성능 감소는 매우 작다.
시뮬레이션 결과
본 발명의 실시예에 따른 인트라 모드 결정 방법은 HM 소프트웨어로 실행되었으며, 다양한 테스트 시퀀스가 시뮬레이션 되었다. 시뮬레이션 파라미터는 하기 표 11과 같이 요약된다.
Parameter Mode/Value
Profile Main
GOP AI (all intra)
QP 22, 27, 32, 37
Number of frames 30
그리고, 하기 표 12는 본 발명의 실시예에 따른 인트라 모드 결정 방법의 성능 및 인코딩 시간 감소율을 보여준다. 표 9에서, Technique 1은 도 3의 인트라 모드 결정 방법을 나타내고, Technique 2는 도 4의 인트라 모드 결정 방법을 나타내고, Technique 3은 도 5의 인트라 모드 결정 방법을 나타낸다.
Class Sequence Technique 1 Technique 2 Technique 3 Overall Method
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
A(2560×1600) NebutaFestival 0.07 2.1 0.04 19.1 0.01 2.8 0.11 23.3
Traffic 0.06 2.4 0.22 22.0 0.08 5.7 0.36 30.2
B(1920×1080) Cactus 0.05 2.7 0.22 20.0 0.09 5.5 0.36 28.3
Kimono 0.28 2.2 0.02 22.0 0.08 5.8 0.36 28.6
C(832×480) BasketballDrill 0.09 2.9 0.21 21.0 0.18 6.8 0.40 29.6
PartyScene 0.00 2.6 0.33 17.4 0.07 4.6 0.41 23.8
D(416×240) BasketballPass 0.03 2.6 0.26 21.9 0.10 7.2 0.43 30.1
RaceHorses 0.00 1.8 0.31 19.4 0.16 3.7 0.46 25.0
E(1280×720) FourPeople 0.07 2.8 0.26 23.8 0.13 7.7 0.51 33.6
KristenAndSara 0.12 2.7 0.27 24.4 0.17 8.1 0.54 34.4
Average 0.08 2.5 0.21 21.1 0.11 5.8 0.39 28.7
도 3 및 도 4에서의 α 및 β는 시뮬레이션에서 각각 1.10 및 1.15로 설정되었다. 도 3 내지 도 5에서 설명한 각 방법의 효과를 분석하기 위하여, 표 12는 각 방법의 결과뿐만 아니라 전체 방법의 결과도 보여준다. 루마 및 크로마 컴포넌트 둘 다를 고려한 PSNR은 하기 수학식으로 산출될 수 있다.
Figure 112015120998199-pat00005
Figure 112015120998199-pat00006
여기서, MSEX는 X 컴포넌트의 mean square error를 나타낸다. PSNR과 BR을 따로 이용하는 것 대신에, BjØntegaard delta(BD) 방법이 성능 평가를 위하여 사용되었다. 표 12에서 ΔTime은 인코딩 시간 감소율을 나타내며, 하기의 수학식으로 정의될 수 있다.
Figure 112015120998199-pat00007
여기서, THM 및 Tproposed는 각각 HM 소프트웨어의 인코딩 시간 및 본 발명의 실시예에 따른 인트라 모드 결정 방법의 인코딩 시간을 나타낸다.
도 3 및 도 4에서 전술한 바와 같이, 도 3의 방법은 라지 PU에서 루마 컴포넌트를 위한 것인 반면에, 도 4의 방법은 스몰 PU에서 루마 컴포넌트를 위한 것이다. 도 3 및 도 4의 방법 중 도 4의 방법이 더 높은 ΔTime값을 보여준다. 이는, 스몰 PU 경우에서 더 많은 후보 모드가 존재하기 때문이다. 전술한 바와 같이, RDO 단계에서 검사되는 총 모드 개수는 N에서 N+2의 범위를 가진다. 여기서, N은 라지 PU에서 3이고, 스몰 PU에서 8이 된다. 그래서, 라지 PU 및 스몰 PU에서 동일한 개수의 모드가 건너 뛰어지면, 성능 감소는 라지 PU의 경우가 더 심각하다. 라지 PU 및 스몰 PU 둘 다에 하나의 방법이 적용될 수 있다. 예를 들어, 도 3의 방법이 라지 PU뿐만 아니라 스몰 PU에도 적용될 수 있다. 하지만, 도 3의 방법은 PU 사이즈가 비교적 크고 N이 비교적 작은 경우를 위하여 특별히 개발된 것인 반면에, 도 4의 방법은 PU 사이즈가 비교적 작고 N이 비교적 큰 경우를 위하여 특별히 개발된 것이다. 본 발명의 실시예에 따른 인트라 모드 결정 방법의 주요 장점 중 하나는 다른 PU 사이즈에 대하여 다른 알고리즘을 적응적으로 적용한 점이다. 또한, 본 발명의 실시예에 따른 인트라 모드 결정 방법은 공통 모드의 개수에 따라 다른 알고리즘을 적용한다. 결과적으로, 각 경우는 성능과 감소된 복잡도 사이의 좋은 트레이드오프를 획득하기 위하여 효율적으로 코드화될 수 있다.
크로마 컴포넌트를 위한 도 5의 방법은 역시, 매우 좋은 성능을 보여준다. 이러한 것의 주요 이유 중 하나는 크로마 컴포넌트가 루마 컴포넌트와 높은 상관관계를 가지고 있다는 것이다. 그래서, 다이렉트 모드는 베스트 모드로 선택될 확률이 가장 높다. 다른 이유는, 본 발명의 실시예에 따른 인트라 모드 결정 방법이 사용될 때, 누락이 발생하면, CBF가 0인 모드가 적어도 하나 존재하기 때문에 누락 패널티가 낮다는 것이다. 요약하면, 본 발명의 실시예에 따른 인트라 모드 결정 방법은 테스트 시퀀스의 클래스와 상관없이 매우 좋은 BD-BR값과 괜찮은 Δtime값을 보여준다.
하기 표 13은 본 발명의 실시예에 따른 인트라 모드 결정 방법과 다른 인트라 모드 결정 방법들을 비교해 놓은 것이다.
Class Sequence Zhang Shen Kim Gan Proposed Method
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
BD-BR
(%)
ΔTime
(%)
A NebutaFestival 0.15 28.9 0.38 16.5 0.22 30.3 0.27 29.0 0.11 23.3
Traffic 0.46 29.0 0.86 20.6 0.57 26.8 0.66 30.9 0.36 30.2
B Cactus 0.43 28.6 0.83 21.2 0.58 28.4 0.65 31.1 0.36 28.3
Kimono 0.16 30.8 0.59 20.1 0.11 29.5 0.44 32.2 0.36 28.6
C BasketballDrill 0.59 26.9 0.80 20.6 0.77 26.4 0.70 30.9 0.40 29.6
PartyScene 0.66 25.8 0.93 18.7 0.87 28.9 0.84 27.0 0.41 23.8
D BasketballPass 0.59 27.7 0.89 22.1 0.76 26.9 0.74 31.3 0.43 30.1
RaceHorses 0.62 27.2 0.87 17.8 0.97 28.2 0.81 27.8 0.46 25.0
E FourPeople 0.54 29.0 1.01 23.0 0.64 25.9 0.86 32.0 0.51 33.6
KristenAndSara 0.59 29.5 0.89 24.0 0.73 25.6 0.84 32.8 0.54 34.4
Average 0.48 28.3 0.81 20.5 0.62 27.7 0.68 30.5 0.39 28.7
다른 인트라 모드 결정 방법들은 고속 인트라 코딩 알고리즘뿐만 아니라 고속 CU 사이즈 결정 알고리즘과 같이 다른 고속 알고리즘들을 포함한다. 공정한 비교를 위하여 오직 고속 인트라 코딩 알고리즘만이 실행되고 비교된다. 표 13에서 보여지듯이, proposed method의 평균 BD-BR은 다른 방법들보다 상당히 작다. 큰 성능 차이의 이유는 다음과 같이 설명될 수 있다. 우선, proposed method는 PU 사이즈에 따라 다른 알고리즘이 적용되는 반면에, 다른 방법들은 PU 사이즈에 상관없이 동일한 방법이 사용된다. 전술한 바와 같이, 효율적인 인트라 코딩 방법에서 처리되어야 하는 후보 모드의 개수는 PU 사이즈에 따라 상당히 달라진다. 공통 모드는 비공통 모드와 비교하여 상당히 다른 요소를 가지고 있으며, 공통 모드의 개수는 베스트 모드에 대한 통계치에 큰 영향을 준다. 공통 모드의 개수에 따라 proposed method는 각 경우에 대하여 특별히 개발된 다른 스킴(scheme)을 사용한다. 그래서, proposed method는 다른 방법들과 비교하여 보다 더 효율적으로 베스트 모드를 결정할 수 있다.
크로마 컴포넌트의 인트라 코딩은 루마 컴포넌트와 비교하여 여러가지 점에서 다르다. 주요 차이 중 하나는 루마 코딩 절차에서 검사되는 35 모드 대신에, 크로마 코딩 절차가 수행되는 동안 검사되는 모드가 오직 5개라는 것이다. 그래서, 몇몇 크로마 모드를 건너 뛰는 것은 비교적 어렵다. proposed method는 HM의 검사 순서를 변경하여, 가장 강한 후보 모드인 다이렉트 모드를 항상 먼저 검사한다. 그래서, 나머지 모드를 건너 뛸지 여부를 결정하기 위하여 공간적 상관관계 및 CBF 정보가 효율적으로 사용된다.
Gan에서의 평균 ΔTime이 proposed method보다 약간 더 큼에도 불구하고, Gan에서의 평균 BD-BR은 proposed method보다 상당히 더 크다. proposed method는 수학식 3 및 수학식 4에서 α 및 β값의 변경에 의한 약간 더 작은 BD-BR의 희생으로 더 큰 ΔTime을 획득할 수 있다. 도 3 내지 도 5에서 전술한 바와 같이, α 및/또는 β가 1을 향해 감소하면, 인코딩 시간은 감소한 hit rate(예를 들어, 증가한 BD-BR)의 희생으로 감소한다. 그래서, 파라미터 α 및 β는 전체 성능과 인코딩 시간을 미세 조정하는데 사용될 수 있다. 이는, 본 발명의 실시예에 따른 인트라 모드 결정 방법의 또 다른 장점이 될 수 있다.
도 6은 본 발명의 실시예에 따른 인트라 모드 결정 장치의 구성을 개략적으로 예시한 도면이다.
도 6을 참조하면, 본 발명의 실시예에 따른 인트라 모드 결정 장치는 프로세서(610), 메모리(620), 입력부(630) 및 디스플레이부(640)를 포함한다.
프로세서(610)는 메모리(620)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다.
메모리(620)는 다양한 유형의 휘발성 또는 비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리(620)는 ROM, RAM 등을 포함할 수 있다.
예를 들어, 메모리(620)는 본 발명의 실시예에 따른 인트라 모드 결정 방법을 수행하는 명령어들을 저장할 수 있다.
입력부(630)는 인트라 모드 결정 장치를 제어하거나 인트라 모드 결정 장치에 설치된 어플리케이션을 실행하기 위한 다양한 명령, 정보 등을 사용자로부터 입력받기 위한 수단이다. 입력부(630)는 적어도 하나의 키버튼을 포함할 수 있으며, 디스플레이부(640)와 일체로 형성된 터치입력모듈을 포함할 수도 있다.
디스플레이부(640)는 인트라 모드 결정 장치로 입력되거나 인트라 모드 결정 장치에 저장된 다양한 데이터를 시각 정보의 형태로 표출하기 위한 수단이다. 예를 들어, 디스플레이부(640)는 액정화면(LCD)일 수 있다.
한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.
또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
610: 프로세서
620: 메모리
630: 입력부
640: 디스플레이부

Claims (7)

  1. 크로마 컴포넌트(chroma components)에 대하여 인트라 모드 결정 장치가 수행하는 인트라 모드 결정 방법에 있어서,
    HEVC(High Efficiency Video Coding)에서 지원하는 복수의 인트라 모드 중 우선적으로 다이렉트 모드를 검사하는 단계;
    상기 다이렉트 모드의 CBF(coded block flag) 가 0이고, 상기 다이렉트 모드가 좌측 블록(left block)의 베스트 크로마 모드나 상부 블록(upper block)의 베스트 크로마 모드와 동일한 제1 조건을 만족하는지 여부를 판단하는 단계; 및
    상기 제1 조건을 만족하는 경우, 나머지 모드의 검사는 건너 뛰고 종료하는 단계를 포함하는 인트라 모드 결정 방법.
  2. 제1항에 있어서,
    상기 다이렉트 모드는 상기 크로마 컴포넌트의 블록에 상응하는 루마 컴포넌트(luma components)의 블록의 베스트 인트라 모드인 것을 특징으로 하는 인트라 모드 결정 방법.
  3. 제1항에 있어서,
    상기 복수의 인트라 모드는 플래너(planar) 모드, DC 모드 및 앵귤러(angular) 모드를 포함하는 것을 특징으로 하는 인트라 모드 결정 방법.
  4. 제3항에 있어서,
    상기 우선적으로 다이렉트 모드를 검사하는 단계는,
    상기 크로마 컴포넌트에 대한 인트라 모드 예측 시에 검사되는 복수의 크로마 예측 모드 중 상기 다이렉트 모드를 우선적으로 검사하되,
    상기 복수의 크로마 예측 모드는 상기 앵귤러 모드 중 수직, 수평 및 우상측에서 좌하측으로의 대각 방향의 모드, 상기 플래너 모드 및 상기 DC 모드를 포함하는 것을 특징으로 하는 인트라 모드 결정 방법.
  5. 제4항에 있어서,
    상기 제1 조건을 만족하지 않는 경우, 상기 좌측 블록의 베스트 크로마 모드가 상기 복수의 크로마 예측 모드에 속하면, 상기 좌측 블록의 베스트 크로마 모드를 검사하는 단계;
    상기 상부 블록의 베스트 크로마 모드가 상기 복수의 크로마 예측 모드에 속하면, 상기 상부 블록의 베스트 크로마 모드를 검사하는 단계;
    상기 다이렉트 모드의 CBF, 상기 좌측 블록의 베스트 크로마 모드의 CBF 및 상기 상부 블록의 베스트 크로마 모드의 CBF 중 적어도 하나가 0인 제2 조건을 만족하는지 여부를 판단하는 단계; 및
    상기 제2 조건을 만족하는 경우, 종료하는 단계를 더 포함하는 인트라 모드 결정 방법.
  6. 제5항에 있어서,
    상기 제2 조건을 만족하지 않는 경우, 나머지 모드들을 검사하고 종료하는 단계를 더 포함하는 인트라 모드 결정 방법.
  7. 크로마 컴포넌트(chroma components)에 대하여 인트라 모드를 결정하는 인트라 모드 결정 장치에 있어서,
    명령어를 저장하는 메모리; 및
    상기 명령어를 실행하는 프로세서를 포함하되,
    상기 명령어는,
    HEVC(High Efficiency Video Coding)에서 지원하는 복수의 인트라 모드 중 우선적으로 다이렉트 모드를 검사하는 단계;
    상기 다이렉트 모드의 CBF(coded block flag) 가 0이고, 상기 다이렉트 모드가 좌측 블록(left block)의 베스트 크로마 모드나 상부 블록(upper block)의 베스트 크로마 모드와 동일한 제1 조건을 만족하는지 여부를 판단하는 단계; 및
    상기 제1 조건을 만족하는 경우, 나머지 모드의 검사는 건너 뛰고 종료하는 단계를 포함하는 인트라 모드 결정 방법을 수행하는 것을 특징으로 하는 인트라 모드 결정 장치.


KR1020150175803A 2015-12-10 2015-12-10 인트라 모드 결정 방법 및 장치 KR101754500B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150175803A KR101754500B1 (ko) 2015-12-10 2015-12-10 인트라 모드 결정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150175803A KR101754500B1 (ko) 2015-12-10 2015-12-10 인트라 모드 결정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170069328A KR20170069328A (ko) 2017-06-21
KR101754500B1 true KR101754500B1 (ko) 2017-07-06

Family

ID=59282100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150175803A KR101754500B1 (ko) 2015-12-10 2015-12-10 인트라 모드 결정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101754500B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114270826A (zh) * 2019-08-06 2022-04-01 现代自动车株式会社 用于视频数据的帧内预测编码的方法和装置
WO2023132590A1 (ko) * 2022-01-04 2023-07-13 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101724212B1 (ko) 2015-12-03 2017-04-07 중앙대학교 산학협력단 인트라 모드 결정 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101724212B1 (ko) 2015-12-03 2017-04-07 중앙대학교 산학협력단 인트라 모드 결정 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
L. Zhao, et al. Fast mode decision algorithm for intra prediction in HEVC. IEEE Visual Communications and Image Processing. Nov. 2011, pp.1-4
S. Hong, et al. An efficient intra-mode decision method for HEVC. Signal, Image and Video Processing. Jan. 06, 2016, pp.1055-1063
이승호 외 2명, Rough Mode Decision과 Most Probable Mode에 기반을 둔 HEVC 고속 인트라 예측 모드 결정 방법. 방송공학회논문지. 2014년 3월. 제19권 제2호. pp.158-165

Also Published As

Publication number Publication date
KR20170069328A (ko) 2017-06-21

Similar Documents

Publication Publication Date Title
KR102595070B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
TWI466549B (zh) 運動預測方法
KR101155767B1 (ko) 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드선택
KR101724212B1 (ko) 인트라 모드 결정 방법 및 장치
JP5065404B2 (ja) イントラ符号化選択によるビデオ符号化
KR20180107761A (ko) 참조 블록을 사용하는 예측 방법 및 장치
CN104639940B (zh) 一种快速hevc帧内预测模式选择方法
US20100118959A1 (en) Method and apparatus for fast geometric mode desicion in a video encoder
EP2911399A1 (en) Method and apparatus for encoding images and method and apparatus for decoding images
US20070177668A1 (en) Method of and apparatus for deciding intraprediction mode
US20070253484A1 (en) Methods and Systems for Efficient Prediction-Mode Selection
CN101682780A (zh) 使用图像修补进行帧内预测编码/解码的方法和设备
KR20180061027A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20120006488A (ko) 왜곡 가중
KR20140016385A (ko) 인코딩 및 디코딩 방법 및 장치
KR20190059255A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
Ting et al. Gradient-based PU size selection for HEVC intra prediction
US20240007654A1 (en) Method and apparatus for encoding/decoding image signal
CN102075751B (zh) 一种基于宏块运动状态的h264快速模式选择方法
KR101754500B1 (ko) 인트라 모드 결정 방법 및 장치
KR101603887B1 (ko) Hevc에서의 고속 cu 결정을 통한 부호화방법
Zhao et al. Hardware-oriented fast mode decision algorithm for intra prediction in HEVC
KR101926017B1 (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101662742B1 (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101687283B1 (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20200309

Year of fee payment: 4