KR101967028B1 - 고효율 비디오 부호화 모드 결정방법 및 결정장치 - Google Patents

고효율 비디오 부호화 모드 결정방법 및 결정장치 Download PDF

Info

Publication number
KR101967028B1
KR101967028B1 KR1020160175385A KR20160175385A KR101967028B1 KR 101967028 B1 KR101967028 B1 KR 101967028B1 KR 1020160175385 A KR1020160175385 A KR 1020160175385A KR 20160175385 A KR20160175385 A KR 20160175385A KR 101967028 B1 KR101967028 B1 KR 101967028B1
Authority
KR
South Korea
Prior art keywords
rate
distortion cost
mode
current
lower limit
Prior art date
Application number
KR1020160175385A
Other languages
English (en)
Other versions
KR20180072133A (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 KR1020160175385A priority Critical patent/KR101967028B1/ko
Priority to PCT/KR2017/002190 priority patent/WO2018117334A1/ko
Publication of KR20180072133A publication Critical patent/KR20180072133A/ko
Application granted granted Critical
Publication of KR101967028B1 publication Critical patent/KR101967028B1/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/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

HEVC의 모드 결정방법이 개시된다. HEVC의 모드 결정방법은, 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 일반 부호화 모드의 율-왜곡비용의 하한을 연산; 부호화 모드들 중에서 어느 하나의 모드를 현재 부호화 모드로 선택하고, 선택된 현재 부호화 모드의 율-왜곡 비용을 연산; 현재 부호화 모드의 율-왜곡 비용과 상기 율-왜곡 비용의 하한을 비교; 및 현재 부호화 모드의 율-왜곡 비용이 율-왜곡 비용의 하한보다 작은 경우, 현재 부호화 모드를 최적의 부호화 모드로 선택하는 것을 포함한다.

Description

고효율 비디오 부호화 모드 결정방법 및 결정장치{APPARATUS AND METHOD FOR DETERMINING MODE OF HIGH EFFICIENCY VIDEO CODING}
본 발명은 고효율 비디오 부호화 모드 결정방법 및 결정장치에 관한 것으로, 더욱 상세하게는 HEVC 고속 부호화를 위한 인트라 PU 모드 결정 고속화, 인트라 CU 크기 결정 고속화, 인터 CU/PU 모드 결정 고속화에 관한 것이다.
HEVC는 H.264/AVC의 표준화를 수행하였던 ISO/IEC의 MPEG(Moving Picture Expert Group)과 ITU-T의 VCEG(Video Coding Expert Group)이 공동으로 개발한 차세대 동영상 압축 표준 기술이다. HEVC는 기존의 동영상 압축 표준 기술과 유사하게 블록 단위의 예측, 변환, 양자화, 엔트로피 코딩을 통해 동영상을 효과적으로 압축한다. 또한, HEVC는 양자화 과정에서 발생하는 복원 영상의 화질 열화 문제를 해결하기 위하여, H.264/AVC와 유사한 디블로킹 필터를 사용하며, 추가로 디블로킹 필터가 적용된 영상에 SAO(Sample Adaptive Offset) 필터링을 한 번 더 수행하는 구조로 되어 있다.
HEVC는 종전의 동영상 압축 표준 기술인 H.264/AVC와 비교하여 동일 화질 대비 최대 약 2배까지의 높은 압축 성능을 보여줌으로써 초고화질 영상의 효율적인 관리가 가능해졌다. 그러나 압축률을 극대화하기 위하여 복잡하고 정밀한 기법을 많이 포함하였기 때문에 부호화 복잡도가 큰 폭으로 증가하였다. 인트라 예측 모드를 결정하기 위하여 계산하는 예측 모드의 수가 H.264/AVC에서는 9가지인 반면, HEVC에서는 35가지의 예측 모드를 지원하는 점을 예로 들 수 있다. 따라서 실제 상용 부호화기에서 부호화를 수행하기 위해서는, 압축 효율과 화질을 유지하면서 부호화 복잡도를 줄일 필요가 있다.
도 1은 HEVC의 CU 구조를 나타내는 예시도이다.
도 1을 참조하면 CU는 다양한 크기로 분할될 수 있다. 다양한 CU 크기 중에 최적의 CU 크기를 찾는 방법은 모든 경우의 CU에 대하여 부호화를 수행한 다음, 이들 중 최적의 부호화 비용을 갖는 CU 크기를 찾는 것이다. 그러나 이와 같은 방법은 모든 CU 크기에 대하여 부호화를 수행해야 함으로 부호화 연산량이 매우 많다는 단점을 지닌다.
고속으로 인트라/인터 예측 모드를 결정하는 종래의 방법은 고속 CU (Coding Unit) 크기 결정 알고리즘, 고속 인트라 예측 모드 결정 알고리즘 및 고속 인터 모드 결정 알고리즘을 포함한다. 그러나 종래의 방법은 RDcost 연산량이 적지 않으므로 개선의 여지가 남아있다.
기존의 고속 알고리즘은 현재 CU와 주변 CU와의 관계, RDcost의 통계적 특성 등을 이용하여 고속화를 달성하였다. 그러나 고속화를 위한 임계치(threshold) 설정은 경험치 및 실험치에 기반하여 설정하였으며 그로 인하여 부호화 성능의 저하가 관찰된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 부호화 성능의 손실 없이 HEVC 고속 부호화를 위한 모드 결정 장치 및 방법을 제공하는데 있다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따르면, 고효율 비디오 부호화 모드 결정방법은, 부호화에 필요한 신택스 (syntax) 요소 및 신택스 (syntax) 개수에 기반하여 일반 부호화 모드의 율-왜곡비용의 하한을 연산하는 단계; 부호화 모드들 중에서 어느 하나의 모드를 현재 부호화 모드로 선택하고, 선택된 현재 부호화 모드의 율-왜곡 비용을 연산하는 단계; 상기 현재 부호화 모드의 율-왜곡 비용과 상기 율-왜곡 비용의 하한을 비교하는 단계; 및 상기 현재 부호화 모드의 율-왜곡 비용이 상기 율-왜곡 비용의 하한보다 작은 경우, 상기 현재 부호화 모드를 최적의 부호화 모드로 선택하는 단계를 포함한다.
여기서, 상기 현재 부호화 모드의 율-왜곡 비용이 상기 율-왜곡 비용의 하한보다 작지 않은 경우, 상기 일반 부호와 모드의 율-왜곡 비용을 연산하는 단계; 상기 일반 부호화 모드의 율-왜곡 비용과 상기 현재 부호화 모드의 율-왜곡 비용을 비교하고, 이들 중에서 최적의 부호화 모드를 선택하는 단계를 더 포함할 수 있다.
여기서, 상기 율-왜곡 비용의 하한은, 부호화 모드들이 가질 수 있는 율-왜곡 비용 (rate-distortion cost, RDcost)의 최소값으로서, 실제 부호화 시에 소요되는 비트 수에 기반할 수 있다.
본 발명의 다른 실시예에 따르면, 고효율 비디오 부호화(High Efficiency Video Coding, HEVC) 인트라 (intrapicture) PU (prediction unit) 예측 모드 결정방법에 있어서, 고효율 비디오 부호화 모드 결정방법은 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 MPM이 아닌(Non-MPM) 모드의 율-왜곡비용의 하한을 7λ으로 연산하는 단계, 여기서 λ는 라그랑지안 계수(lagrangian multiplier); 인트라 PU 예측 모드 중에서 MPM 모드들의 율-왜곡 비용을 연산하고, 이 중에서 최소 율-왜곡 비용을 갖는 최적의 MPM 모드를 찾는 단계; 상기 최소 율-왜곡 비용과 상기 율-왜곡비용의 하한을 비교하는 단계; 및 상기 최소 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작은 경우, 상기 최적의 MPM 모드를 예측 모드로 선택하는 단계를 포함한다.
여기서, 상기 최소 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작지 않은 경우, MPM이 아닌 모드의 율-왜곡 비용을 계산하는 단계; 및 상기 MPM이 아닌 모드의 율-왜곡 비용과 상기 최소 율-왜곡 비용을 비교하고, 이들 중에서 최적의 모드를 선택하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 고효율 비디오 부호화(High Efficiency Video Coding, HEVC)의 인트라 CU 크기 결정방법에 있어서, 고효율 비디오 부호화 모드 결정방법은, 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 하나의 CU가 분할되어 형성된 4개의 sub-CU들의 율-왜곡비용의 하한을 32λ으로 연산하는 단계, 여기서 λ는 라그랑지안 계수(lagrangian multiplier); 현재 CU의 율-왜곡 비용을 연산하는 단계; 및 상기 율-왜곡비용의 하한과 상기 현재 CU의 율-왜곡비용을 비교하는 단계를 포함하되, 상기 현재 CU의 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작은 경우, 상기 현재 CU는 분할되지 않는다.
여기서, 상기 현재 CU의 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작지 않은 경우, 상기 sub-CU들의 율-왜곡 비용들의 합을 연산하는 단계; 및 상기 현재 CU의 율-왜곡 비용과 상기 sub-CU들의 율-왜곡 비용들의 합을 비교하는 단계를 더 포함하되, 상기 현재 CU의 율-왜곡 비용이 상기 sub-CU들의 율-왜곡 비용들의 합보다 작은 경우, 상기 현재 CU는 분할되지 않고, 상기 현재 CU의 율-왜곡 비용이 상기 sub-CU들의 율-왜곡 비용들의 합보다 작지 않은 경우, 상기 현재 CU는 분할될 수 있다.
본 발명의 다른 실시예에 따르면, 고효율 비디오 부호화(High Efficiency Video Coding, HEVC) 인터 CU/PU 모드 결정방법에 있어서, 고효율 비디오 부호화 모드 결정 방법은 (a) 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여, 비교 기준으로서 2N×2N MERGE, 2N×2N INTER, N×2N MERGE, N×2N INTER, 비대칭 모션 분할(asymmetric motion partition, AMP), N×N MERGE 및 N×N INTER 모드 부호화의 율-왜곡 비용의 하한을 연산하는 단계; (b) 제1 비교 타겟으로서 SKIP 모드를 선택하고, SKIP 모드의 율-왜곡 비용을 연산하는 단계; (c) 상기 제1 비교 타겟의 율-왜곡 비용이 상기 비교 기준인 2N×2N MERGE 모드의 율-왜곡 비용의 하한보다 작은지 비교하는 단계; (d) 상기 제1 비교 타겟의 율-왜곡 비용이 상기 비교 기준보다 더 작은 경우 비교 타겟을 선택하고, 그렇지 않은 경우 상기 비교 기준의 율-왜곡 비용을 연산하고, 비교 타겟의 율-왜곡 비용과 비교 기준인 2N×2N MERGE의 율-왜곡 비용을 비교하고, 이 중에서 최적의 율-왜곡 비용을 갖는 모드를 제2 비교 타겟으로 업데이트하는 단계; 순서대로 나머지 2N×2N INTER, N×2N MERGE, N×2N INTER, 비대칭 모션 분할(AMP), N×N MERGE 및 N×N INTER 모드에 대해서, 상기 제2 비교 타겟의 율-왜곡 비용을 이용하여 상기 (c) 및 (d)를 반복함으로써 제2 비교 타겟이 최적의 율-왜곡 비용을 갖는 모드가 되도록 제2 비교 타겟을 계속 업데이트 하고, 최종 업데이트된 제2 비교 타겟의 모드를 선택하는 단계를 포함한다.
여기서, prediction_unit()에 포함될 수 있는 신택스 요소에 따라, B-Slice를 위한 CU/PU 모드 결정 또는 P-Slice를 위한 CU/PU 모드 결정을 포함할 수 있다.
여기서, SKIP 모드의 율-왜곡 비용이 2N×2N MERGE 모드의 율-왜곡 비용의 하한, 10λ보다 작은 경우, SKIP 모드를 선택하고, 제2 비교 타겟의 율-왜곡 비용이 N×2N MERGE 모드의 율-왜곡 비용의 하한, 8λ보다 작은 경우, 최적의 율-왜곡 비용을 갖는 제2 비교 타겟을 선택하고, 제2 비교 타겟의 율-왜곡 비용이 N×N MERGE 모드의 율-왜곡 비용의 하한, 12λ보다 작은 경우, 최적의 율-왜곡 비용을 갖는 제2 비교 타겟을 선택할 수 있다.
본 발명에 의하면, 부호화 성능의 손실 없이 HEVC의 모드 결정의 복잡도를 낮춤으로써 고속의 부호화가 가능하다.
도 1은 HEVC의 CU 구조를 나타내는 예시도이다.
도 2은 본 발명의 실시예에 따른 모드 결정장치를 포함하는 부호화기의 블록도이다.
도 3은 본 발명의 실시예에 따른 모드 결정장치의 블록도이다.
도 4는 본 발명의 실시예에 따른 HEVC의 부호화 모드 결정방법의 흐름도이다.
도 5는 HEVC에서 MPM 획득을 위한 현재의 PU 및 주변 PU를 나타내는 예시도이다.
도 6은 본 발명의 실시예에 따른 HEVC인트라 PU의 MPM 결정방법의 흐름도이다.
도 7은 본 발명의 실시예에 따른 HEVC 인트라 예측 모드 결정방법의 흐름도이다.
도 8은 HEVC CU 크기 결정방법의 흐름도이다.
도 9는 본 발명의 실시예에 따른 HEVC 인트라 CU 크기 결정방법의 흐름도이다.
도 10은 HEVC 인터 모드 종류를 나타내는 예시도이다.
도 11는 본 발명의 실시예에 따른 B-Slice를 위한 HEVC의 인터 CU/PU 모드 결정방법의 흐름도이다.
도 12는 본 발명의 실시예에 따른 P-Slice를 위한 HEVC의 인터 CU/PU 모드 결정방법의 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 2는 본 발명의 실시예에 따른 모드 결정장치를 포함하는 부호화기의 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 부호화기는 모드 결정장치(100), 움직임 예측부(210), 움직임 보장부(220), 스위치(230), 인트라 예측부(300), 감산기(350), 변환부(400), 역변환부(450), 가산기(455) 양자화부(500), 역양자화부(550), 엔트로피 부호화부(600), 필터부(700) 및 참조영상 버퍼(800)을 포함한다.
부호화부는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트 스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(230)가 인트라로 전환되고, 인터 모드인 경우 스위치(230)가 인터로 전환될 수 있다.
도 3은 본 발명의 실시예에 따른 HEVC부호화 모드 결정장치의 블록도이다.
도 3을 참조하면, 모드 결정장치(100)는 율-왜곡 비용 연산부(110) 및 모드 결정부(120)을 포함한다. 율-왜곡 비용 연산부(110)는 입력 영상이 선택된 모드에 따라 부호화되는 경우 율-왜곡 비용을 연산하거나 율-왜곡 비용의 하한을 연산한다. 모드 결정부(120)는 율-왜곡 비용 또는 율-왜곡 비용의 하한을 비교하여 최적의 모드를 결정한다.
부호화기는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)을 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(300)는 현재 블록 주변의 이미 부호화된 블록의 픽셀 값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(210)는 움직임 예측 과정에서 참조 영상 버퍼(800)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(220)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
도 2에서 움직임 예측부(210), 움직임 보상부(220) 및 인트라 예측부(300)는 각각 별개의 구성으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 움직임 예측부(210) 및 움직임 보상부(220)는 하나의 인터 예측부를 구성할 수도 있으며, 움직임 예측부(210), 움직임 보상부(220) 및 인트라 예측부(300)는 하나의 예측부를 구성할 수도 있다.
감산기(350)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(400)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(500)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(600)는, 양자화부(500)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트 스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(600)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 2의 실시예에 따른 부호화기는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(550)에서 역양자화되고 역변환부(450)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(455)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(700)를 거치고, 필터부(700)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(700)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡 및/또는 블록킹 아티팩트(blocking artifact)를 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀 값에 적정 오프셋(offset) 값을 더해줄 수 있다. 필터부(700)를 거친 복원 블록은 참조 영상 버퍼(800)에 저장될 수 있다.
이하 본 발명의 실시예에 따른 모드 결정장치(100)에 의해 수행되는 HEVC의 모드 결정방법에 대해 설명하기로 한다.
본 발명의 하나의 실시예에 따른 HEVC의 모드 결정방법에 따르면, 모드들에서 발생 가능한 RDcost의 하한을 추정한 후 현재 모드의 RDcost가 그 하한보다 작을 경우에는 더 이상 모드 결정 과정이 진행되지 않는다. 상기 HEVC의 모드 결정방법은 (1) 인트라 예측 모드 결정방법 (2) CU 크기 결정방법 (3) 인터 예측 CU/PU 모드 결정방법 에 적용될 수 있다.
HEVC는 최적의 부호화 파라미터를 선택하기 위하여 수학식 1과 같은 율-왜곡 최적화 (Rate-Distortion Optimization, 이하 RDO)를 사용한다.
Figure 112016125502332-pat00001
수학식 1에서 D MODE 는 원영상과 MODE로 부호화/복호화 되었을 때의 복원된 영상 사이에 발생하는 왜곡(Distortion)을 의미하며 수학식 2와 같이 구체적으로 정의될 수 있다. R MODE 는 영상이 MODE로 부호화되었을 때 발생되는 비트의 합을 의미한다. λ는 라그랑지안 계수(Lagrangian multiplier)로서 양자화 파라미터(Quantization parameter)와 연관된 파라미터이다.
Figure 112016125502332-pat00002
Org (x,y)는 원영상을 의미하며 Rec MODE (x,y)MODE로 부호화/ 복호화하였을 때 생성되는 복원된 영상이다. 하나의 CU안에서의 원영상과 복원 영상의 차이의 제곱을 더한 것이 SSE(Sum of Squared Error)가 된다. 최종적으로 J MODE 는 율-왜곡 비용(Rate-Distortion cost: 이하 RDcost)이며 J MODE 을 기준으로 최소값의 J MODE 를 갖는 모드가 최적의 모드(MODE)로 결정된다.
HEVC에서는 위의 RDO 기법을 사용하여 모든 후보 모드(MODE)에 대하여 RDcost가 산출되고 그 중 가장 작은 RDcost를 갖는 모드가 최적의 모드로 결정된다. 그러나 RDcost를 산출하기 위해서는 모든 모드에 대하여 부호화 과정이 수행되어야 하므로 매우 복잡한 연산 과정이 소요된다. 이는 최적이 아닌 모드에 대하여도 부호화 과정이 수행되어야 하는 것으로서 연산이 불필요하게 수행됨을 의미한다. 이를 해결하기 위해 본 발명에서는 불필요한 연산을 제거하여 고속으로 HEVC의 모드 결정을 할 수 있는 방법이 제안된다.
RDO 과정에서 R MODE 는 모드가 부호화될 때 구성되는 신택스(Syntax) 요소가 부호화되기 위해 필요한 비트이다. 본 발명은 모드마다 필요한 신택스 요소가 서로 다르다는 점에 착안하여, 일반 모드가 가질 수 있는 최소의 RDcost를 예측하고, 일반 모드 이외의 특정 모드가 이 RDcost보다 작으면 일반 모드의 RDcost 계산은 생략되고 특정 모드가 최적의 모드로 선택되는 방법에 관한 것이다. 상기 과정은 다음과 같은 수식으로 표현될 수 있다.
Figure 112016125502332-pat00003
Figure 112016125502332-pat00004
Figure 112016125502332-pat00005
수학식 3의 MODE2는 일반 모드를 의미하며 왜곡 D는 항상 0보다 크므로 수학식 3은 수학식 4를 항상 만족한다. 또한 R MODE2 의 하한이 R L MODE2 라고 한다면 수학식 5가 만족된다. 따라서 수학식 6이 도출된다.
Figure 112016125502332-pat00006
특정 모드인 MODE1의 RDcost가 J MODE1 이고 J MODE1 λR L MODE2 보다 작다면, J MODE2 J MODE1 보다 항상 크므로 MODE2의 RDcost와 상관없이 MODE1이 최적의 모드임에 해당된다.
도 4는 본 발명의 실시예에 따른 HEVC의 부호화 모드 결정방법의 흐름도이다.
도 4를 참조하면, 시작 이전에 λR L MODE2 이 미리 연산된다. 다음으로 J MODE1 의 Rdcosts가 연산된다. 다음으로 J MODE1 의 Rdcosts가 λR L MODE2 보다 작은지 판단된다. 판단 결과 Yes이면 최적의 모드로 MODE1이 결정되고, No이면 다음에서 MODE2의 Rdcosts가 연산된다. 다음으로 MODE1의 Rdcosts 와 MODE2 Rdcosts가 비교되고, 이 중에서 최적의 것이 결정될 수 있다. 이러한 일련의 단계들은 전체 모드에 대해서 수행되며, 전체 모드에 수행되기 전에 최적의 모드가 결정될 수 있다.
본 발명의 성능을 결정짓는 핵심 요소는 RDcost의 하한을 결정하는 방법이다. 본 발명에서 RDcost의 하한은 모드를 부호화하기 위한 신택스의 개수와 신택스의 분포에 기반하여 결정된다. 그 결정 결과는 각각의 모드마다 다르며 아래에서 각각의 모드에 대한 예시가 나타나 있다.
(1) HEVC의 인트라 PU 예측 결정 방법
HEVC에서 효율적인 화면 내 예측을 위해 35개의 인트라 예측 모드가 존재한다. 인트라 PU일 경우 35개의 예측 모드 중 최적의 예측 모드가 선택되어 부호화 된다. 인트라 예측 모드 비트를 효율적으로 부호화하기 위해 HEVC에서는 MPM(most probable mode)이 도입되었다.
MPM이란 현재 PU의 인트라 예측 모드가 주변 PU의 인트라 예측 모드와 동일할 경우 주변 모드와 동일한 인트라 예측 모드를 사용한다는 정보만 부호화하는 것을 의미한다. 따라서 현재 PU가 MPM으로 선택될 경우 인트라 예측 모드 부호화를 위한 비트가 크게 감소될 수 있다.
도 5는 HEVC에서 MPM 획득을 위한 현재의 PU 및 주변 PU를 나타내는 예시도이다.
도 5를 참조하면, 현재 PU의 왼쪽 PU와 상위 PU의 인트라 예측 모드를 사용하여 현재 PU의 MPM이 결정된다. MPM은 3개의 모드가 존재하며 따라서 MPM이 아닌 경우(Non-MPM)에는 32개의 인트라 예측 모드가 존재한다.
도 6은 HEVC인트라 PU의 MPM 결정방법의 흐름도이다.
도 6을 참조하면, 3개의 예측 모드 중 2개의 예측 모드(또는 주변의 모드가 동일할 때는 1개의 예측 모드)는 주변 모드를 이용하여 MPM을 설정하고 나머지 모드는 통계적으로 많이 발생하는 모드를 MPM으로 설정한다.
본 발명에서 고속 결정 알고리즘은 MPM인 경우와 MPM이 아닌 경우 인트라 예측 모드 비트의 차이를 이용한다. 인트라 예측에서 하나의 PU는 표1과 같은 신택스를 이용하여 부호화 한다.
현재 PU가 MPM일 경우에는 표 1에서 prev _ intra _ luma _flag, mpm _ idx, cbf_luma, residual_ coing()이 부호화 되어야 한다. 반면 현재 PU가 MPM이 아닐 경우, prev _ intra _ luma _flag, rem_ intra _ luma _ pred _flag, cbf _ luma, residual_coing()이 부호화 되어야 한다.
MPM과 Non-MPM 사이의 차이는 mpm _ idxrem_ intra _ luma _ pred _ flag 의 차이이고 mpm _ idx는 3개의 MPM 중 한 개를 선택하고, rem_ intra _ luma _ pred _flag 는 32개 중 한 개를 선택하기 때문에 rem_ intra _ luma _ pred _flag가 부호화를 위해 더 많은 비트가 필요하다. 그리고 이를 이용하여 본 발명의 실시예에 따른 HEVC의 모드 결정방법이 제안된다.
Figure 112016125502332-pat00007
[하나의 인트라 PU를 부호화하기 위한 신택스 및 시맨틱]
Non-MPM의 RDcost는 수학식 7과 같이 정의될 수 있다. D N - MPM 은 Non-MPM일 때의 왜곡을 의미하고, R N- MPM 은 Non-MPM일 때의 총 비트를 의미한다. R N- MPM 은 다시 수학식 8과 같이 표현될 수 있다.
Figure 112016125502332-pat00008
Figure 112016125502332-pat00009
Figure 112016125502332-pat00010
수학식 8에서 R prev N - MPM , R rem N - MPM , R cbf N - MPM , R residual() N - MPM 는 각각 prev_intra_luma_flag, rem_ intra _ lum _ pred _mode, cbf _ luma , residual_coding()을 부호화하기 위한 비트를 의미한다. 수학식 8은 수학식 9와 같이 변환될 수 있다. 수학식 9 우측항의 오른쪽 부분에서 R residual() N - MPM 이 만약 cbf가 0이면 부호화 할 필요가 없으므로 0이고, D N - MPM 은 0보다 큰 값이다. 반면에 우측항의 왼쪽 부분은 항상 부호화해야 할 신호들이다. 왼쪽 부분의 신택스 파라미터는 CABAC(Context-adaptive binary arithmetic coding)에 의해서 부호화하기 때문에 정확한 비트 수는 실제 인코딩 되어야 알 수 있으나, 고속 알고리즘을 위해 본 발명에서는 그 값을 예측하도록 한다. R prev N - MPM R cbf N - MPM 은 해당 신택스 정보에 대한 유무만을 판단하기 때문에 각각 1 비트로 부호화 가능하다고 볼 수 있다. R rem N - MPM 는 32개의 인트라 모드 중에 한 개를 선택하는 것이고 만약 32개의 인트라 모드의 확률 분포가 평탄(uniform)하다고 가정하면 부호화하기 위해 5개의 비트가 필요하다. 따라서 수학식 9는 다시 수학식 10과 같이 변환될 수 있다.
Figure 112016125502332-pat00011
앞서 언급하였듯이 (D N - MPM +λR residual() N - MPM )은 0보다 크므로 결국 Non-MPM이 가질 수 있는 RDcost의 범위는 수학식 11과 같고 Non-MPM의 RDcost의 하한은 7λ임을 알 수 있다.
Figure 112016125502332-pat00012
따라서 만약 MPM의 RDcost JMPM이 7λ 보다 작다면 최적의 모드는 MPM임을 알 수 있고 Non-MPM을 위한 RDcost는 계산할 필요가 없음을 알 수 있다.
도 7은 본 발명의 실시예에 따른 HEVC의 인트라 예측 모드 결정방법의 흐름도이다.
도 7을 참조하면, 시작 이전에 Non-MPMs의 RDcosts의 하한이 7λ으로 연산되어 미리 결정된다. 다음으로 MPMs의 RDcosts가 연산되고, 이들 중에서 최소의 RDcost를 갖는 최적의 MPM이 선택된다. 다음으로 최적의 MPM의 RDcost(J MPM )가 7λ보다 작은지 판단된다. 판단 결과 Yes이면 최적의 모드로 MPM이 결정되고, No이면 Non-MPMs의 Rdcosts가 연산된다. 다음으로 최적의 MPM의 RDcost와 Non-MPMs의 Rdcosts가 비교되고, 이 중에서 최적의 것이 결정될 수 있다. 이러한 일련의 단계들은 전체 모드에 대해서 수행되며, 전체 모드에 수행되기 전에 최적의 모드가 결정될 수 있다.
(2) HEVC의 인트라 CU 크기 결정방법
본 발명의 다른 실시예에 따른 HEVC 인트라 CU 크기 결정 방법에 대해 설명하기로 한다.
도 8은 HEVC CU 크기 결정방법의 흐름도이다.
도 8를 참조하면, 하나의 CU는 4개의 sub-CU로 분할 될 수 있으며 분할 유무는 CU의 RDcost와 sub-CU의 RDcost의 합과의 비교에 의해 결정된다. 즉 CU의 RDcost가 4개 sub-CU의 RDcost의 합보다 작으면, 현재 CU는 더 이상 분할 되지 않는다. 그 반대일 경우는 CU는 분할되어 sub-CU가 최적의 CU가 된다.
본 발명의 실시예에 따른 HEVC CU 크기 결정방법에서는 한 개의 인트라 CU가 가지는 신택스를 분석하고 이에 기반하여 4개의 sub-CU의 RDcost 합의 하한을 구하도록 한다. 상위 CU의 RDcost와 sub-CU의 RDcost 합의 하한을 비교하여 인트라 CU의 분할 유무를 결정하도록 한다. 자세한 사항은 아래와 같다.
Figure 112016125502332-pat00013
[하나의 인트라 CU를 구성하는 신택스 구성요소]
표 2에서, mpm _ idxrem_ intra _ lum _ pred _mode는 MPM 유무에 따라 두 개 중 한 개만 선택된다. 따라서 잔여 신호 부호화인 residual_coding()이 제외된다고 가정하면 하나의 CU당 최소 8개의 신택스 요소가 필요함을 알 수 있다. 따라서 4개의 sub-CU는 최소한 총 32개의 신택스 요소가 부호화 되어야 한다. 만약 한 개의 신택스가 최소 1 비트 이상이 필요하다고 가정하면 4개의 sub-CU를 위해서는 최소 32비트 이상이 필요함을 알 수 있다. 그리고 왜곡은 항상 0보다 크므로 4개의 sub-CU의 RDcost의 합은 항상 32λ보다 크다. 따라서 는 4개의 sub-CU의 RDcost의 합의 하한이 된다.
최종적으로 본 발명에서는 CU의 RDcost가 sub-CU의 RDcost 합의 하한인 32λ 보다 작으면 CU의 RDcost가 항상 sub-CU의 RDcost의 합보다 작으므로 sub-CU로 더 이상 분할되지 않는다.
도 9는 본 발명의 실시예에 따른 HEVC의 인트라 CU 크기 결정방법의 흐름도이다.
sub-CU의 RDcost의 하한은 CU 크기에 따라 변할 수 있다. 이는 부호화의 제약 조건으로 인하여 특정 신택스 요소는 부호화 할 필요가 없기 때문에 발생한다. 예를 들어 HEVC에서는 8×8이 최소 CU단위이기 때문에 sub-CU의 크기가 8×8이면 더 이상 CU를 분할할 필요가 없으므로 split_cu_ flag는 부호화 할 필요가 없다. 따라서 이 경우의 8×8 sub-CU의 RDcost의 하한은 28λ가 된다.
(3) 고속 인터 CU/PU 모드 결정 방법
도 10은 HEVC 인터 모드 종류를 나타내는 예시도이다.
HEVC는 효율적인 인터 예측을 위하여 도 11과 같이 SKIP, MERGE, INTER 2N×2N, INTER 2N×N, INTER N×2N, INTER N×N 등 다양한 PU 모드를 제공한다. 각각의 PU 모드를 부호화 하기 위한 신택스 요소나 부호화하기 위해 필요한 신택스 개수는 서로 상이하다.
이하 상기 차이점을 이용하여 본 발명의 다른 실시예에 따른 HEVC 인터 CU 및 PU 모드 결정방법에 대해 설명하기로 한다.
각각의 모드에 대한 필요한 신택스 요소의 최소 개수를 추정하고 이에 기반 하여 모드 결정과정을 미리 종료하는 방법이 개시된다.
Figure 112016125502332-pat00014
[SKIP CU를 부호화하기 위해 필요한 신택스 및 시맨틱]
SKIP CU를 위해 필요한 신택스 요소는 위의 표 3과 같다.
그리고 SKIP 이 아닐 경우 (Non-SKIP) 필요한 인터 CU 신택스 요소는 아래 표 4, 표 5 및 표 6과 같다.
Figure 112016125502332-pat00015
[Non-SKIP CU를 부호화하기 위해 필요한 신택스 및 시맨틱]
Figure 112016125502332-pat00016
[prediction_unit()이 포함하는 신택스 및 시맨틱]
Figure 112016125502332-pat00017
[mvd _coding()이 포함하는 신택스 및 시맨틱]
SKIP을 위해 필요한 총 신택스의 수는 2개이고, 각각의 신택스 요소를 1비트로 부호화 한다고 가정하면 필요한 최소 비트 수는 2이다. 따라서 만약 다른 CU 모드의 RDcost가 2λ보다 작으면 SKIP모드의 RDcost를 연산할 필요가 없다.
표 4의 prediction_unit()이 포함하는 정보는 위의 표 5에 나타난다. merge_flag는 현재 PU가 MERGE인지 아닌지를 가리킨다. 만약 MERGE이면 merge_ idx를 부호화하며, MERGE가 아닌 경우 inter_ pred _idc, ref_ idx _l0, mvp_l0_flag, ref_idx_l1, mvp_l1_flag, mvd _coding() 등을 부호화 한다. 따라서 현재 PU가 MERGE인지 아닌지에 따라서 부호화될 신택스 요소의 수가 달라진다. 또한, prediction_unit()은 PU마다 한 개씩 부호화 된다. 예를 들어 2N×2N의 경우에는 하나의 CU에 한 개의 PU가 존재하고, 2N×N 또는 N×2N인 경우에는 2개의 PU가 존재한다. N×N의 경우에는 총 4개의 PU가 존재한다. 슬라이스 유형에 따라 prediction_unit()에 포함될 수 있는 신택스 요소가 다르다. 예를 들어 P 슬라이스의 경우에는 전방향으로만 예측할 수 있기 때문에 List0에 연관된 신택스 요소만 필요하다. 반면에 B 슬라이스의 경우에는 양방향 및 전방향으로 예측이 가능하기 때문에 List0및 List1에 연관된 신택스 요소가 모두 필요하다. 이런 다양한 특징들을 조합하여 본 발명에서는 HEVC의 인터 모드 결정방법을 위한 RDcost의 하한을 결정한다.
mvd _coding()이 포함하는 신택스 요소는 표 6이 보여준다. abs_mvd_greater1_flag[0]mvd _sign_flag[0]abs_ mvd _ greater0 _flag[0]가 1인 경우에 존재하는 값이고, abs_ mvd _ greater1 _flag[1]mvd _sign_flag[1]abs_mvd_greater0_flag[1]가 1인 경우에 존재하는 값이다. abs_ mvd _ minus2[0]abs_mvd_greater0_flag[0]abs_ mvd _ greater1 _flag[0]가 모두 1이어야 존재하는 값이고, abs_ mvd _ minus2[1]abs_ mvd _ greater0 _flag[1]abs_mvd_greater1_flag[1]이 모두 1이어야 존재하는 값이다. 따라서 mvd _coding()는 움직임 벡터에 따라 최소 2개부터 최대 8개까지의 신택스 요소가 부호화 과정에 요구된다.
표 4 내지 표 6까지의 정보를 조합하여 본 발명에서는 SKIP을 제외한 다른 인터 모드에 대한 RDcost의 하한을 결정된다. 본 발명의 실시예에 따른 HEVC의 모드 결정방법은 B 슬라이스 및 P 슬라이스 모두에 적용될 수 있다.
이하 B 슬라이스에 대한 예시에 대해 설명하기로 한다.
RDcost의 하한은 신택스 요소의 수에 비례하여 결정되므로 prediction_unit()의 수가 작을수록 RDcost의 하한은 낮아진다. 따라서 prediction_unit()의 수가 작은 순서대로 RDcost의 하한이 연산된다. 각 인터 모드 유형마다 prediction_unit()의 수는 아래 표 7과 같다.
Figure 112016125502332-pat00018
[인터 PU 모드에 따른 prediction_unit()의 수]
본 발명에서는 먼저 2N×2N의 RDcost 하한이 연산되고, 그 다음 2N×N, N×2N, nR×2N, nL×2N, 2N×nU, 2N×nD의 하한이 연산되고, 마지막에 N×N의 RDcost 하한이 연산된다. 상기 RDcost의 하한들은 비교 기준들에 해당되고, SKIP 모드의 RDcost는 제1 비교 타겟에 해당된다.
2N×2N은 MERGE모드인 경우와 INTER 모드인 경우로 나눌 수 있다. 먼저 2N×2N MERGE를 부호화 하기 위해 필요한 syntax 요소는 표 8과 같다.
Figure 112016125502332-pat00019
[2N×2N MERGE PU를 부호화하기 위해 필요한 신택스]
표 8과 같이 총 10개의 신택스 요소가 필요하며 따라서 각각의 신택스 요소를 최소 1비트로 코딩한다고 가정하였을 때 최소 10비트가 필요하다. 따라서 만약 다른 모드의 RDcost가 10λ보다 작으면 2N×2N MERGE모드의 RDcost를 연산할 필요가 없다.
Figure 112016125502332-pat00020
[2N×2N INTER PU를 부호화하기 위해 필요한 신택스]
2N×2N INTER모드를 부호화하기 위해 필요한 신택스 요소는 위의 표 9와 같다.
B 슬라이스를 가정하였으므로 전방향, 후방향, 및 쌍방향 예측이 수행될 수 있다. 일반적으로 쌍방향 예측의 효율이 가장 높으므로 본 발명에서는 쌍방향 예측이 사용될 경우를 가정한다. 또한 움직임 벡터 차이를 부호화하는 함수인 mvd_coding()은 2개부터 8개의 신택스를 요구하며, 하한의 연산이므로 최소인 2개의 신택스가 필요한 것으로 결정된다. 그리고 모든 잔여 신호가 0이라고 가정하면 rqt_root_cbf만이 부호화 되면 되고 이 경우 transform_tree()는 부호화의 필요성이 없다. 이럴 경우 필요한 비트 수는 총 14비트이다. 따라서 만약 다른 모드의 RDcost가 14λ보다 작으면 2N×2N Inter PU모드의 RDcost를 연산할 필요가 없다.
2N×N, N×2N, nR×2N, nL×2N, 2N×nD, 2N×nU는 모두 2개의 prediction unit()을 가지므로 RDcost 하한을 공통을 사용할 수 있다. 2N×2N 모드에서 본 것처럼 한 prediction_unit()을 부호화기 위해 필요한 신택스 요소는 MERGE일 경우 2개이고 MERGE가 아닐 경우에는 10개이다. 그리고 prediction_unit()을 제외하고 부호화해야 할 최소의 신택스 요소는 cu_skip_flag, pred _mode_flag, part_mode, rqt_root_cbf로 4개이다. 따라서 prediction_unit()이 2개일 때 최소의 신택스 개수는 prediction_unit()이 모두 MERGE인 경우고, 이 경우의 총 신택스 요소의 수는 4+2×2 = 8개이다. 따라서 만약 다른 모드의 RDcost가 보다 작으면 2N×N, N×2N, nR×2N, nL×2N, 2N×nD, 2N×nU 모드의 RDcost를 연산할 필요가 없다.
2N×N, N×2N, nR×2N, nL×2N, 2N×nD, 2N×nU에서 하나 이상의 PU가 INTER모드일 수 있다. 이 경우의 하한은 한 개의 prediction_unit()은 INTER이고 다른 한 개는 MERGE일 경우로 볼 수 있으며 RDcost의 하한은 MERGE를 위한 2개 신택스 요소, INTER를 위한 신택스 요소 10개, prediction_unit() 이외의 신택스 요소로 총 16개의 신택스 요소가 필요하다. 따라서 만약 다른 모드의 RDcost가 보다 작으면 2N×N, N×2N, nR×2N, nL×2N, 2N×nD, 2N×nU 모드의 INTER에 대한 RDcost를 연산할 필요가 없다.
N×N은 4개의 prediction unit()을 가진다. prediction_unit()이 4개일 때 최소의 신택스 개수는 prediction_unit()이 모두 MERGE인 경우고, 이 경우의 총 신택스 요소의 수는 4+4×2 = 12개이다. 따라서 만약 다른 모드의 RDcost가 보다 작으면 N×N 모드의 RDcost를 연산할 필요가 없다.
2N×N의 경우처럼 N×N에서도 하나 이상의 INTER PU 모드가 존재할 수 있다. N×N INTER의 RDcost 연산의 유무를 결정하기 위해 본 발명에서는 2개의 prediction_unit()은 INTER이고 2개의 prediction_unit()은 MERGE라고 가정하였다. 이 경우 RDcost의 하한은 MERGE를 위한 2개 신택스 요소, INTER를 위한 신택스 요소 10개, prediction_unit() 이외의 신택스 요소로 총 28개의 신택스 요소가 필요하다. 따라서 만약 다른 모드의 RDcost가 28λ보다 작으면 N×N 모드의 INTER에 대한 RDcost를 연산할 필요가 없다.
도 12는 본 발명의 실시예에 따른 B-Slice를 위한 HEVC의 인터 CU/PU 모드 결정방법의 흐름도이다.
도 12를 참조하면, 먼저 SKIP 모드의 RDcost가 산출된 후 SKIP 모드의 RDcost가 10λ보다 작으면 전체 인터 모드 과정이 종료되고 SKIP 모드가 최적의 모드로 선택된다. 만약 SKIP 모드의 RDcost가 10λ보다 크면 MERGE의 RDcost이 연산되고 SKIP 모드와 MERGE의 RDcost 중 가장 작은 RDcost가 제2 비교 타겟(J temp-best )으로 결정된다. 제2 비교 타겟(J temp-best )이 만약 14λ보다 작으면 2N×2N INTER에 대한 RDcost가 스킵된다. 만약 제2 비교 타겟(J temp-best )이 8λ보다 작으면 인터 모드 과정이 종료되고 제2 비교 타겟(J temp-best )을 가진 모드를 최적의 모드로 선택한다. 만약 제2 비교 타겟(J temp-best )이 8λ보다 크고 16λ보다 작으면 N×2N의 MERGE에 대한 RDcost만이 연산되고 제2 비교 타겟(J temp-best )이 16λ보다 크면 N×2N의 MERGE와 INTER에 대한 RDcost이 연산된다. N×2N의 RDcost가 제2 비교 타겟(J temp-best )보다 작으면 N×2N의 RDcost가 제2 비교 타겟(J temp-best )으로 업데이트된다. 나머지 모드에 대하여도 N×2N의 방법과 동일한 방법이 적용된다.
도 13은 본 발명의 실시예에 따른 HEVE 부호화의 P-Slice를 위한 인터 CU/PU 모드 결정방법의 흐름도이다.
도 13을 참조하면, P-Slice의 임계치는 B-Slice에서의 방법과 동일하게 산출 된다. P-Slice는 단방향 예측만 사용되므로 B-Slice에 비해 신택스 요소의 수가 작으므로 임계치가 B-Slice에 비해 낮은 것이 특징이다. 도 12의 설명과 중복되는 설명은 생략하기로 한다.
본 발명에 따른 모드 결정방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 모드 결정장치, 110: 율-왜곡 비용 연산부
120: 모드 결정부, 210: 움직임 예측부,
220: 움직임 보상부, 230: 스위치
350: 감산기 400: 변환부,
450: 역변화부, 455: 가산기
500: 양자화부, 550: 역장자화부,
600: 엔트로부 부호화부, 700: 필터부,
800: 참조영상 예측부

