KR20210131972A - 영상 부호화 또는 복호화하기 위한 장치 및 방법 - Google Patents

영상 부호화 또는 복호화하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20210131972A
KR20210131972A KR1020210144250A KR20210144250A KR20210131972A KR 20210131972 A KR20210131972 A KR 20210131972A KR 1020210144250 A KR1020210144250 A KR 1020210144250A KR 20210144250 A KR20210144250 A KR 20210144250A KR 20210131972 A KR20210131972 A KR 20210131972A
Authority
KR
South Korea
Prior art keywords
current block
mpm
intra
mpms
mode
Prior art date
Application number
KR1020210144250A
Other languages
English (en)
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 에스케이텔레콤 주식회사
Publication of KR20210131972A publication Critical patent/KR20210131972A/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/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/176Methods 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 block, e.g. a macroblock
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

본 발명은 인트라 예측 코딩에서, 현재 블록을 예측하기 위한 인트라 예측 모드를 효율적으로 시그널링하는 것과 관련이 있다. 본 발명의 일 측면에 따르면, 영상 부호화 장치는 수십 개에 달하는 인트라 모드들을 그룹으로 구분 지어, 부호화 대상인 현재 블록의 실제 인트라 모드가 속한 그룹을 선정하고, 영상 부호화 장치는 해당 그룹에 상응하는 값을 시그널링한다. 영상 복호화 장치는 비트스트림(bit-stream)에서 현재 블록의 실제 인트라 모드가 속한 그룹에 대한 정보를 획득한 후, 해당 그룹에 속한 인트라 모드들을 평가하여 최종 인트라 모드를 선정하게 된다.

Description