Claims (10)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 고효율 비디오 부호화(High Efficiency Video Coding, HEVC)의 인트라 (intrapicture) PU(prediction unit) 예측 모드 결정에 이용되며, 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 입력 영상의 부호화에 대한 율-왜곡비용의 하한을 연산하며, 복수의 부호화 모드들 중에서 어느 하나의 모드를 현재 부호화 모드로 선택하고 선택된 현재 부호화 모드의 율-왜곡 비용을 연산하고, 상기 현재 부호화 모드의 율-왜곡 비용과 상기 율-왜곡 비용의 하한을 비교하며, 상기 현재 부호화 모드의 율-왜곡 비용이 상기 율-왜곡 비용의 하한보다 작은 경우에 상기 현재 부호화 모드를 최적의 부호화 모드로 선택하며 다른 부호화 모드의 율-왜곡 비용의 연산은 생략하는 고효율 비디오 부호화 모드 결정방법에 있어서,
    상기 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 MPM(most probable mode)이 아닌(Non-MPM) 모드의 율-왜곡비용의 하한을 7λ으로 연산하는 단계, 여기서 λ는 라그랑지안 계수(lagrangian multiplier);
    인트라 PU 예측 모드 중에서 MPM 모드들의 율-왜곡 비용을 연산하고, 이 중에서 최소 율-왜곡 비용을 갖는 최적의 MPM 모드를 찾는 단계;
    상기 최소 율-왜곡 비용과 상기 율-왜곡비용의 하한을 비교하는 단계; 및
    상기 최소 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작은 경우, 상기 최적의 MPM 모드를 예측 모드로 선택하는 단계를 포함하는, 고효율 비디오 부호화 모드 결정방법.
  5. 청구항 4에서,
    상기 최소 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작지 않은 경우,
    상기 MPM이 아닌 모드의 율-왜곡 비용을 계산하는 단계; 및
    상기 MPM이 아닌 모드의 율-왜곡 비용과 상기 최소 율-왜곡 비용을 비교하고, 이들 중에서 최적의 모드를 선택하는 단계를 더 포함하는, 고효율 비디오 부호화 모드 결정방법.
  6. 고효율 비디오 부호화(High Efficiency Video Coding, HEVC)의 인트라 CU(Coding Unit) 크기 결정에 이용되며, 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 입력 영상의 부호화에 대한 율-왜곡비용의 하한을 연산하며, 복수의 부호화 모드들 중에서 어느 하나의 모드를 현재 부호화 모드로 선택하고 선택된 현재 부호화 모드의 율-왜곡 비용을 연산하고, 상기 현재 부호화 모드의 율-왜곡 비용과 상기 율-왜곡 비용의 하한을 비교하며, 상기 현재 부호화 모드의 율-왜곡 비용이 상기 율-왜곡 비용의 하한보다 작은 경우에 상기 현재 부호화 모드를 최적의 부호화 모드로 선택하며 다른 부호화 모드의 율-왜곡 비용의 연산은 생략하는 고효율 비디오 부호화 모드 결정방법에 있어서,
    상기 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 현재 CU가 분할되어 형성된 4개의 sub-CU들의 율-왜곡비용의 하한을 32λ으로 연산하는 단계, 여기서 λ는 라그랑지안 계수(lagrangian multiplier);
    상기 현재 CU의 율-왜곡 비용을 연산하는 단계; 및
    상기 율-왜곡비용의 하한과 상기 현재 CU의 율-왜곡비용을 비교하는 단계를 포함하되,
    상기 현재 CU의 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작은 경우, 상기 현재 CU는 분할되지 않는, 고효율 비디오 부호화 모드 결정방법.
  7. 청구항 6에서,
    상기 현재 CU의 율-왜곡 비용이 상기 율-왜곡비용의 하한보다 작지 않은 경우,
    상기 sub-CU들의 율-왜곡 비용들의 합을 연산하는 단계; 및
    상기 현재 CU의 율-왜곡 비용과 상기 sub-CU들의 율-왜곡 비용들의 합을 비교하는 단계를 더 포함하되,
    상기 현재 CU의 율-왜곡 비용이 상기 sub-CU들의 율-왜곡 비용들의 합보다 작은 경우, 상기 현재 CU는 분할되지 않고,
    상기 현재 CU의 율-왜곡 비용이 상기 sub-CU들의 율-왜곡 비용들의 합보다 작지 않은 경우, 상기 현재 CU는 분할되는, 고효율 비디오 부호화 모드 결정방법.
  8. 고효율 비디오 부호화(High Efficiency Video Coding, HEVC)의 인터 CU(Coding Unit)/PU(Prediction Unit) 모드 결정에 이용되며, 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여 입력 영상의 부호화에 대한 율-왜곡비용의 하한을 연산하며, 복수의 부호화 모드들 중에서 어느 하나의 모드를 현재 부호화 모드로 선택하고 선택된 현재 부호화 모드의 율-왜곡 비용을 연산하고, 상기 현재 부호화 모드의 율-왜곡 비용과 상기 율-왜곡 비용의 하한을 비교하며, 상기 현재 부호화 모드의 율-왜곡 비용이 상기 율-왜곡 비용의 하한보다 작은 경우에 상기 현재 부호화 모드를 최적의 부호화 모드로 선택하며 다른 부호화 모드의 율-왜곡 비용의 연산은 생략하는 고효율 비디오 부호화 모드 결정방법에 있어서,
    (a) 상기 부호화에 필요한 신택스(syntax) 요소 및 신택스(syntax) 개수에 기반하여, 비교 기준으로서 2N×2N MERGE, 2N×2N INTER, N×2N MERGE, N×2N INTER, 비대칭 모션 분할(asymmetric motion partition, AMP), N×N MERGE 및 N×N INTER 모드 부호화의 율-왜곡 비용의 하한을 연산하는 단계;
    (b) 제1 비교 타겟으로서 SKIP 모드를 선택하고, SKIP 모드의 율-왜곡 비용을 연산하는 단계;
    (c) 상기 제1 비교 타겟의 율-왜곡 비용이 상기 비교 기준인 2N×2N MERGE 모드의 율-왜곡 비용의 하한보다 작은지 비교하는 단계;
    (d) 상기 제1 비교 타겟의 율-왜곡 비용이 상기 비교 기준보다 더 작은 경우 상기 제1 비교 타겟을 선택하고,
    그렇지 않은 경우 상기 비교 기준의 율-왜곡 비용을 연산하고,
    상기 제1 비교 타겟의 율-왜곡 비용과 상기 비교 기준인 2N×2N MERGE의 율-왜곡 비용을 비교하고, 이 중에서 최적의 율-왜곡 비용을 갖는 모드를 제2 비교 타겟으로 업데이트하는 단계;
    순서대로 나머지 2N×2N INTER, N×2N MERGE, N×2N INTER, 비대칭 모션 분할(AMP), N×N MERGE 및 N×N INTER 모드에 대해서, 상기 제2 비교 타겟의 율-왜곡 비용을 상기 (c) 및 (d)의 과정과 동일하게 다른 비교 기준과 비교하여 상기 제2 비교 타겟을 선택하거나 최적의 율-왜곡 비용을 갖는 모드가 되도록 제3 비교 타겟을 업데이트 하고,
    최종 업데이트된 상기 제2 비교 타겟 또는 상기 제3 비교 타겟의 모드를 선택하는 단계를 포함하는, 고효율 비디오 부호화 모드 결정방법.
  9. 청구항 8에서,
    신택스 요소 prediction_unit에 포함될 수 있는 신택스 요소에 따라, B-Slice를 위한 CU/PU 모드 결정 또는 P-Slice를 위한 CU/PU 모드 결정을 포함하는, 고효율 비디오 부호화 모드 결정방법.
  10. 청구항 8에서,
    SKIP 모드의 율-왜곡 비용이 2N×2N MERGE 모드의 율-왜곡 비용의 하한, 10λ보다 작은 경우, SKIP 모드를 선택하고,
    제2 비교 타겟의 율-왜곡 비용이 N×2N MERGE 모드의 율-왜곡 비용의 하한, 8λ보다 작은 경우, 최적의 율-왜곡 비용을 갖는 제2 비교 타겟을 선택하고,
    제2 비교 타겟의 율-왜곡 비용이 N×N MERGE 모드의 율-왜곡 비용의 하한, 12λ보다 작은 경우, 최적의 율-왜곡 비용을 갖는 제2 비교 타겟을 선택하는, 고효율 비디오 부호화 모드 결정방법.
KR1020160175385A 2016-12-21 2016-12-21 고효율 비디오 부호화 모드 결정방법 및 결정장치 KR101967028B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160175385A KR101967028B1 (ko) 2016-12-21 2016-12-21 고효율 비디오 부호화 모드 결정방법 및 결정장치
PCT/KR2017/002190 WO2018117334A1 (ko) 2016-12-21 2017-02-28 고효율 비디오 부호화 모드 결정방법 및 결정장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160175385A KR101967028B1 (ko) 2016-12-21 2016-12-21 고효율 비디오 부호화 모드 결정방법 및 결정장치

Publications (2)

Publication Number Publication Date
KR20180072133A KR20180072133A (ko) 2018-06-29
KR101967028B1 true KR101967028B1 (ko) 2019-04-09

Family

ID=62626735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160175385A KR101967028B1 (ko) 2016-12-21 2016-12-21 고효율 비디오 부호화 모드 결정방법 및 결정장치

Country Status (2)

Country Link
KR (1) KR101967028B1 (ko)
WO (1) WO2018117334A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020171673A1 (ko) * 2019-02-24 2020-08-27 엘지전자 주식회사 인트라 예측을 위한 비디오 신호의 처리 방법 및 장치
US20220124309A1 (en) * 2019-02-28 2022-04-21 Lg Electronics Inc. Unified mpm list-based intra prediction
CN110139106B (zh) * 2019-04-04 2023-01-17 中南大学 一种视频编码单元分割方法及其系统、装置、存储介质
CN110087087B (zh) * 2019-04-09 2023-05-12 同济大学 Vvc帧间编码单元预测模式提前决策及块划分提前终止方法
CN111277838B (zh) * 2020-02-17 2022-10-14 腾讯科技(深圳)有限公司 编码模式选择方法、装置、电子设备及计算机可读介质
CN111654696B (zh) * 2020-04-24 2022-08-05 北京大学 一种帧内的多参考行预测方法、装置、存储介质及终端
CN111918058B (zh) * 2020-07-02 2022-10-28 北京大学深圳研究生院 硬件友好的帧内预测模式快速确定方法、设备及存储介质
CN111901602B (zh) * 2020-08-07 2022-09-30 北京奇艺世纪科技有限公司 视频数据编码方法、装置、计算机设备和存储介质
CN114157868B (zh) * 2022-02-07 2022-07-19 杭州未名信科科技有限公司 视频帧的编码模式筛选方法、装置及电子设备
CN116170594B (zh) * 2023-04-19 2023-07-14 中国科学技术大学 一种基于率失真代价预测的编码方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101359496B1 (ko) * 2008-08-06 2014-02-11 에스케이 텔레콤주식회사 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치
US9426473B2 (en) * 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
US9148667B2 (en) * 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
KR101621854B1 (ko) * 2014-02-21 2016-05-17 연세대학교 산학협력단 Tsm 율-왜곡 최적화 방법, 그를 이용한 인코딩 방법 및 장치, 그리고 영상 처리 장치
KR20160106348A (ko) * 2015-03-02 2016-09-12 한국전자통신연구원 비디오 부호화 방법 및 그 장치
KR101668851B1 (ko) * 2015-03-09 2016-10-31 한국전자통신연구원 Hevc 고속 부호화 모드 결정을 위한 적응적 부호화 모드 순서 정렬 방법 및 장치