영상 부호화 또는 복호화하기 위한 장치 및 방법{Apparatus and Method for Video Encoding or Decoding}
본 발명은 영상을 효율적으로 부호화하기 위한 영상 부호화 또는 복호화에 관한 것이다. 보다 상세하게는, 인트라 예측 시, 현재 블록을 예측하기 위한 인트라 예측 모드를 부호화 및 복호화하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다.
현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀 값을 예측하는 인트라 예측 및 코딩에는 복수의 인트라 예측 모드가 존재한다. 영상 부호화 장치는 복수의 인트라 예측 모드 중에 부호화 대상인 현재 블록에 대한 최종 하나의 모드를 선정하여 영상 복호화 장치에 해당 모드에 대한 정보를 전달하게 된다. 이때, 선정된 인트라 모드를 효율적으로 표현하기 위해 최고 확률 모드(most probable mode, MPM)를 이용하게 된다.
도 1은 HEVC에서 인트라 예측에 사용 가능한 인트라 모드들을 도시한 도면이다. HEVC의 경우, 도 1과 같이 방향성을 가진 33개의 각도 모드들 및 방향성이 없는 2개의 모드들로 포함하는 총 35개의 인트라 모드가 존재한다. 35개 모드 중 부호화 대상 블록의 최종 인트라 모드를 부호화하기 위해 해당 블록의 주변 블록 및 통계적으로 가장 자주 사용되는 모드들을 이용하여 해당 블록을 위한 3개의 MPM을 선정한다.
해당 블록의 최종 모드가 MPM과 동일한지 여부를 나타내는 1 bit MPM 플래그(flag)를 전송하고, 최종 모드가 MPM 이라면, 추가로 MPM 인덱스(index) 값을 전송한다. 최종 모드가 MPM이 아니라면, 나머지 모드들 중 어느 모드인지를 명백하게 전송하게 된다.
한편, 영상의 해상도가 64x64에서 256x256 등으로 점점 커지면서 예측 블록의 단위도 점점 커지고 있으며, 그에 따라 많은 인트라 모드들이 추가될 가능성이 높아지고 있으나, 예측한 MPM이 여전히 다른 경우, 여전히 기존 값을 고정길이 부호(fixed length code)화하여 보내야 하는 경우도 발생될 수 있다.
또한, 영상이 커지면서 많은 인트라 모드가 추가되어 예측한 MPM을 증가시키는 경우, 예측 효율을 높일 수 있으나 절삭된 유너리(truncated unary) 형태로 표기형태를 따르므로 MPM을 증가시키는 것이 오히려 압출 효율을 낮출 가능성이 있다.
나아가, Coding Unit이 트리(tree) 구조에 따라 여러 형태로 파티셔닝(partitioning) 되고 루마(Luma)와 크로마(Chroma)도 코딩 블록(Coding Block)이 나눠짐에 따라 루마 코딩에서 산출된 다양한 인트라 모드를 활용하여 Planar, DC, Vertical, Horizontal, DM, LM 표현이 가능해짐에 따라 크로마를 위한 인트라 모드의 압축에도 대표적인 모드(예컨대, Direct Mode)를 플래그 표현하여 활용될 수 있다.
본 발명은 인트라 예측 코딩에서, 현재 블록을 예측하기 위한 인트라 예측 모드를 효율적으로 시그널링하는 데 그 목적이 있다.
본 발명의 일 측면은 영상 데이터를 부호화하는 방법으로서, 영상 데이터의 현재 블록을 예측하기 위한 인트라 모드를 결정하는 과정; 영상 데이터의 상기 현재 블록에 대한 최고 확률 모드(Most Probable Mode: MPM)들을 결정하는 과정; 및 상기 현재 블록의 인트라 모드 데이터를 부호화하는 과정을 포함한다. 상기 현재 블록의 인트라 모드 데이터를 부호화하는 과정은, 상기 MPM들 중 어느 것도 상기 현재 블록을 예측하기 위한 인트라 모드와 동일하지 않는 경우, 상기 현재 블록을 예측하기 위한 인트라 모드가 MPM이 아니라는 것을 나타내는 MPM 플래그를 부호화하는 과정; 가능한 인트라 모드들에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성하는 과정, 상기 Non-MPM들의 리스트에서 인트라 모드들은 복수의 그룹으로 구분됨; 및 Non-MPM들의 리스트 내에서 상기 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 나타내는 데이터를 부호화하는 과정을 포함할 수 있다.
본 발명의 다른 측면은 영상 데이터를 복호화하는 방법으로서, 영상 데이터의 현재 블록에 대한 최고 확률 모드(MPM)들을 결정하는 과정; 비트스트림으로부터 상기 현재 블록을 예측하기 위한 인트라 모드가 MPM인지 여부를 나타내는 MPM 플래그를 복호화하는 과정; 및 상기 현재 블록을 예측하기 위한 인트라 모드가 MPM이 아니라고 상기 MPM 플래그가 지시할 때, 가능한 인트라 모드들에서 상기 MPM들을 제외한 Non-MPM들을 이용하여 현재 블록의 인트라 모드를 결정하는 과정을 포함한다. 상기 Non-MPM들을 이용하여 상기 현재 블록을 예측하기 위한 인트라 모드를 결정하는 과정은, 상기 Non-MPM들을 복수의 Non-MPM 그룹으로 구분한 non-MPM 리스트를 생성하는 과정; 상기 비트스트림으로부터 상기 현재 블록을 예측하기 위한 인트라 모드가 속하는 Non-MPM 그룹의 인덱스를 나타내는 데이터를 복호화하는 과정; 및 상기 현재 블록의 인트라 모드를 선정하기 위해, 상기 Non-MPM 그룹의 인덱스에 의해 지시되는 그룹에 속하는 Non-MPM들을 평가하는 과정을 포함할 수 있다.
본 발명의 또 다른 측면은 영상 데이터를 복호화하는 장치로서, 메모리 및 하나 이상의 프로세서들을 포함하며, 상기 하나 이상의 프로세서들은, 영상 데이터의 현재 블록에 대한 최고 확률 모드(MPM)들을 결정하는 과정; 비트스트림으로부터 상기 현재 블록을 예측하기 위한 인트라 모드가 MPM인지 여부를 나타내는 MPM 플래그를 복호화하는 과정; 및 상기 현재 블록을 예측하기 위한 인트라 모드가 MPM이 아니라고 상기 MPM 플래그가 지시할 때, 가능한 인트라 모드들에서 상기 MPM들을 제외한 Non-MPM들을 이용하여 현재 블록의 인트라 모드를 결정하는 과정을 수행하도록 구성된다. 상기 Non-MPM들을 이용하여 상기 현재 블록을 예측하기 위한 인트라 모드를 결정하는 과정은, 상기 Non-MPM들을 복수의 Non-MPM 그룹으로 구분한 non-MPM 리스트를 생성하는 과정; 상기 비트스트림으로부터 상기 현재 블록을 예측하기 위한 인트라 모드가 속하는 Non-MPM 그룹의 인덱스를 나타내는 데이터를 복호화하는 과정; 상기 현재 블록의 인트라 모드를 선정하기 위해, 상기 Non-MPM 그룹의 인덱스에 의해 지시되는 그룹에 속하는 Non-MPM들을 평가하는 과정을 포함할 수 있다.
도 1은 HEVC에서 인트라 예측에 사용 가능한 인트라 모드들을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
도 3은 QTBT 구조를 이용한 블록 분할의 예시도이다.
도 4는 복수의 인트라 예측 모드에 대한 예시를 나타낸다.
도 5는 현재 블록의 주변블록에 대한 예시도이다.
도 6은 본 발명의 실시예에 따른 영상 복호화 장치를 도시한 것이다.
도 7은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 부호화하는 예시적인 방법을 도시한 흐름도이다.
도 8은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 부호화하는 다른 예시적인 방법을 도시한 흐름도이다.
도 9는 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 복호화하는 예시적인 방법을 도시한 흐름도이다.
도 10은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 복호화하는 다른 예시적인 방법을 도시한 흐름도이다.
도 11은 인트라 예측 코딩에서 예측 블록을 생성하는 데 사용되는 참조 픽셀들을 예시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
영상 부호화 장치는 블록 분할부(210), 예측부(220), 감산기(230), 변환부(240), 양자화부(245), 부호화부(250), 역양자화부(260), 역변환부(265), 가산기(270), 필터부(280) 및 메모리(290)를 포함한다. 영상 부호화 장치는 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
블록 분할부(210)는 영상을 구성하는 각 픽처(picture)를 복수의 CTU(Coding Tree Unit)으로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU (coding unit)가 된다. 트리 구조로는 상위 노드가 네 개의 하위 노드로 분할하는 쿼드트리(QuadTree, QT), 또는 QT 구조 및 상위 노드가 두 개의 하위 노드로 분할하는 바이너리트리(BinaryTree, BT) 구조를 혼용한 QTBT (QuadTree plus BinaryTree) 구조가 사용될 수 있다.
QTBT (QuadTree plus BinaryTree) 구조에서, CTU는 먼저 QT 구조로 분할된다. 이후, QT의 리프 노드들은 BT에 의해 추가로 더 분할될 수 있다. 블록 분할부(210)가 QTBT 구조에 의해 CTU를 분할하여 생성하는 분할 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
QT에서는 해당 노드의 블록이 분할 여부를 지시하는 제1 플래그(QT 분할 플래그, QT_split_flag)가 부호화된다. 제1 플래그가 1이면 해당 노드의 블록이 동일 크기의 네 개의 블록으로 분할되고, 0이면 해당 노드는 QT에 의해 더 이상 분할되지 않는다.
BT에서는 해당 노드의 블록의 분할 여부를 지시하는 제2 플래그(BT 분할 플래그, BT_split_flag)가 부호화된다. BT 에서는 복수의 분할 타입이 존재할 수 있다. 예컨대, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입 두 가지가 존재할 수 있다. 또는, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 또는 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다. 이렇게 BT가 복수의 분할 타입을 가지는 경우에는, 블록이 분할됨을 의미하는 제2 플래그가 부호화되면, 해당 블록의 분할 타입을 지시하는 분할 타입 정보가 추가로 부호화된다.
도 3은 QTBT 구조를 이용한 블록 분할의 예시도이다. 도 3의 (a)는 QTBT 구조에 의해 블록이 분할되는 예시이고, (b)는 이를 트리구조로 표현한 것이다. 도 3에서 실선은 QT 구조에 의한 분할을, 점선은 BT 구조에 의한 분할을 나타낸다. 또한, 도 3 (b)에서 layer 표기와 관련하여, 괄호가 없는 것은 QT의 레이어를, 괄호가 있는 것은 BT의 레이어를 나타낸다. 점선으로 표현된 BT 구조에서 숫자는 분할 타입 정보를 나타낸다.
도 3에서, QT의 최상위 레이어인 CTU는 layer 1의 네 개의 노드로 분할된다. 이에 따라 블록 분할부(210)는 CTU가 분할됨을 지시하는 QT 분할 플래그(QT_split_flag = 1)를 생성한다. layer 1의 첫 번째 노드에 해당하는 블록은 더 이상 QT에 의해 분할되지 않다. 따라서, 블록 분할부(210)는 QT_split_flag = 0을 생성한다.
이후, QT의 layer 1의 첫 번째 노드에 해당하는 블록은 BT로 진행한다. 본 실시예에서는, BT가 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입 두 가지가 존재하는 것으로 설명한다. QT의 layer 1의 첫 번째 노드는 BT의 루트 노드(root node, (layer 0))가 된다. BT의 루트 노드에 해당하는 블록은 (layer 1)의 블록으로 더 분할되므로, 블록 분할부(210)는 BT에 의해 분할됨을 지시하는 BT 분할 플래그(BT_split_flag) = 1을 생성한다. 이후, 해당 블록이 가로로 분할되는지 아니면 세로로 분할되는지 여부를 지시하는 분할 타입 정보를 생성한다. 도 3에서 BT의 루트 노드에 해당하는 블록은 세로로 분할되므로 세로 분할을 지시하는 1이 분할 타입 정보로서 생성된다. 루트 노드로부터 분할된 (layer 1)의 블록 중 첫 번째 블록은 추가로 더 분할되고 분할 타입은 세로이므로, BT_split_flag = 1 및 분할 타입 정보 1을 생성한다. 반면, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 블록은 더 이상 분할되지 않으므로 BT_split_flag = 0을 생성한다.
한편, QTBT 구조에 의한 블록 분할에 대한 정보를 효율적으로 영상 복호화 장치로 시그널링하기 위해, 다음의 정보가 추가로 부호화될 수 있다. 이 정보들은 영상의 헤더 정보로서 부호화되는데, 예컨대 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set)로 부호화될 수 있다.
- CTU size: QTBT의 최상위 레이어, 즉, 루트 노드의 블록 크기
- MinQTSize: QT에서 허용되는 리프 노드의 최소 블록 크기
- MaxBTSize: BT에서 허용되는 루트 노드의 최대 블록 크기
- MaxBTDepth: BT에서 허용되는 최대 심도(Depth)
- MinBTSize: BT에서 허용되는 리프 노드의 최소 블록 크기
QT에서 MinQTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않으며, 따라서 해당 블록에 대응하는 QT에 관한 분할 정보(제1 플래그)는 부호화되지 않는다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 해당 블록에 대응하는 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보)는 부호화되지 않는다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않으며 해당 노드의 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보) 또한 부호화되지 않는다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않으며 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보) 또한 부호화되지 않는다. 이렇게, QT와 BT의 루프나 리프 노드가 가질 수 있는 최대 또는 최소 블록 크기를 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set) 등의 하이 레벨(high level)에서 정의함으로써, CTU의 분할 여부나 분할 타입을 지시하는 정보들에 대한 부호화량을 줄일 수 있다.
한편, CTU의 휘도(luma) 성분과 색차(chroma) 성분은 동일한 QTBT 구조로 분할될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며 휘도 성분과 색차 성분이 각각 별개의 QTBT 구조를 사용하여 분할될 수 있다. 예컨대, I (Intra) 슬라이스의 경우에는 루마(luma) 성분과 chroma 성분이 서로 다른 QTBT 구조로 분할될 수도 있다.
이하에서는, 부호화 또는 복호화하고자 하는 CU에 해당하는 블록을 '현재 블록'이라 칭한다.
예측부(220)는 현재 블록을 예측하여 예측블록을 생성한다. 예측부(220)는 인트라 예측부(222)와 인터 예측부(224)를 포함한다.
인트라 예측부(222)는 현재 블록이 포함된 현재 픽처 내에서 현재 블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재 블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. 특히, 인트라 예측부(222)는 현재 블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(222)는 여러 인트라 예측 모드들을 사용하여 현재 블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(222)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.
도 4는 복수의 인트라 예측 모드에 대한 예시를 나타낸다.
도 4에서 보는 바와 같이, 복수의 인트라 예측 모드는 2개의 비방향성 모드(planar 모드 및 DC 모드)와 65개의 방향성 모드를 포함할 수 있다.
인트라 예측부(222)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재 블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
한편, 인트라 예측부(222)는, 복수의 인트라 예측 모드 중 어느 모드가 현재 블록의 인트라 예측 모드로 사용되었는지를 지시하는 인트라 예측 모드 정보를 효율적으로 부호화하기 위해, 복수의 인트라 예측 모드 중 현재 블록의 인트라 예측 모드로서 가능성이 높은 일부의 모드를 MPM(most probable mode)으로 결정할 수 있다. 그리고, 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되는지 여부를 지시하는 모드 정보를 생성하여 부호화부(250)로 전달한다. 일반적으로, 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되는 경우, MPM 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제1 인트라 식별정보를 부호화부로 전달한다. 반면 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되지 않은 경우, MPM이 아닌 나머지 모드들 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제2 인트라 식별정보를 부호화부로 전달한다. 대안적으로, 본 발명의 일 측면에 따른 인트라 예측부(222)는 MPM들 및/또는 non-MPM들 중에서 어느 모드가 현재 블록을 예측하기 위한 인트라 예측 모드로 선택되었는지를 명시적으로 시그널링하는 대신에, MPM들 및/또는 non-MPM들을 그룹화하고, 현재 블록을 예측하기 위한 인트라 모드가 속하는 그룹의 인덱스를 시그널링할 수 있다.
이하에서는, MPM 리스트를 구성하는 방법을 설명한다. 여기서는, 6개의 MPM으로 MPM 리스트를 구성하는 것을 예로 설명하나, 본 발명이 이에 한정되는 것은 아니며 MPM 리스트에 포함되는 MPM의 개수는 3개 내지 10개의 범위 내에서 선택될 수 있다.
먼저, 현재 블록의 주변블록들의 인트라 예측 모드를 이용하여 MPM 리스트를 구성한다. 주변블록은, 예컨대 도 5에 도시된 바와 같이, 현재 블록의 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL) 중에서 전부 또는 일부를 포함할 수 있다. 이 주변블록들의 인트라 예측 모드가 MPM 리스트에 포함된다. 여기서, 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순서로 유효한 블록의 인트라 예측모드가 MPM 리스트에 포함되고, 이 주변블록들의 인트라 예측 모드들에 planar 모드 및 DC 모드를 추가하여 MPM 리스트를 구성한다. 또는 좌측블록(L), 상단블록(A), planar 모드, DC 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순으로 유효한 모드가 MPM 리스트에 추가될 수도 있다.
MPM 리스트에는 서로 다른 인트라 예측 모드만이 포함된다. 즉, 중복된 모드(duplicated mode)가 존재하는 경우 그 중 하나의 모드만이 MPM 리스트에 포함된다.
만약, 리스트 내의 MPM의 개수가 기결정된 개수(예컨대, 6)보다 작은 경우에는, 리스트 내의 방향성 모드들에 -1 또는 +1을 가산하여 MPM을 유도할 수도 있다. 또한, 리스트 내의 MPM의 개수가 기결정된 개수보다 작은 경우에는, 수직 모드(vertical mode), 수직 모드(horizontal mode), 대각선 모드(diagonal mode) 등의 순서로 부족한 개수 만큼의 모드를 MPM 리스트에 추가할 수도 있다.
인터 예측부(224)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재 블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재 블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재 블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(230)는 현재 블록으로부터 인트라 예측부(222) 또는 인터 예측부(224)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.
변환부(240)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(240)는 잔차 블록 내의 잔차 신호들을 현재 블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다.
양자화부(245)는 변환부(240)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(250)로 출력한다.
부호화부(250)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 또한, 부호화부(250)는 블록 분할과 관련된 CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT 분할 플래그, BT 분할 플래그, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
부호화부(250)는 현재 블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보 또는 인터 예측정보를 부호화한다.
역양자화부(260)는 양자화부(245)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(265)는 역양자화부(260)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(270)는 복원된 잔차블록과 예측부(220)에 의해 생성된 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(280)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이하에서는 영상 복호화 장치에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 영상 복호화 장치를 도시한 것이다.
영상 복호화 장치는 복호화부(610), 역양자화부(620), 역변환부(630), 예측부(640), 가산기(650), 필터부(660) 및 메모리(670)를 포함한다. 도 2의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(610)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재 블록을 결정하고, 현재 블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(610)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조를 이용하여 분할한다. 예컨대, QTBT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT의 분할과 관련된 제2 플래그(BT_split_flag) 및 분할 타입 정보를 추출하여 해당 리프 노드를 BT 구조로 분할한다.
도 3의 블록 분할 구조를 예로 들면, QTBT 구조의 최상위 레이어의 노드에 대응하는 QT 분할 플래그(QT_split_flag)를 추출한다. 추출된 QT 분할 플래그(QT_split_flag)의 값은 1이므로, 최상위 레이어의 노드는 하위 레이어(QT의 layer 1)의 네 개의 노드로 분할된다. 그리고, layer 1의 첫 번째 노드에 대한 QT 분할 플래그(QT_split_flag)를 추출한다. 추출된 QT 분할 플래그(QT_split_flag) 값은 0이므로, layer 1의 첫 번째 노드는 더 이상 QT 구조로 분할되지 않는다.
QT의 layer 1의 첫 번째 노드는 QT의 리프 노드가 되므로, QT의 layer 1의 첫 번째 노드를 BT의 루트 노드로 하는 BT로 진행한다. BT의 루트 노드, 즉 (layer 0))에 대응하는 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)는 1이므로, BT의 루트 노드는 (layer 1)의 두 개의 노드로 분할된다. BT의 루트 노드가 분할되므로, BT의 루트 노드에 대응하는 블록이 세로로 분할되는지 아니면 가로로 분할되는지 여부를 지시하는 분할 타입 정보를 추출한다. 분할 타입 정보가 1이므로, BT의 루트 노드에 대응하는 블록은 세로로 분할된다. 이후, BT의 루트 노드로부터 분할된 (layer 1)의 첫 번째 노드에 대한 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 1이므로, (layer 1)의 첫 번째 노드의 블록의 분할 타입 정보를 추출한다. (layer 1)의 첫 번째 노드의 블록의 분할 타입 정보가 1이므로 (layer 1)의 첫 번째 노드의 블록은 세로로 분할된다. 이후, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 노드의 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 0이므로, 더 이상 BT에 의해 분할되지 않는다.
이렇게, 복호화부(610)는 먼저 QT 분할 플래그(QT_split_flag)를 반복적으로(recursively) 추출하여 CTU를 QT 구조로 분할한다. 그리고 QT의 리프 노드에 대해서는 BT 분할 플래그(BT_split_flag)를 추출하고, BT 분할 플래그(BT_split_flag)가 분할을 지시하면 분할 타입 정보를 추출한다. 이러한 방식을 통해 복호화부(610)은 CTU가 도 3의 (a)와 같은 구조로 분할됨을 확인할 수 있다.
한편, SPS 또는 PPS에 MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize 등의 정보가 추가로 정의되어 있는 경우에는, 복호화부(610)는 해당 정보를 추출하고 QT 및 BT에 대한 분할 정보를 추출할 때 이 정보를 반영할 수 있다.
예컨대, QT에서 MinQTSize 과 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서 복호화부(610)는 해당 블록의 QT에 관한 분할 정보(QT 분할 플래그)를 비트스트림으로부터 추출하지 않으며(즉, 비트스트림에는 해당 블록의 QT 분할 플래그가 존재하지 않음), 그 값을 자동으로 0으로 설정한다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 복호화부(610)는 QT에서 MaxBTSize보다 큰 크기의 블록을 가지는 리프 노드에 대한 BT 분할 플래그가 추출하지 않으며, BT 분할 플래그를 자동으로 0으로 설정한다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않는다. 따라서, 해당 노드의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서, 복호화부(610)는 MinBTSize와 동일한 크기를 가지는 블록의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다.
한편, 복호화부(610)는 트리 구조의 분할을 통해 복호화하고자 하는 현재 블록(현재 블록)을 결정하게 되면, 현재 블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다.
예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(610)는 현재 블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 먼저, 복호화부(610)는 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되는지 여부를 지시하는 모드 정보(즉, MPM 플래그)를 추출한다. 또한, 일반적으로, 인트라 모드 부호화 정보가 현재 블록의 인트라 예측 모드가 MPM 중에서 선택됨을 지시하는 경우, MPM 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제1 인트라 식별정보를 추출하고, 인트라 모드 부호화 정보가 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되지 않음을 지시하는 경우, MPM이 아닌 나머지 모드들 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제2 인트라 식별정보를 추출한다. 대안적으로, 본 발명의 일 측면에 따른 인트라 예측부(222)는, MPM들 및/또는 non-MPM들 중에서 어느 모드가 현재 블록을 예측하기 위한 인트라 예측 모드로 선택되었는지를 지시하는 인트라 식별정보를 추출하는 대신에, MPM들 및/또는 non-MPM들을 그룹화하고, 현재 블록을 예측하기 위한 인트라 모드가 속하는지를 지시하는 인트라 식별정보(예컨대, 그룹의 인덱스 등)를 추출한다.
한편, 복호화부(610)는 잔차신호에 대한 정보로서 현재 블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(620)는 양자화된 변환계수들을 역양자화하고 역변환부(630)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재 블록에 대한 잔차블록을 생성한다.
예측부(640)는 인트라 예측부(642) 및 인터 예측부(644)를 포함한다. 인트라 예측부(642)는 현재 블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(644)는 현재 블록의 예측 타입인 인트라 예측일 때 활성화된다.
인트라 예측부(642)는 복호화부(610)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재 블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재 블록 주변의 참조 픽셀들을 이용하여 현재 블록을 예측한다.
현재 블록의 인트라 예측 모드를 결정하기 위해, 인트라 예측부(642)는 현재 블록의 주변블록으로부터 기 결정된 개수의 MPM들을 포함하는 MPM 리스트를 구성한다. MPM 리스트를 구성하는 방법은 도 2의 인트라 예측부(222)와 동일하다.
일반적으로, 인트라 예측의 모드 정보(즉, MPM 플래그)가 현재 블록의 인트라 예측 모드가 MPM 중에서 선택됨을 지시하는 경우에는, 인트라 예측부(642)는 MPM 리스트 내의 MPM들 중 제1 인트라 식별정보에 의해 지시되는 MPM을 현재 블록의 인트라 예측 모드로 선택한다. 반면, 모드 정보가 현재 블록의 인트라 예측 모드가 MPM으로부터 선택되지 않음을 지시하는 경우, 제2 인트라 식별정보를 이용하여 MPM 리스트 내의 MPM들을 제외한 나머지 인트라 예측 모드들 중에서 현재 블록의 인트라 예측 모드를 결정한다.
대안적으로, 본 발명의 일 측면에 따른 영상 부호화 장치의 인트라 예측부(222)는, 전술한 바와 같이, MPM들 및/또는 non-MPM들 중에서 어느 모드가 현재 블록을 예측하기 위한 인트라 예측 모드로 선택되었는지를 명시적으로 시그널링하는 대신에, MPM들 및/또는 non-MPM들을 그룹화하고, 현재 블록을 예측하기 위한 인트라 모드가 속하는 그룹의 인덱스를 시그널링한다. 이 경우, 영상 복호화 장치의 인트라 예측부(642)는 해당 그룹에 속한 인트라 모드들을 평가하여 최종 인트라 모드(즉, 현재 블록을 예측하기 위한 인트라 모드)를 결정할 수 있다. 예컨대, 일부 예들에서, 인트라 예측부(642)는 한 그룹에 속한 다수 개의 인트라 모드에 대해, 복원 블록(reconstructed block)을 생성하고, 복원 블록들을 평가하여 최종 인트라 모드를 결정할 수 있다.
인터 예측부(644)는 복호화부(610)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재 블록의 움직임정보를 결정하고, 결정된 움직임정보를 이용하여 현재 블록을 예측한다.
가산기(650)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(660)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이하에 개시된 기법들은 인트라 코딩에 관한 것이다. 본 개시의 기법들은 예를 들어, 도 2 및 도 6에 대해 도시되고 기술된 영상 부호화 장치 및 영상 복호화 장치에 의해 수행될 수 있다. 즉, 일 예에서, 도 2에 대해 기술된 인트라 예측 유닛은 영상 데이터의 블록의 부호화하는 동안 인트라 예측을 수행할 때 이하에 설명되는 소정의 기법들을 수행할 수도 있다. 다른 예에서, 도 6에 대해 기술된 인트라 예측 유닛은 비디오 데이터의 블록의 복호화하는 동안 인트라 예측을 수행할 때 아래에 기술된 소정의 기법들을 수행할 수도 있다.
본 개시의 기법들은 증가하는 인트라 예측 모드들의 그룹화를 통해 압축 성능을 향상시키려 한다. 이하에서 설명할 예시적인 실시예들에서는 인트라 예측 모드의 개수를, 그림 4와 같이, 65개의 방향성 모드들 및 2개의 비방향성 모드들을 포함하는 67개로 가정하였다. MPM과 관련하여 언급된 인트라 모드의 모드 번호(혹은 오리지널 인덱스)는, 설명의 편의상, 도 1에 도시된 것과 같은, 35개의 인트라 모드를 지원하는 HEVC 표준에서 사용되는 모드 번호를 차용하였다. 다만, 이러한 인트라 모드의 개수, MPM의 개수, non-MPM의 개수, 그룹의 개수, MPM의 종류 혹은 설정 방식 등은 예시적인 것이 불과하며, 본 발명의 목적범위 내에서 다양한 조합이 가능함은 물론이다.
이하에서는, 표 1을 참조하여, 본 발명의 제1 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 3 - - 0
10
11
1
2
2
2
3
3
1
1 Non-MPM 64 4 16 00~11 2 3 16
8 8 000~111 3 4 8
16 4 0000~1111 4 5 4
본 실시예에서는 3개의 MPM들을 사용한다. 따라서 64개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM에 속하는 인트라 모드들을 결정함에 있어서 HEVC 표준에서 사용하는 방법이 사용될 수 있다. 예컨대, 현재 블록의 주변 블록 및/또는 통계적으로 가장 자주 사용되는 모드들을 이용하여 현재 블록을 위한 3개의 MPM을 선정한다.
현재 블록에 대한 인트라 모드가 MPM들 중 하나와 동일하면, 영상 부호화 장치는 MPM이 현재 블록을 인코딩하는데 사용된다는 것을 나타내는 1비트 MPM 플래그를 시그널링한다. 또한, 영상 부호화 장치는 명백하게 3개의 MPM 중에서 실제 인트라 예측 모드를 특정하는 방식으로 시그널링한다. 예컨대, 일부 예들에 따르면, 영상 부호화 장치는 MPM을 식별하는 인덱스를 시그널링할 수도 있다. 영상 부호화 장치는 MPM의 전체 개수 및 MPM을 결정하는 순서에 따라 각 MPM들을 식별하는 인덱스를 할당할 수 있다. 예컨대, MPM의 전체 개수가 3 이면, 가장 먼저 결정되는 현재 블록의 좌측블록(L)의 인트라 모드에 "O"의 새로운 인덱스 값이 할당되고, 그 다음으로 결정되는 현재 블록의 상단블록(A)의 인트라 모드에 "1"의 새로운 인덱스 값이 할당된다. 마지막으로 결정되는 현재 블록의 좌측상단블록(AL)의 인트라 모드에 "2"의 새로운 인덱스 값이 할당된다. 영상 부호화 장치는 예를 들어 가변 길이 테이블 또는 TU (truncated unary) 같은 다른 이진화(binarization) 방법을 사용하여 MPM을 식별하는 인덱스를 시그널링할 수 있다.
영상 부호화 장치 및 영상 복호화 장치는 복수의 가능한 인트라 모드들 중에서, MPM을 제거하여, non-MPM들의 리스트를 생성한다. 영상 부호화 장치 및 영상 복호화 장치는 non-MPM들을 복수의 그룹으로 나누고, 복수의 그룹에 그룹 인덱스 값을 할당한다. 그룹의 개수는 non-MPM의 개수에 따라 달라질 수 있다. 표 1을 참조하면, 본 실시예에서는 그룹의 개수를 4개, 8개, 16개로 설정한 경우에 필요한 비트수들을 예시하였다. 또한, 인트라 모드들이 (표 1의 예시된 것과 같이) 반드시 각 그룹에 균등하게 분할되어야 하는 것은 아니다. 그룹의 개수는 영상 부호화 장치 및 영상 복호화 장치 간에 약속되어 있을 수 있으며, 몇몇 가능한 그룹의 개수 중에서 선택된 개수가 시그널링(예를 들어, 영상 복호화 장치에 의해 사용되도록 영상 부호화 장치에 의해 시그널링)될 수도 있다.
일부 예들에서, 잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 인트라 모드들은 동일한 그룹으로 구분될 수 있다. HEVC 표준의 경우, 인트라 모드 #6번 - #14번은 수직 스캐닝 순서를 사용하고, 인트라 모드 #22번 - #30번은 수평 스캐닝 순서를 사용하며, 그 이외의 인트라 모드들은 대각 스캐닝 순서를 사용한다. 이러한 스캐닝 순서를 고려하여, 영상 부호화 장치 및 영상 복호화 장치는 각 그룹에 속하는 인트라 모드들이 동일한 스캐닝 순서를 갖도록 그룹핑을 수행할 수도 있다. 물론 동일한 스캐닝 순서를 사용하는 인트라 모드들이 반드시 하나의 그룹으로 구분될 필요는 없으며, 적어도 2개의 그룹으로 구분될 수도 있다. 다른 일부 예들에서, 인트라 모드들의 모드 번호에 따라 오름차순으로 non-MPM들의 리스트를 정렬(sorting)하고, 오름차순으로 정렬된 인트라 모드들을 복수의 그룹으로 구분할 수 있다. 또 다른 일부 예들에서, 인트라 모드들을 모드 번호의 정수배로 그룹핑할 수 있다. 예컨대, 2개의 그룹으로 구분하는 경우에, 모드번호가 홀수인 모드들을 제1그룹으로, 모드 번호가 짝수인 모드들을 제2그룹으로 구분할 수 있다. 다른 예시로서, 4개의 그룹으로 구분하는 경우에, "모드 #0, 모드 #4, 모드 #8, ..."을 제1그룹으로, "모드 #1, 모드 #5, 모드 #9, ..."을 제2그룹으로, "모드 #2, 모드 #6, 모드 #10, ..."을 제3그룹으로, "모드 #3, 모드 #7, 모드 #11, ..."을 제4그룹으로 할 수 있다. 또 다른 일부 예들에서, 영상 부호화 장치는 그룹핑은 몇몇 규칙에 의해 정의될 수 있고, 그 규칙은 시그널링(예를 들어, 영상 복호화 장치에 의해 사용되도록 영상 부호화 장치에 의해 시그널링)될 수 있다.
현재 블록에 대한 인트라 모드가 MPM과 동일하지 않으면, 영상 부호화 장치는 MPM이 현재 블록을 인코딩하는데 사용되지 않는다는 것을 나타내는 1비트 MPM 플래그를 시그널링한다. 또한, 영상 부호화 장치는 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 추가로 시그널링한다.
영상 복호화 장치는 해당 그룹에 속한 인트라 모드들을 평가하여 최종 인트라 모드를 결정할 수 있다. 예컨대, 일부 예들에서, 영상 복호화 장치는 한 그룹에 속한 다수 개의 인트라 모드에 대해, 복원 블록(reconstructed block)을 생성하고, 복원 블록들을 평가하여 최종 인트라 모드를 결정할 수 있다. 다시 말해, 영상 복호화 장치는 상기 각 인트라 모드에 대한 복원 블록의 특정 부분(예를 들어, 최상단 및 최좌단)의 픽셀들의 값과 복호화 대상인 현재 블록에 공간적으로 이웃하는 블록의 복원된 픽셀들 값과의 에러 값을 측정할 수 있다. 영상 복호화 장치는 측정된 에러 값 중 가장 작은 에러 값을 나타내는 인트라 모드를 해당 부호화 대상 블록의 최종 인트라 모드로 선정할 수 있다. 에러 측정 방법으로는 SAD(sum of absolute difference), SSD (sum of square difference), MSE(mean square error) 등을 사용할 수 있다.
표 1에 예시된 바와 같이, 그룹 당 모드의 개수가 증가할수록 현재 블록의 인트라 모드가 속하는 그룹을 특정하는 데 필요한 비트 수는 감소하나, 영상 복호화 장치에서 해당 그룹에 속하는 인트라 모드들을 평가하기 위해 생성하는 예측 블록의 수는 증가한다. 예컨대, 64개의 Non-MPM들을 4개의 그룹으로 나누는 경우, 하나의 그룹에는 16개의 인트라 모드들이 포함된다. 4개의 Non-MPM 그룹에서 현재 블록의 인트라 모드가 속하는 그룹(의 인덱스)을 특정하는 데에는 2비트가 필요하며, 따라서, 영상 부호화 장치는 총 3비트(1비트의 MPM 플래그 + 그룹을 특정하기 위한 2 비트)를 사용하여, Non-MPM인 현재 블록의 인트라 예측 모드를 시그널링할 수 있다. 영상 복호화 장치는 해당 그룹에 속한 16개의 인트라 모드를 평가하기 위해, 16개의 예측 블록을 생성하여야 한다. 64개의 Non-MPM들을 8개의 그룹으로 나누는 경우, 하나의 그룹에는 8의 인트라 모드들이 포함된다. 8개의 Non-MPM 그룹에서 현재 블록의 인트라 모드가 속하는 그룹(의 인덱스)을 특정하는 데에는 3비트가 필요하며, 따라서, 영상 부호화 장치는 총 4비트(1비트의 MPM 플래그 + 그룹을 특정하기 위한 3 비트)를 사용하여, Non-MPM인 현재 블록의 인트라 예측 모드를 시그널링할 수 있다. 그룹의 수는 Non-MPM인 현재 블록의 인트라 예측 모드를 시그널링하기 위해 소요되는 비트량과 영상 복호화 장치의 연산 복잡도를 고려하여 적절히 설정될 수 있다. 본 실시예에서는 그룹의 인덱스를 표현하는 방법으로 고정 길이 (FL, fixed length) 방법을 사용하였으나, 이는 하나의 방법일뿐 그 이외의 TU 값은 다른 이진화(binarization) 방법도 가능함은 자명하다.
이하에서는, 표 2를 참조하여, 본 발명의 제2 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 3 1 3 - 0
1 3
1 Non-MPM 64 4 16 00~11 2 3 16
8 8 000~111 3 4 8
16 4 0000~1111 4 5 4
본 실시예에서는 3개의 MPM들을 사용한다. 따라서 64개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM에 속하는 인트라 모드들을 결정함에 있어서 HEVC 표준에서 사용하는 방법이 사용될 수 있다. 예컨대, 현재 블록의 주변 블록 및/또는 통계적으로 가장 자주 사용되는 모드들을 이용하여 현재 블록을 위한 3개의 MPM을 선정한다.
영상 부호화 장치 및 영상 복호화 장치는 Non-MPM들의 그룹과 구분되는 하나의 그룹으로 MPM들을 그룹핑할 수 있다. 현재 블록에 대한 인트라 모드가 MPM들 중 하나와 동일하면, 영상 부호화 장치는 1비트 MPM 플래그를 사용하여 인트라 모드를 시그널링한다. 즉, 영상 부호화 장치는 현재 블록에 대한 인트라 모드를 명시적으로 시그널링하지 않고, MPM이 현재 블록을 인코딩하는데 사용된다는 것을 나타내는 1비트 MPM 플래그만을 시그널링한다. 영상 복호화 장치는 MPM 플래그를 사용하여 현재 블록에 대한 인트라 모드가 MPM들 중 하나와 동일하다고 판단되면, MPM에 속한 인트라 모드들을 평가하여 최종 인트라 모드를 결정한다.
non-MPM에 대한 시그널링은 표 1과 관련된 제1 실시예와 동일하다.
이하에서는, 표 3을 참조하여, 본 발명의 제3 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 5
(P, D, V, H, 34)
- - 0
10
110
1110
1111
1
2
3
4
4
2
3
4
5
5
1
1 Non-MPM 62 4 15 or 16 00~11 2 3 15 or 16
8 7 or 8 000~111 3 4 7 or 8
16 3 or 4 0000~1111 4 5 3 or 4
본 실시예에서는 5개의 MPM들을 사용한다. 따라서 62개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM은 통계적으로 가장 많이 사용되는 모드들, 예컨대, planar, DC, vertical, horizontal, 대각선 방향 mode (도 1의 34번의 diagonal mode)가 MPM으로 사전에 설정될 수 있다. 현재 블록에 대한 인트라 모드가 MPM과 동일하면, 영상 부호화 장치는 MPM이 현재 블록을 인코딩하는데 사용된다는 것을 나타내는 1비트 MPM 플래그를 시그널링한다. 또한, 영상 부호화 장치는 명백하게 5개의 MPM 중에서 실제 인트라 예측 모드를 특정하는 방식으로 시그널링한다.
non-MPM에 대한 시그널링은 표 1과 관련된 제1 실시예와 실질적으로 동일하다. 다만, 모든 그룹에 동일한 개수의 인트라 모드가 할당되지 않을 수도 있다. 이는 영상 부호화 장치와 영상 복호화 장치의 약속이므로 문제되지 않는다.
이하에서는, 표 4를 참조하여, 본 발명의 제4 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 5 (P, D, V, H, 34) 1 5 - 0 1 5
2 2 or 3 0~1 1 2 2 or 3
1 Non-MPM 62 4 15 or 16 00~11 2 3 15 or 16
8 7 or 8 000~111 3 4 7 or 8
16 3 or 4 0000~1111 4 5 3 or 4
본 실시예에서는 5개의 MPM들을 사용한다. 따라서 62개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM은 통계적으로 가장 많이 사용되는 planar, DC, vertical, horizontal, 대각선 방향 mode (도 1의 34번 directional mode)가 MPM으로 설정될 수 있다. 영상 부호화 장치 및 영상 복호화 장치는 5개의 MPM들을 하나의 그룹으로 혹은 2개의 그룹으로 나눈다. 일부 예들에서, MPM들은 Non-MPM들의 그룹과 구분되는 하나의 그룹으로 그룹핑된다. 현재 블록에 대한 인트라 모드가 MPM과 동일하면, 영상 부호화 장치는 1비트 MPM 플래그를 사용하여 인트라 모드를 시그널링한다. 즉, 영상 부호화 장치는 현재 블록에 대한 인트라 모드를 명시적으로 시그널링하지 않고, MPM이 현재 블록을 인코딩하는데 사용된다는 것을 나타내는 1비트 MPM 플래그를 시그널링한다. 영상 복호화 장치는 MPM 플래그를 사용하여 현재 블록에 대한 인트라 모드가 MPM들 중 하나와 동일하다고 판단되면, MPM에 속한 인트라 모드들을 평가하여 최종 인트라 모드를 결정한다. 다른 일부 예들에서, MPM들은 2개의 그룹으로 나뉜다. 현재 블록에 대한 인트라 모드가 MPM과 동일하면, 영상 부호화 장치는 1비트 MPM 플래그와 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 시그널링한다. MPM 그룹의 개수는 영상 부호화 장치 및 영상 복호화 장치 간에 약속되어 있을 수 있으며, 몇몇 가능한 그룹의 개수 중에서 선택된 개수가 시그널링(예를 들어, 영상 복호화 장치에 의해 사용되도록 영상 부호화 장치에 의해 시그널링)될 수도 있다.
일부 예들에서, 잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 MPM들은 동일한 그룹으로 구분될 수 있다. 다른 일부 예들에서, 영상 부호화 장치 및 영상 복호화 장치는 MPM을 결정하는 순서에 따라 MPM들을 복수의 그룹으로 구분할 수 있다. 또 다른 일부 예들에서, 인트라 모드들의 모드 번호에 따라 오름차순으로 non-MPM들의 리스트를 정렬(sorting)하고, 오름차순으로 정렬된 인트라 모드들을 복수의 그룹으로 구분할 수 있다. 또 다른 일부 예들에서, 영상 부호화 장치는 그룹화 방법을 시그널링할 수 있다.
non-MPM에 대한 시그널링은 표 1과 관련된 제1 실시예와 실질적으로 동일하다. 다만, 모든 그룹에 동일한 개수의 인트라 모드가 할당되지 않을 수도 있다. 이는 영상 부호화 장치와 영상 복호화 장치의 약속이므로 문제되지 않는다.
이하에서는, 표 5를 참조하여, 본 발명의 제5 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 6 - - 0
10
110
1110
11110
11111
1
2
3
4
5
5
2
3
4
5
6
6
1
1 Non-MPM 61 4 15 or 16 00~11 2 3 15 or 16
8 7 or 8 000~111 3 4 7 or 8
16 3 or 4 0000~1111 4 5 3 or 4
본 실시예에서는 6개의 MPM들을 사용한다. 따라서 61개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM에 속하는 인트라 모드들을 결정함에 있어서 도 5를 참조하여 상술한 방식이 사용될 수 있다.
MPM에 대한 시그널링 및 non-MPM에 대한 시그널링은 표 1과 관련된 제1 실시예와 실질적으로 동일하다.
이하에서는, 표 6을 참조하여, 본 발명의 제6 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 6 1 6 - 0 1 6
2 3 0~1 1 2 3
1 Non-MPM 61 4 15 or 16 00~11 2 3 15 or 16
8 7 or 8 000~111 3 4 7 or 8
16 3 or 4 0000~1111 4 5 3 or 4
본 실시예에서는 6개의 MPM들을 사용한다. 따라서 61개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM에 속하는 인트라 모드들을 결정함에 있어서 도 5를 참조하여 상술한 방식이 사용될 수 있다.
MPM에 대한 시그널링 및 non-MPM에 대한 시그널링은 표 4와 관련된 제4실시예와 실질적으로 동일하다.
이하에서는, 표 7을 참조하여, 본 발명의 제7 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 7
(P, D, V, H, 2, 18, 34)
- - 0
010
011
00100
00101
00110
00111
1
3
3
5
5
5
5
2
4
4
6
6
6
6
1
1 Non-MPM 60 4 15 00~11 2 3 15
8 7 or 8 000~111 3 4 7 or 8
10 6 0000~1001 4 5 6
15 4 0000~1110 4 5 4
본 실시예에서는 7개의 MPM들을 사용한다. 따라서 60개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM은 통계적으로 가장 많이 사용되는 planar, DC, vertical, horizontal, 대각선 방향의 mode 3개(도 1의 2번, 18번, 34번 directional modes)으로 설정할 수 있다.
MPM에 대한 시그널링 및 non-MPM에 대한 시그널링은 표 1과 관련된 제1 실시예와 실질적으로 동일하다.
이하에서는, 표 8을 참조하여, 본 발명의 제8 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 7 (P, D, V, H, 2, 18, 34) 1 7 - 0 1 7
2 3 or 4 0~1 1 2 3 or 4
1 Non-MPM 60 4 15 00~11 2 3 15
8 7 or 8 000~111 3 4 7 or 8
10 6 0000~1001 4 5 6
15 4 0000~1110 4 5 4
본 실시예에서는 7개의 MPM들을 사용한다. 따라서 60개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM은 통계적으로 가장 많이 사용되는 planar, DC, vertical, horizontal, 대각선 방향의 mode 3개 (도 1의 2번, 18번, 34번 directional modes) 으로 설정할 수 있다.
MPM에 대한 시그널링 및 non-MPM에 대한 시그널링은 표 4와 관련된 제4실시예와 실질적으로 동일하다.
이하에서는, 표 9를 참조하여, 본 발명의 제9 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 7
(P, D, V, H, 2, 18, 34)
1 7 - 0 1 7
2 3 or 4 0~1 1 2 3 or 4
1 Non-MPM 60 2→8 4 or 56→7 00~11→
000~111
1(flag)+2
1(flag)+3
4
5
1
7
본 실시예에서는 7개의 MPM들을 사용한다. 따라서 60개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM 설정 방식은 통계적으로 가장 많이 사용되는 planar, DC, vertical, horizontal, 대각선 방향의 mode 3개(도 1의 2번, 18번, 34번 directional modes)으로 설정할 수 있다.
MPM에 대한 시그널링은 표 8과 관련된 제8 실시예와 실질적으로 동일하다. 다만, 이하에서 상술하는 non-MPM에 대한 시그널링은 이전 실시예들과 상이하다.
영상 부호화 장치 및 영상 복호화 장치는 60개의 non-MPM 중에서 통계적으로 많이 사용되는 4개의 방향성 mode들(예컨대, 도 1의 6번, 14번, 22번, 30번 directional mode; 즉, 차순위 모드들) 및 그 외 (56개의) 인트라 모드를 각기 다른 그룹으로 분류한다. 영상 부호화 장치는 현재 블록의 인트라 모드가 두 그룹 중 어느 그룹에 속하는지를 나타내는 1 bit 플래그 값을 시그널링한다.
현재 블록의 인트라 모드가 차순위 모드들이 속한 그룹이라면, 영상 부호화 장치는 4개의 인트라 모드 중 어느 것인지 특정하기 위해, 추가로 2 bits를 시그널링한다.
상기 그룹이 차순위 모드가 속한 그룹이 아니라면, 나머지 56개 인트라 모드들을 다수 개의 그룹으로 나눈 후, 해당하는 그룹에 대한 값을 시그널링한다. 이때, 그룹의 개수는 나머지 인트라 모드들의 개수에 따라 달라질 수 있다. 본 실시예에서는 그룹의 개수를 8개로 설정하였으며, 그룹을 특정하기 위해 추가로 3 bits를 시그널링한다.
이하에서는, 표 10을 참조하여, 본 발명의 제10 실시예를 설명한다.
Flag bit MPM Mode Num. Group Num. Mode Num./Gr. Code words Code bits Total bits Prediction Block Num.
1 MPM 7 (P, D, V, H, 2, 18, 34) 1 7 - 0 1 7
2 3 or 4 0~1 1 2 3 or 4
1 Non-MPM 60 2→
8
4 or 56→7 - →
000~111
1(flag)
1(flag)+3
2
5
4
7
본 실시예에서는 7개의 MPM들을 사용한다. 따라서 60개의 인트라 모드들이 non-MPM으로 남게 된다. 이때, MPM 설정 방식은 통계적으로 가장 많이 사용되는 planar, DC, vertical, horizontal, 대각선 방향의 mode 3개(도 1의 2번, 18번, 34번 directional modes)으로 설정할 수 있다.
MPM에 대한 시그널링은 표 8과 관련된 제8 실시예와 실질적으로 동일하다. 다만, 이하에서 상술하는 non-MPM에 대한 시그널링은 이전 실시예들과 상이하다.
영상 부호화 장치 및 영상 복호화 장치는 60개의 non-MPM 중에서 통계적으로 많이 사용되는 4개의 방향성 모드들(예컨대, 도 1의 6번, 14번, 22번, 30번 directional mode; 즉 차순위 모드들) 및 그 외 인트라 모드를 각기 다른 그룹으로 분류한다. 영상 부호화 장치는 현재 블록의 인트라 모드가 두 그룹 중 어느 그룹에 속하는지를 나타내는 1 bit 플래그 값을 시그널링한다.
현재 블록의 인트라 모드가 차순위 모드들이 속한 그룹이라면, 영상 부호화 장치는, 표 9와 관련된 제9 실시예와 달리, 4개의 인트라 모드 중 어느 것인지를 명시적으로 시그널링하지 않는다. 이 경우, 영상 복호화 장치는 해당 그룹에 속한 (차순위) 4개의 방향성 mode들을 평가하여 최종 인트라 모드를 결정할 수 있다.
상기 그룹이 차순위 모드들이 속한 그룹이 아니라면, 나머지 56개 인트라 모드들을 다수 개의 그룹으로 나눈 후, 해당하는 그룹에 대한 값을 시그널링한다. 이때, 그룹의 개수는 나머지 인트라 모드들의 개수에 따라 달라질 수 있다. 표 10과 같이, 본 실시예에서는 그룹의 개수를 8개로 설정하였다.
한편, Chroma의 경우, 인트라 예측 모드는 Planar, Vertical, Horizontal, DC 뿐만 아니라 두개의 스페셜 모드인 direct 모드(Intra_DM)와 linear 모드(Intra_LM)를 더 포함할 수 있다. 이중 자주 쓰이는 모드가 flag로 정의되거나, 절삭된 유너리(truncated unary) 표현의 가장 작은 디지트(digit)로 표기하고, 나머지 모드들은 전술한 예시들처럼 그룹핑될 수 있다. 예를 들어, direct 모드가 가장 많이 쓰이는 경우, 이의 사용 여부를 on/off로 나타내는 flag로 시그널링하거나 혹은 절삭된 유너리 방식에 의해 하나의 디지트로 표기할 수 있다.
이상과 같이, 표 1 내지 표 10을 참조하여 설명한 다양한 실시예들에서, 영상 부호화 장치는 MPM 리스트 및/또는 non-MPM 리스트 내에서 현재 블록을 예측하기 위한 인트라 모드와 일치하는 모드의 인덱스를 시그널링 하는 대신에, 현재 블록을 예측하기 위한 인트라 모드가 속하는 그룹의 인덱스를 시그널링할 수 있다. 이 경우, 영상 복호화 장치는 해당 그룹에 속한 인트라 모드들을 평가하여 최종 인트라 모드(즉, 현재 블록을 예측하기 위한 인트라 모드)를 결정할 수 있다. 예컨대, 일부 예들에서, 영상 복호화 장치는 한 그룹에 속한 다수 개의 인트라 모드들 각각에 따라 복원 블록(reconstructed block)들을 생성하고, 복원 블록들을 평가하여 최종 인트라 모드를 결정할 수 있다.
수십 개의 인트라 모드 중에서 명백하게 하나의 모드를 특정하는 기존의 시그널링 방식에 비해, 수 개의 그룹 중에서 하나의 그룹을 특정함으로써 오버헤드가 줄어들며, 결과적으로 압축 효율이 향상된다. 현재 블록의 실제 인트라 모드를 명백하게 특정하는 기존의 방식에 비해, 영상 복호화 장치의 연산량이 증가하지만, 영상 복호화 장치의 시스템 성능이 지속적으로 향상되는 추세에 비추어, 영상 복호화 장치는 수개의 인트라 모드를 평가하는 작업이 영상 복호화 장치에서 실시간으로 수행될 수 있다.
한편, 다수 개의 인트라 모드 각각에 대한 복원 블록(reconstructed block)을 생성하기 위해서는, 영상 복호화 장치는 한 그룹에 속한 다수 개의 인트라 모드에 대한 예측 블록(prediction block)을 생성하고, 비트스트림 정보로부터 해당 부호화 블록의 잔차 블록(residual block) 정보를 생성하여야 한다.
그런데, 현재 블록에 대한 잔차 블록의 변환계수들은 적용된 인트라 모드에 따라 결정되는 스캐닝 순서를 기반으로 생성된다. 예를 들어, 35개의 인트라 모드들을 사용할 수 있는 HEVC 표준에서, 인트라 모드 #6번 - #14번은 수직 스캐닝 순서를 사용하고, 인트라 모드 #22번 - #30번은 수평 스캐닝 순서를 사용하며, 그 이외의 인트라 모드들에서는 대각 스캐닝 순서를 사용한다. 본 발명에 따르면, 영상 복호화 장치가 부호화 대상 블록의 인트라 모드를 선정하는 방식을 취하고 있는데, 최종 인트라 모드를 선정하기 전까지 잔차 블록의 변환계수들에 대한 스캐닝 순서를 알 수 없는 문제의 소지가 있다. 본 발명은 이를 방지하기 위해 인트라 모드를 그룹핑할 때, 각 그룹에는 잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 인트라 모드들만 포함하도록 그룹핑하여 문제를 해결할 수 있다. 다만, MPM을 그룹핑할 때는 같은 스캐닝 순서를 사용하는 인트라 모드들을 하나의 그룹으로 구분 지어 문제를 해결할 수도 있고, 한 그룹 내의 인트라 모드들 중에서 가장 많은 수의 인트라 모드에 공통적으로 적용되는 스캐닝 순서를 그 그룹의 대표 스캐닝 순서로 선정하여 해결할 수도 있으며, 특정 하나의 스캐닝 순서(예를 들어, 대각 스캐닝 순서)를 사용하여 해결할 수도 있다.
도 7은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 부호화하는 예시적인 방법을 도시한 흐름도이다. 도 7의 예시의 방법에서, 영상 부호화 장치는 영상 데이터의 현재 블록을 예측하기 위한 인트라 모드를 결정한다. 인트라 모드는 수십 개의 공간 압축 모드들 중 임의의 것을 지칭할 수도 있다.
영상 부호화 장치는 비디오 데이터의 현재 블록을 예측하기 위한 MPM들을 결정하여 MPM들의 리스트를 생성한다(S710). 예를 들어, 이전에 인코딩된 주변 블록들의 인트라 예측 모드들을 식별하고, 그러한 인트라 예측 모드들이 현재 블록에 대한 MPM 리스트를 생성할 때 고려될 수도 있다. 대안적으로, MPM들은 현재 블록을 예측하기 위한 인트라 모드와 일치할 가능성과 관련된 통계에 기초하여 사전에 결정된 것일 수 있다.
영상 부호화 장치는 현재 블록의 인트라 모드가 MPM들의 리스트에서 어느 하나와 일치하는지 여부를 판단한다(S720).
상기 MPM들 중 어느 것도 현재 블록을 예측하기 위한 인트라 모드와 동일하지 않는 경우, 영상 부호화 장치는 현재 블록을 예측하기 위한 인트라 모드가 MPM이 아니라는 것을 나타내는 1bit의 MPM 플래그를 부호화한다(S730).
영상 부호화 장치는 가능한 인트라 모드들(예컨대, HEVC에서는 35개의 인트라 모드)에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성한다. 또한, 영상 부호화 장치는 Non-MPM들의 리스트에서 인트라 모드들을 복수의 그룹으로 그룹핑한다(S740). 일부 예들에서, 잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 인트라 모드들은 동일한 그룹으로 구분될 수 있다. 다른 일부 예들에서, 인트라 모드들의 모드 번호에 따라 오름차순으로 non-MPM들의 리스트를 정렬(sorting)하고, 오름차순으로 정렬된 인트라 모드들을 복수의 그룹으로 구분할 수 있다. 또 다른 일부 예들에서, 인트라 모드들을 모드 번호의 정수배로 그룹핑할 수 있다. 또 다른 일부 예들에서, 영상 부호화 장치는 그룹핑은 몇몇 규칙에 의해 정의될 수 있고, 그 규칙은 시그널링(예를 들어, 영상 복호화 장치에 의해 사용되도록 영상 부호화 장치에 의해 시그널링)될 수 있다.
영상 부호화 장치는 Non-MPM들의 리스트에서 각 그룹을 식별하는 그룹 인덱스를 할당한다(S750). 영상 부호화 장치는 Non-MPM들의 리스트 내에서 상기 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 나타내는 데이터를 부호화한다(S760).
한편, 상기 MPM들 중 어느 하나가 현재 블록을 예측하기 위한 인트라 모드와 동일한 경우, 영상 부호화 장치는 현재 블록을 예측하기 위한 인트라 모드가 MPM이라는 것을 나타내는 1bit의 MPM 플래그를 부호화한다(S731). 일부 예들에서, 영상 부호화 장치는 1bit의 MPM 플래그를 부호화를 부호화한 후, MPM들의 리스트에서 현재 블록의 인트라 모드와 동일한 MPM의 인덱스를 나타내는 데이터를 부호화할 수 있다(S741). 영상 부호화 장치는 예컨대, MPM을 결정하는 순서에 따라 각 MPM들을 식별하는 인덱스를 할당할 수 있다. 다른 일부 예들에서, 영상 부호화 장치는 상기 MPM 리스트 내에서 상기 현재 블록의 인트라 모드와 동일한 MPM의 인덱스를 나타내는 데이터를 부호화하는 것 없이, 단지 1bit의 MPM 플래그를 부호화할 수 있다.
도 8은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 부호화하는 다른 예시적인 방법을 도시한 흐름도이다.
도 8의 예시적인 방법에서, S810, S820, S830, S840, S850, 및 S860은 도 7의 S710, S720, S730, S740, S750, 및 S760과 각각 동일하다. 도 8의 예시적인 방법에서, 상기 MPM들 중 어느 하나가 현재 블록을 예측하기 위한 인트라 모드와 동일한 경우, 영상 부호화 장치는 현재 블록을 예측하기 위한 인트라 모드가 MPM이라는 것을 나타내는 1bit의 MPM 플래그를 부호화한다(S831).
영상 부호화 장치는 MPM들의 리스트에서 인트라 모드들을 복수의 그룹으로 그룹핑한다. 일부 예들에서, 잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 인트라 모드들은 동일한 그룹으로 구분될 수 있다. 다른 일부 예들에서, 영상 부호화 장치는 MPM을 결정하는 순서에 따라 각 MPM들을 그룹화할 수 있다. 또 다른 일부 예들에서, 영상 부호화 장치는 인트라 모드들의 모드 번호에 따라 오름차순으로 MPM들의 리스트를 정렬(sorting)하고, 오름차순으로 정렬된 인트라 모드들을 복수의 그룹으로 구분할 수 있다. 또 다른 일부 예들에서, 영상 부호화 장치는 그룹핑은 몇몇 규칙에 의해 정의될 수 있고, 그 규칙은 시그널링(예를 들어, 영상 복호화 장치에 의해 사용되도록 영상 부호화 장치에 의해 시그널링)될 수 있다.
영상 부호화 장치는 MPM들의 리스트에서 각 그룹을 식별하는 그룹 인덱스를 할당한다(S851). 영상 부호화 장치는 MPM들의 리스트 내에서 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 나타내는 데이터를 부호화한다(S861). 다만, 그룹의 개수가 하나라면, 그룹의 인덱스를 나타내는 데이터를 부호화하지 않는다.
도 9는 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 복호화하는 예시적인 방법을 도시한 흐름도이다. 도 9의 예시적인 방법에서, 영상 복호화 장치는 현재 블록에 대한 MPM들을 결정하여 MPM들의 리스트를 생성한다(S910). 예를 들어, 영상 복호화 장치는 MPM들의 리스트를 생성하고, 그 리스트 내의 각 MPM에 인덱스 값들을 할당할 수도 있다. 영상 부호화 장치는 예컨대, MPM을 결정하는 순서에 따라 각 MPM들을 식별하는 인덱스를 할당할 수 있다.
영상 복호화 장치는 현재 블록을 예측하기 위한 인트라 모드가 MPM인지 여부를 나타내는 MPM 플래그를 복호화한다(S920).
MPM 플래그의 값이 현재 블록을 예측하기 위한 인트라 모드가 MPM가 아님을 가리키는 경우(도 9에서, MPM flag=1인 경우), 영상 복호화 장치는, 영상 부호화 장치에서와 동일하게, 가능한 인트라 모드들에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성하고, Non-MPM들의 리스트에서 인트라 모드들을 복수의 그룹으로 그룹핑한다(S930). 또한, 영상 복호화 장치는 Non-MPM들의 리스트에서 각 그룹을 식별하는 그룹 인덱스를 할당할 수 있다.
영상 복호화 장치는 부호화된 비트스트림으로부터 Non-MPM들의 리스트 내에서 상기 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 나타내는 데이터를 복호화한다(S940).
영상 복호화 장치는 복호화한 그룹의 인덱스를 사용하여, Non-MPM들의 리스트에서 복호화한 그룹의 인덱스에 대응되는 그룹에 속하는 인트라 모드들을 식별한다(S950).
영상 복호화 장치는 현재 블록에 대한 상기 식별된 인트라 모드들을 평가하여, 상기 현재 블록을 예측하기 위한 인트라 모드를 결정한다(S960). 예컨대, 일부 예들에서, 영상 복호화 장치는 한 그룹에 속한 다수 개의 인트라 모드에 대해, 복원 블록을 생성하고, 복원 블록들을 평가하여 최종 인트라 모드를 결정할 수 있다.
한편, MPM 플래그의 값이 현재 블록을 예측하기 위한 인트라 모드가 MPM임을 가리키는 경우(도 9에서, MPM flag=0인 경우), 영상 복호화 장치는 부호화된 비트스트림으로부터 MPM들의 리스트에서 현재 블록의 인트라 모드와 동일한 MPM의 인덱스를 나타내는 데이터를 복호화한다(S931). 영상 복호화 장치는 현재 블록의 인트라 모드와 동일한 MPM의 인덱스를 사용하여, MPM들의 리스트에서 현재 블록을 예측하기 위한 인트라 모드를 식별한다(S941). 영상 복호화 장치는 현재 블록에 대한 식별된 인트라 모드로 현재 블록을 복호화할 수 있다.
도 10은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 복호화하는 다른 예시적인 방법을 도시한 흐름도이다.
도 10의 예시적인 방법에서, S1010, S1020, S1030, S1040, S1050, 및 S1060은 도 9의 S910, S920, S930, S940, S950, 및 S960과 각각 동일하다. 도 10의 예시적인 방법에서, MPM 플래그의 값이 현재 블록을 예측하기 위한 인트라 모드가 MPM임을 가리키는 경우(도 9에서, MPM flag=0인 경우), 영상 복호화 장치는, 영상 부호화 장치에서와 동일하게, MPM들의 리스트에서 인트라 모드들을 복수의 그룹으로 그룹핑한다(S1031). 영상 복호화 장치는 MPM들의 리스트에서 각 그룹을 식별하는 그룹 인덱스를 할당할 수 있다.
영상 복호화 장치는 부호화된 비트스트림으로부터 MPM들의 리스트 내에서 현재 블록의 인트라 모드가 속하는 그룹의 인덱스를 나타내는 데이터를 복호화한다(S1041). 다만, 그룹의 개수가 하나라면, 영상 복호화 장치는 그룹의 인덱스를 나타내는 데이터를 복호화하지 않고, 그 값을 자동으로 0으로 설정할 수 있다.
영상 복호화 장치는 복호화한 그룹의 인덱스를 사용하여, MPM들의 리스트에서 복호화한 그룹의 인덱스에 대응되는 그룹에 속하는 인트라 모드들을 식별한다(S1051).
영상 복호화 장치는 현재 블록에 대한 상기 식별된 인트라 모드들을 평가하여, 상기 현재 블록을 예측하기 위한 인트라 모드를 결정한다(S1061). 예컨대, 일부 예들에서, 영상 복호화 장치는 한 그룹에 속한 다수 개의 인트라 모드에 대해, 복원 블록을 생성하고, 복원 블록들을 평가하여 최종 인트라 모드를 결정할 수 있다.
도 11은 인트라 예측 코딩에서 예측 블록을 생성하는 데 사용되는 참조 픽셀들을 예시한 도면이다.
전술한 실시예들에서 현재 블록을 예측하기 위해 사용되는 참조 샘플들(reference samples)은 도 11의 (a)과 같이 부호화 대상 블록에 바로 인접한 위치의 한 줄의 복원 픽셀(reconstructed pixel) 값을 이용할 수도 있고, 그림 11의 (b)와 같이 다수 개 라인의 정보를 이용할 수도 있다.
다수 개의 라인을 이용하여 참조 샘플들을 생성하는 방법에는 크게 세 가지가 있을 수 있다. 첫 번째 방법은 미리 약속된 n 개의 라인 중 최적의 1개의 라인을 선택하고, 선택된 1개의 라인을 이용하여 참조 샘플들 값을 생성하며, 상기 1개의 라인에 대한 위치 정보를 시그널링 해주는 것이다. 두 번째 방법은 n 개의 라인 정보를 이용하여 참조 샘플들의 값을 생성하는 것이며, 이 경우, 별도의 시그널링 정보가 필요치 않다. 세 번째 방법은 n 개의 라인 중에서 m 개의 (m < n) 라인 정보를 이용하여 참조 샘플들을 생성하는 것으로, m개의 라인 정보를 시그널링 해 주어야 한다.
다수 개(n개 혹은 m개)의 라인을 이용하여 참조 샘플들을 생성할 때는 간단하게 평균값을 사용하여 참조 샘플들을 생성할 수도 있고, 부호화 대상 블록과 인접한 라인에 더 높은 가중치를 두고 평균값을 구하여 참조 샘플들을 생성할 수도 있다. 이때, 영상 부호화 장치 및 영상 복호화 장치에서 이들 과정을 동일하게 수행해야 한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. 영상 데이터를 부호화하는 장치로서,
    영상 데이터의 현재 블록에 인접한 복수의 참조 라인들 중에서 선택된 하나의 참조 라인을 지시하는 포지션 정보를 부호화하고, 상기 현재 블록을 예측하기 위한 상기 현재 블록의 인트라 모드를 특정하는 인트라 모드 데이터를 부호화하는 부호화부; 및
    상기 현재 블록에 대한 예측 블록을 생성하기 위해, 상기 현재 블록의 인트라 모드에 기초하여 상기 포지션 정보에 의해 지시되는 참조 라인을 사용하여 상기 현재 블록을 예측하는 인트라 예측부
    를 포함하고,
    상기 부호화부는,
    상기 현재 블록과 상기 예측 블록 간의 차이인 잔차 블록을 부호화하기 위한 수단;
    상기 현재 블록의 인트라 모드가 최고 확률 모드(Most Probable Mode: MPM)인지 여부를 가리키는 MPM 플래그를 부호화하기 위한 수단;
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM임을 가리킬 때, 복수의 MPM들 중에서 상기 현재 블록의 인트라 모드를 특정하는 하나 이상의 신택스 요소들을 추가로 부호화하기 위한 수단; 및
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 가리킬 때, 복수의 Non-MPM들 중에서 상기 현재 블록의 인트라 모드를 특정하는 하나 이상의 신택스 요소들을 추가로 부호화하기 위한 수단
    을 포함하고,
    상기 복수의 MPM들은 2개의 MPM 그룹으로 구분되며, 상기 복수의 MPM들은 Planar 모드 및 상기 현재 블록에 인접한 복원 블록들로부터 도출된 인트라 모드들을 포함하며,
    상기 하나 이상의 신택스 요소들은,
    상기 현재 블록의 인트라 모드가 상기 2개의 MPM 그룹들 중에서 어느 MPM 그룹에 속하는지를 지시하는 제1 신택스 요소; 및
    상기 제1 신택스 요소에 의해 지시되는 MPM 그룹에 속하는 MPM들 중 하나를 지시하는 제2 신택스 요소
    중에서 적어도 하나를 포함하는, 영상 데이터를 부호화하는 장치.
  2. 제1항에 있어서,
    상기 부호화부는,
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 가리킬 때, 가능한 인트라 모드들에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성하는 과정;
    인트라 모드들의 모드 값에 따라 오름차순으로 상기 Non-MPM들을 정렬(sorting)하는 과정;
    상기 오름차순으로 정렬된 인트라 모드들을 복수의 그룹으로 구분하는 과정; 및
    상기 현재 블록의 인트라 모드와 동일한 Non-MPM의 인덱스를 나타내는 데이터를 부호화하는 것 없이, 상기 현재 블록의 인트라 모드가 속하는 Non-MPM 그룹을 지시하는 신택스 요소를 부호화하는 과정
    을 수행하는, 영상 데이터를 부호화하는 장치.
  3. 제1항에 있어서,
    상기 부호화부는,
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 가리킬 때, 가능한 인트라 모드들에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성하는 과정;
    잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 Non-MPM들이 동일한 Non-MPM 그룹에 속하도록, 상기 Non-MPM들을 복수의 Non-MPM 그룹들로 구분하는 과정;
    상기 현재 블록의 인트라 모드와 동일한 Non-MPM의 인덱스를 나타내는 데이터를 부호화하는 것 없이, 상기 현재 블록의 인트라 모드가 속하는 Non-MPM 그룹을 지시하는 신택스 요소를 부호화하는 과정
    을 수행하는, 영상 데이터를 부호화하는 장치.
  4. 제1항에 있어서,
    상기 부호화부는,
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 가리킬 때, 가능한 인트라 모드들에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성하는 과정;
    상기 Non-MPM들을 복수의 Non-MPM 그룹들로 구분하는 과정, 상기 복수의 Non-MPM 그룹들은 제1그룹 및 제2그룹을 포함하고, 상기 제1그룹은 상기 현재 블록을 예측하기 위한 인트라 모드와 일치할 가능성과 관련된 통계에 기초하여 결정된 인트라 모드들을 포함하고, 상기 제2그룹은 복수의 서브 그룹으로 구분됨;
    상기 현재 블록의 인트라 모드가 속하는 Non-MPM 그룹 및/또는 서브 그룹을 지시하는 하나 이상의 신택스 요소를 부호화하는 과정; 및
    상기 현재 블록의 인트라 모드가 속하는 Non-MPM 그룹 및/또는 서브 그룹 내에서 상기 현재 블록의 인트라 모드와 일치하는 인트라 모드의 인덱스를 나타내는 데이터를 부호화하는 과정
    을 수행하는, 영상 데이터를 부호화하는 장치.
  5. 영상 데이터를 복호화하는 장치로서,
    영상 데이터의 현재 블록에 인접한 복수의 참조 라인들 중에서 선택된 하나의 참조 라인을 지시하는 포지션 정보를 복호화하고, 상기 현재 블록을 예측하기 위한 상기 현재 블록의 인트라 모드를 특정하는 인트라 모드 데이터를 복호화하는 복호화부; 및
    상기 현재 블록에 대한 예측 블록을 생성하기 위해, 상기 현재 블록의 인트라 모드에 기초하여 상기 포지션 정보에 의해 지시되는 참조 라인을 사용하여 상기 현재 블록을 예측하는 인트라 예측부
    를 포함하고,
    상기 복호화부는,
    비트스트림으로부터 상기 현재 블록을 예측하기 위한 상기 현재 블록의 인트라 모드가 최고 확률 모드(MPM)인지 여부를 나타내는 MPM 플래그를 복호화하기 위한 수단;
    상기 현재 블록의 인트라 모드가 MPM임을 상기 MPM 플래그가 지시할 때, 복수의 MPM들 중에서 상기 현재 블록의 인트라 모드를 특정하는 하나 이상의 신택스 요소들을 추가로 복호화하기 위한 수단; 및
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 가리킬 때, 복수의 Non-MPM들 중에서 상기 현재 블록의 인트라 모드를 특정하는 하나 이상의 신택스 요소들을 추가로 복호화하기 위한 수단; 및
    상기 현재 블록을 재구성하기 위해 상기 예측 블록에 가산될, 상기 현재 블록에 대한 잔차 블록을 복호화하기 위한 수단
    을 포함하고,
    상기 복수의 MPM들은 2개의 MPM 그룹으로 구분되며, 상기 복수의 MPM들은 Planar 모드 및 상기 현재 블록에 인접한 복원 블록들로부터 도출된 인트라 모드들을 포함하며,
    상기 하나 이상의 신택스 요소들은,
    상기 현재 블록의 인트라 모드가 상기 2개의 MPM 그룹들 중에서 어느 MPM 그룹에 속하는지를 지시하는 제1 신택스 요소; 및
    상기 제1 신택스 요소에 의해 지시되는 MPM 그룹에 속하는 MPM들 중 하나를 지시하는 제2 신택스 요소
    중에서 적어도 하나를 포함하는, 영상 데이터를 복호화하는 장치.
  6. 제5항에 있어서,
    상기 복호화부는,
    상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 지시할 때, 가능한 인트라 모드들에서 상기 MPM들을 제거하여 Non-MPM들의 리스트를 생성하는 과정;
    잔차 블록의 변환계수들을 스캐닝함에 있어서 동일한 스캐닝 순서(scanning order)를 사용하는 Non-MPM들이 동일한 Non-MPM 그룹에 속하도록, 상기 Non-MPM들을 복수의 Non-MPM 그룹들로 구분하는 과정; 및
    상기 현재 블록의 인트라 모드와 동일한 Non-MPM의 인덱스를 나타내는 데이터를 복호화하는 것 없이, 상기 현재 블록의 인트라 모드가 속하는 Non-MPM 그룹을 지시하는 신택스 요소를 복호화하는 과정
    을 수행하는, 영상 데이터를 부호화하는 장치.
  7. 영상 데이터의 부호화된 데이터를 포함하는 비트스트림을 기록한 컴퓨터 판독 가능한 비일시적인 기록매체로서, 상기 비트스트림은,
    영상 데이터의 현재 블록에 인접한 복수의 참조 라인들 중에서 선택된 하나의 참조 라인을 지시하는 포지션 정보를 복호화하고, 상기 현재 블록을 예측하기 위한 상기 현재 블록의 인트라 모드를 특정하는 인트라 모드 데이터를 복호화하는 과정;
    상기 현재 블록에 대한 예측 블록을 생성하기 위해, 상기 현재 블록의 인트라 모드에 기초하여 상기 포지션 정보에 의해 지시되는 참조 라인을 사용하여 상기 현재 블록을 예측하는 과정;
    상기 현재 블록에 대한 잔차 블록을 복호화하는 과정; 및
    상기 현재 블록을 재구성하기 위해 상기 잔차 블록을 상기 예측 블록에 가산하는 과정
    을 포함하는 복호화 프로세스에 의해 복호화되며,
    상기 인트라 모드 데이터를 복호화하는 과정은,
    상기 현재 블록을 예측하기 위한 상기 현재 블록의 인트라 모드가 최고 확률 모드(MPM)인지 여부를 나타내는 MPM 플래그를 복호화하는 과정; 및
    상기 현재 블록의 인트라 모드가 MPM임을 상기 MPM 플래그가 지시할 때, 복수의 MPM들 중에서 상기 현재 블록의 인트라 모드를 특정하는 하나 이상의 신택스 요소들을 추가로 복호화하고, 상기 MPM 플래그가 상기 현재 블록의 인트라 모드가 MPM이 아님을 가리킬 때, 복수의 Non-MPM들 중에서 상기 현재 블록의 인트라 모드를 특정하는 하나 이상의 신택스 요소들을 추가로 복호화하는 과정
    을 포함하고,
    상기 복수의 MPM들은 2개의 MPM 그룹으로 구분되며, 상기 복수의 MPM들은 Planar 모드 및 상기 현재 블록에 인접한 복원 블록들로부터 도출된 인트라 모드들을 포함하며,
    상기 하나 이상의 신택스 요소들은,
    상기 현재 블록의 인트라 모드가 상기 2개의 MPM 그룹들 중에서 어느 MPM 그룹에 속하는지를 지시하는 제1 신택스 요소; 및
    상기 제1 신택스 요소에 의해 지시되는 MPM 그룹에 속하는 MPM들 중 하나를 지시하는 제2 신택스 요소
    중에서 적어도 하나를 포함하는, 컴퓨터 판독 가능한 비일시적인 기록매체.
KR1020210144250A 2016-10-19 2021-10-27 영상 부호화 또는 복호화하기 위한 장치 및 방법 KR20210131972A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160136068 2016-10-19
KR20160136068 2016-10-19
KR1020170014634A KR20180043149A (ko) 2016-10-19 2017-02-01 영상 부호화 또는 복호화하기 위한 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170014634A Division KR20180043149A (ko) 2016-10-19 2017-02-01 영상 부호화 또는 복호화하기 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210131972A true KR20210131972A (ko) 2021-11-03

Family

ID=62081780

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020170014634A KR20180043149A (ko) 2016-10-19 2017-02-01 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR1020210144249A KR20210134267A (ko) 2016-10-19 2021-10-27 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR1020210144250A KR20210131972A (ko) 2016-10-19 2021-10-27 영상 부호화 또는 복호화하기 위한 장치 및 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020170014634A KR20180043149A (ko) 2016-10-19 2017-02-01 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR1020210144249A KR20210134267A (ko) 2016-10-19 2021-10-27 영상 부호화 또는 복호화하기 위한 장치 및 방법

Country Status (3)

Country Link
US (2) US10979708B2 (ko)
KR (3) KR20180043149A (ko)
CN (1) CN109863749B (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7293189B2 (ja) * 2017-07-24 2023-06-19 アリス エンタープライジズ エルエルシー イントラモードjvetコーディング
KR20230152835A (ko) 2017-10-18 2023-11-03 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN116684620A (zh) * 2017-11-28 2023-09-01 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
WO2019191713A1 (en) * 2018-03-30 2019-10-03 Hulu, LLC Intra prediction mode signaling for video coding
WO2020009375A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
EP3813370A4 (en) * 2018-07-14 2021-06-30 LG Electronics, Inc. PROCESS FOR DECODING IMAGES USING INFORMATION RELATED TO INTRA-PREDICTION IN AN IMAGE CODING SYSTEM AND RELATED APPARATUS
KR20230084604A (ko) * 2018-10-05 2023-06-13 엘지전자 주식회사 Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 그 장치
WO2020076116A1 (ko) * 2018-10-12 2020-04-16 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
US11509891B2 (en) * 2018-11-04 2022-11-22 Lg Electronics Inc. Intra prediction method and apparatus in image coding system
WO2020242182A1 (ko) * 2019-05-27 2020-12-03 에스케이텔레콤 주식회사 인트라 예측 모드를 유도하는 방법 및 장치
WO2020256508A1 (ko) * 2019-06-20 2020-12-24 엘지전자 주식회사 신택스 결합을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
KR20220061108A (ko) 2019-09-19 2022-05-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 레퍼런스 샘플 위치 유도
KR20220066045A (ko) 2019-09-19 2022-05-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩의 스케일링 윈도우
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
CN114556918A (zh) 2019-10-12 2022-05-27 北京字节跳动网络技术有限公司 细化视频编解码工具的使用和信令
JP7414980B2 (ja) 2019-10-13 2024-01-16 北京字節跳動網絡技術有限公司 参照ピクチャリサンプリングと映像コーディングツールとの間の相互作用
US20220400255A1 (en) * 2021-06-11 2022-12-15 Tencent America LLC Intra Mode Coding
US20230069984A1 (en) * 2021-08-24 2023-03-09 Tencent America LLC Hardware friendly design for intra mode coding
WO2023106599A1 (ko) * 2021-12-06 2023-06-15 현대자동차주식회사 참조샘플라인의 유도 기반 인트라 예측을 이용하는 비디오 코딩을 위한 방법 및 장치
US20230179784A1 (en) * 2021-12-07 2023-06-08 Tencent America LLC Method and apparatus for improved intra mode coding
WO2023200249A1 (ko) * 2022-04-12 2023-10-19 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
WO2023214699A1 (ko) * 2022-05-03 2023-11-09 현대자동차주식회사 블록 위치에 기초하는 인트라 모드의 적응적 코딩을 위한 방법과 장치
WO2024063532A1 (ko) * 2022-09-20 2024-03-28 엘지전자 주식회사 Mrl(multi reference line)을 이용한 인트라 예측 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
EP3223521A1 (en) * 2011-06-17 2017-09-27 HFI Innovation Inc. Method and apparatus for coding of intra prediction mode
KR20130027975A (ko) 2011-09-08 2013-03-18 주식회사 케이티 인트라 예측 모드 부호화/복호화 방법 및 장치
CN105338345B (zh) * 2011-10-24 2019-01-04 英孚布瑞智有限私人贸易公司 用于图像解码的方法和装置
KR20130049522A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
US9955169B2 (en) * 2012-01-30 2018-04-24 Electronics And Telecommunications Research Institute Intra prediction mode encoding/decoding method and apparatus

Also Published As

Publication number Publication date
US20190273919A1 (en) 2019-09-05
US11381815B2 (en) 2022-07-05
CN109863749B (zh) 2023-09-05
US20210211653A1 (en) 2021-07-08
KR20180043149A (ko) 2018-04-27
US10979708B2 (en) 2021-04-13
KR20210134267A (ko) 2021-11-09
CN109863749A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
KR20210131972A (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN109891883B (zh) 视频编码/解码方法和设备以及存储比特流的记录介质
US11595700B2 (en) Apparatus and method for video encoding or decoding
KR100867995B1 (ko) 동영상 데이터 인코딩/디코딩 방법 및 그 장치
KR102488123B1 (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
US11689719B2 (en) Apparatus and method for video encoding or decoding
CN111226441B (zh) 视频编码的空间变化变换方法及相关设备
US11871030B2 (en) Methods and apparatuses for encoding and decoding motion vector difference using sequence MMVD information
JP2020501427A (ja) 画像符号化/復号化方法、装置、及びビットストリームを保存した記録媒体
WO2012008611A1 (en) Methods and systems for parallel video encoding and parallel video decoding
KR20220140678A (ko) 비-제로 계수들의 위치를 표현하는 방법 및 장치
KR102390384B1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR20190142717A (ko) 인터 예측 방법 및 이를 이용한 영상 복호화 장치
KR102668525B1 (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
KR20230010804A (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
KR20240074733A (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
KR20240074736A (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
KR20240074734A (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
KR20240074735A (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
KR20190024561A (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화

Legal Events

Date Code Title Description
A107 Divisional application of patent