Also Published As

Publication number Publication date
WO2018117334A1 (ko) 2018-06-28
KR20180072133A (ko) 2018-06-29

Similar Documents

Publication Publication Date Title
KR101967028B1 (ko) 고효율 비디오 부호화 모드 결정방법 및 결정장치
US11683475B2 (en) Method and apparatus for image encoding/decoding
JP7253844B2 (ja) 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読記録媒体
CN109804626B (zh) 用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质
EP2767087B1 (en) Sample adaptive offset merged with adaptive loop filter in video coding
KR102257335B1 (ko) 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
US20230276046A1 (en) Method and apparatus for image encoding/decoding
US9955155B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
KR20180008445A (ko) 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
KR20160106023A (ko) 동영상 부호화 장치
WO2013036071A2 (ko) 인터 예측 방법 및 그 장치
WO2015138954A1 (en) Color-space inverse transform both for lossy and lossless encoded video
KR20210158888A (ko) 비디오 신호의 처리 방법 및 장치
KR102294016B1 (ko) 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치
KR101790671B1 (ko) 하다마드-양자화 비용에 기반하여 율-왜곡 최적화를 수행하는 장치 및 방법
US10205952B2 (en) Method and apparatus for inter color component prediction
KR20150095254A (ko) 영상 부호화에서의 화면 내 예측 생략 방법 및 장치
KR101659343B1 (ko) 동영상 처리 방법 및 장치
KR101914667B1 (ko) 동영상 처리 방법 및 장치
JP2006093777A (ja) 動画像符号化装置及び動画像符号化プログラム
KR102107080B1 (ko) 영상의 고속 부호화를 위한 방법
KR20200087086A (ko) 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant