KR20170118728A - 적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 - Google Patents

적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20170118728A
KR20170118728A KR1020177022561A KR20177022561A KR20170118728A KR 20170118728 A KR20170118728 A KR 20170118728A KR 1020177022561 A KR1020177022561 A KR 1020177022561A KR 20177022561 A KR20177022561 A KR 20177022561A KR 20170118728 A KR20170118728 A KR 20170118728A
Authority
KR
South Korea
Prior art keywords
prediction
scan
scan order
intra prediction
order information
Prior art date
Application number
KR1020177022561A
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 KR20170118728A publication Critical patent/KR20170118728A/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • 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/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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 발명은, 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 현재 블록의 인트라 예측 모드를 추출하는 단계; 상기 인트라 예측 모드에 대응되는 스캔 오더 정보에 기초하여 예측 블록을 생성하는 단계; 및 상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원하는 단계를 포함하되, 상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 하는 방법을 제공한다.

Description

적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
본 발명은 비디오 신호의 인코딩/디코딩 방법 및 장치에 관한 것이며, 보다 구체적으로 예측 모드에 따라 적응적인 스캔 오더를 적용함으로써 보다 정확한 예측을 수행하는 기술에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
본 발명은 인트라 예측을 수행함에 있어서 예측 모드에 따라 적응적으로 스캔 오더를 적용하는 방법을 제안하고자 한다.
본 발명은 PU(Prediction Unit) 내 TU(Transform Unit) 스캔 오더를 결정하는 방법을 제안하고자 한다.
본 발명은 인트라 예측을 수행함에 있어서 예측 모드에 따라 이용가능한 참조 샘플을 결정하는 방법을 제안하고자 한다.
본 발명은 예측 모드에 따라 결정되는 참조 샘플을 이용하여 보다 효율적인 예측을 수행하는 방법을 제안하고자 한다.
본 발명은 PU(Prediction Unit) 내 TU(Transform Unit)의 스캔 오더를 나타내는 정보를 시그널링 하는 방법을 제안하고자 한다.
본 발명의 일 실시예는 고효율 압축을 위한 코딩 도구를 설계하는 방법을 제공한다.
또한, 본 발명의 일 실시예는 예측 과정에서의 보다 효율적인 예측 방법을 제공한다.
또한, 본 발명의 일 실시예는 코딩 효율을 개선하기 위한 PU(Prediction Unit) 내 TU(Transform Unit)의 스캔 오더를 변경하는 방법을 제공한다.
또한, 본 발명의 일 실시예는 인트라 예측을 수행함에 있어서 예측 모드에 따라 적응적으로 스캔 오더를 적용하는 방법을 제공한다.
또한, 본 발명의 일 실시예는 인트라 예측을 수행함에 있어서 예측 모드에 따라 이용가능한 참조 샘플을 결정하는 방법을 제공한다.
또한, 본 발명의 일 실시예는 예측 모드에 따라 결정되는 참조 샘플을 이용하여 보다 효율적인 예측을 수행하는 방법을 제공한다.
또한, 본 발명의 일 실시예는 PU(Prediction Unit) 내 TU(Transform Unit)의 스캔 오더를 나타내는 정보를 시그널링하는 방법을 제공한다.
본 발명은 인트라 예측을 수행함에 있어서 예측 모드에 따라 적응적으로 스캔 오더를 적용함으로써 보다 많은 이용가능한 참조 샘플 수를 확보할 수 있으며, 예측 모드에 적합한 참조 샘플을 획득할 수 있다.
또한, 보다 많은 이용가능한 참조 샘플 수를 확보하거나 예측 모드에 적합한 참조 샘플을 획득함으로써 예측 성능을 향상시킬 수 있다.
또한, 본 발명은 PU(Prediction Unit) 내 TU(Transform Unit) 스캔 오더를 결정하는 방법을 제공함으로써 예측 성능을 향상시킬 수 있으며 나아가 코딩 효율을 개선할 수 있다.
또한, PU(Prediction Unit) 내 TU(Transform Unit)의 스캔 오더를 나타내는 정보를 시그널링하는 방법을 제공함으로써 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 예측 유닛을 설명하기 위한 도면이다.
도 5 내지 도 6은 본 발명이 적용되는 실시예들로서, 도 5는 인트라 예측 방법을 설명하기 위한 도면이고, 도 6은 인트라 예측 모드에 따른 예측 방향을 설명하기 위한 도면이다.
도 7은 본 발명이 적용되는 실시예로서, 인트라 예측의 수직 모드에서 TU(Transform Unit) 깊이(depth) 1에 대한 예측 과정을 설명하기 위한 도면이다.
도 8은 본 발명이 적용되는 실시예로서, 인트라 예측의 방향성 모드에서 TU 깊이 1에 대한 래스터 스캔(raster scan)에 따른 예측 과정을 설명하기 위한 도면이다.
도 9는 본 발명이 적용되는 실시예로서, 인트라 예측의 방향성 모드에서 TU 깊이 1에 대한 수직 스캔(vertical scan)에 따른 예측 과정을 설명하기 위한 도면이다.
도 10 내지 도 11은 본 발명이 적용되는 실시예들로서, 인트라 예측의 방향성 모드에서 TU 깊이 2에 대한 수직 스캔(vertical scan)의 필요성을 설명하기 위한 래스터 스캔(raster scan)에 따른 예측 과정을 나타낸다.
도 12 내지 도 13은 본 발명이 적용되는 실시예들로서, 인트라 예측의 방향성 모드에서 TU 깊이 2에 대한 수평 스캔(horizontal scan)의 필요성을 설명하기 위한 래스터 스캔(raster scan)에 따른 예측 과정을 나타낸다.
도 14 내지 도 17은 본 발명이 적용되는 실시예들로서, TU 디코딩 순서 변수에 따른 TU 디코딩 순서를 설명하기 위한 도면이다.
도 18은 본 발명이 적용되는 실시예로서, 인트라 예측을 위한 스캔 오더 플래그를 시그널링하는 신택스이다.
도 19는 본 발명이 적용되는 실시예로서, 인트라 예측 모드에 대응되는 스캔 오더를 이용하여 예측을 수행하는 과정을 설명하기 위한 흐름도이다.
도 20은 본 발명이 적용되는 실시예로서, 인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그에 기초하여 인트라 예측을 수행하는 과정을 설명하기 위한 흐름도이다.
발명의 실시를 위한 최선의 형태
본 발명은, 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 현재 블록의 인트라 예측 모드를 추출하는 단계; 상기 인트라 예측 모드에 대응되는 스캔 오더 정보에 기초하여 예측 블록을 생성하는 단계; 및 상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원하는 단계를 포함하되, 상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 하는 방법을 제공한다.
본 발명에서, 상기 스캔 오더 정보는 상기 인트라 예측 모드에 따라 유도되는 변수인 것을 특징으로 한다.
본 발명에서, 상기 스캔 오더 정보는 래스터 스캔, 수직 스캔, 수평 스캔 또는 지그재그 스캔 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 방법은, 상기 비디오 신호로부터 상기 스캔 오더 정보를 획득하는 단계를 더 포함하되, 상기 스캔 오더 정보는 예측 유닛마다 획득되는 것을 특징으로 한다.
본 발명에서, 상기 방법은, 인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그를 획득하는 단계를 더 포함하되, 상기 플래그가 인트라 예측을 위한 스캔 오더 정보를 전송하는 것을 나타내는 경우 상기 스캔 오더 정보가 획득되는 것을 특징으로 한다.
본 발명에서, 상기 플래그는 SPS, PPS 또는 슬라이스 헤더 중 적어도 하나의 레벨에서 정의되는 것을 특징으로 한다.
본 발명에서, 상기 인트라 예측 모드가 2보다 작은 경우 상기 스캔 오더 정보는 래스터 스캔에 대응되고, 상기 인트라 예측 모드가 2이상이고 18보다 작은 경우 수평 스캔에 대응되며, 상기 인트라 예측 모드가 18이상이면 수직 스캔에 대응되는 것을 특징으로 한다.
본 발명은, 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 현재 블록의 인트라 예측 모드를 추출하는 비트스트림 추출부; 상기 인트라 예측 모드에 대응되는 스캔 오더 정보에 기초하여 예측 블록을 생성하는 인트라 예측부; 및 상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원하는 복원부를 포함하되, 상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 하는 장치를 제공한다.
본 발명에서, 상기 비트스트림 추출부는 상기 비디오 신호로부터 상기 스캔 오더 정보를 추출하고, 상기 스캔 오더 정보는 예측 유닛마다 획득되는 것을 특징으로 한다.
본 발명에서, 상기 비트스트림 추출부는 인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그를 추출하고, 상기 플래그가 인트라 예측을 위한 스캔 오더 정보를 전송하는 것을 나타내는 경우 상기 스캔 오더 정보가 획득되는 것을 특징으로 한다.
발명의 실시를 위한 형태
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(partitioning), 분해(decomposition), 스플리팅 (splitting) 및 분할(division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(Input image)(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다.
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)를 감산하여 잔여 신호(residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부(120)로 전송된다.
변환부(120)는 잔여 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐(reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다.
따라서, 인터 예측부(180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다.
한편, 인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다.
상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 PU 단위로 예측 모드를 선택하고, 선택한 예측 모드에 대해 TU 단위로 예측을 수행할 수 있다. 또한, TU 단위의 예측 수행 순서(또는 스캔 오더)는 래스터 스캔(raster scan) 순서를 따를 수 있다. 예를 들어, PU가 4개의 TU로 분할되어 있는 경우(또는 TU 깊이가 1인 경우), 좌상측 블록 -> 우상측 블록 -> 좌하측 블록 -> 우하측 블록의 순서로 예측이 수행될 수 있다.
이와 같은 스캔 오더에 따라 예측이 수행될 경우, 이용가능한 참조 샘플이 달라질 수 있으며, 또한 예측 모드에 따라 필요한 참조 샘플이 달라질 수 있다.
따라서, 본 발명에서는 예측 모드를 고려한 스캔 오더를 결정하는 방법을 제안하고자 한다. 예측 모드를 고려하여 스캔 오더를 결정함으로써 이용가능한 참조 샘플을 보다 많이 확보할 수 있으며, 이를 통해 예측 성능을 향상시킬 수 있게 된다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호(residual signal)를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 오더(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
예를 들어, CTU의 크기는 64x64, 32x32, 16x16 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않는다. 인코더는 입력된 영상의 해상도 또는 입력된 영상의 특성 등에 따라 CTU의 크기를 선택하여 사용할 수 있다. CTU은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)을 포함할 수 있다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다.
도 3을 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다.
CU는 입력 영상의 처리 과정, 예컨대 인트라(intra)/인터(inter) 예측이 수행되는 코딩의 기본 단위를 의미할 수 있다. CU는 휘도(luma) 성분에 대한 코딩 블록(CB: Coding Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 CB를 포함할 수 있다. 예를 들어, CU의 크기는 64x64, 32x32, 16x16, 8x8 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, CU의 크기는 더 커지거나 다양해질 수 있다.
도 3을 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.
레벨 1의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 2의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 c, h 및 i에 대응하는 CU(c), CU(h), CU(i)는 CTU에서 두 번 분할되었으며, 레벨 2의 깊이를 가진다.
또한, 레벨 2의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 3의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 d, e, f, g에 대응하는 CU(d), CU(e), CU(f), CU(g)는 CTU에서 3번 분할되었으며, 레벨 3의 깊이를 가진다.
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 부호화의 효율을 고려하여 CU의 최대 크기 또는 최소 크기를 결정할 수 있다. 그리고, 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 최대 크기를 가지는 CU를 최대 코딩 유닛(LCU: Largest Coding Unit)이라고 지칭하며, 최소 크기를 가지는 CU를 최소 코딩 유닛(SCU: Smallest Coding Unit)이라고 지칭할 수 있다.
또한, 트리 구조를 갖는 CU는 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 CU는 깊이 정보를 가질 수 있다. 깊이 정보는 CU의 분할된 횟수 및/또는 정도를 나타내므로, CU의 크기에 관한 정보를 포함할 수도 있다.
LCU가 QT 형태로 분할되므로, LCU의 크기 및 최대 깊이 정보를 이용하면 SCU의 크기를 구할 수 있다. 또는 역으로, SCU의 크기 및 트리의 최대 깊이 정보를 이용하면, LCU의 크기를 구할 수 있다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU는 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU는 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.
앞서 도 3의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU는 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다.
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다.
상기 분할 변환 플래그는 최소 크기의 TU을 제외한 모든 TU에 포함될 수 있다. 예를 들어, 상기 분할 변환 플래그의 값이 '1'이면 해당 TU은 다시 4개의 TU으로 나누어지고, 상기 분할 변환 플래그의 값이 '0'이면 해당 TU은 더 이상 나누어지지 않는다.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다.
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
도 4는 본 발명이 적용되는 실시예로서, 예측 유닛을 설명하기 위한 도면이다.
PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할된다.
도 4(a)는 인트라 예측 모드가 사용되는 경우의 PU를 예시하고, 도 4(b)는 인터 예측 모드가 사용되는 경우의 PU를 예시한다.
도 4(a)를 참조하면, 하나의 CU의 크기가 2Nx2N(N=4,8,16,32)인 경우를 가정하면, 하나의 CU는 2가지 타입(즉, 2Nx2N 또는 NxN)으로 분할될 수 있다.
여기서, 2Nx2N 형태의 PU로 분할되는 경우, 하나의 CU 내에 하나의 PU만이 존재하는 것을 의미한다.
반면, N×N 형태의 PU로 분할되는 경우, 하나의 CU는 4개의 PU로 분할되고, 각 PU 단위 별로 서로 다른 예측 블록이 생성된다. 다만, 이러한 PU의 분할은 CU의 휘도 성분에 대한 CB의 크기가 최소 크기인 경우(즉, CU가 SCU인 경우)에만 수행될 수 있다.
도 4(b)를 참조하면, 하나의 CU의 크기가 2Nx2N(N=4,8,16,32)인 경우를 가정하면, 하나의 CU는 8가지의 PU 타입(즉, 2Nx2N, NxN, 2NxN, Nx2N, nLx2N, nRx2N, 2NxnU, 2NxnD)으로 분할될 수 있다.
인트라 예측과 유사하게, NxN 형태의 PU 분할은 CU의 휘도 성분에 대한 CB의 크기가 최소 크기인 경우(즉, CU가 SCU인 경우)에만 수행될 수 있다.
인터 예측에서는 가로 방향으로 분할되는 2NxN 형태 및 세로 방향으로 분할되는 Nx2N 형태의 PU 분할을 지원한다.
또한, 비대칭 움직임 분할(AMP: Asymmetric Motion Partition) 형태인 nLx2N, nRx2N, 2NxnU, 2NxnD 형태의 PU 분할을 지원한다. 여기서, 'n'은 2N의 1/4 값을 의미한다. 다만, AMP는 PU가 속한 CU가 최소 크기의 CU인 경우 사용될 수 없다.
하나의 CTU 내의 입력 영상을 효율적으로 부호화하기 위해 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU)의 최적의 분할 구조는 아래와 같은 수행 과정을 거쳐 최소 율-왜곡(Rate-Distortion) 값을 기반으로 결정될 수 있다. 예를 들어, 64x64 CTU 내 최적의 CU 분할 과정을 살펴보면, 64x64 크기의 CU에서 8x8 크기의 CU까지의 분할 과정을 거치면서 율-왜곡 비용을 계산할 수 있다. 구체적인 과정은 다음과 같다.
1) 64x64 크기의 CU에 대해 인터/인트라 예측, 변환/양자화, 역양자화/역변환 및 엔트로피 인코딩 수행을 통해 최소의 율-왜곡 값을 발생시키는 최적의 PU와 TU의 분할 구조를 결정한다.
2) 64x64 CU를 32x32 크기의 CU 4개로 분할하고 각 32x32 CU에 대해 최소의 율-왜곡 값을 발생시키는 최적의 PU와 TU의 분할 구조를 결정한다.
3) 32x32 CU를 16x16 크기의 CU 4개로 다시 분할하고, 각 16x16 CU에 대해 최소의 율-왜곡 값을 발생시키는 최적의 PU와 TU의 분할 구조를 결정한다.
4) 16x16 CU를 8x8 크기의 CU 4개로 다시 분할하고, 각 8x8 CU에 대해 최소의 율-왜곡 값을 발생시키는 최적의 PU와 TU의 분할 구조를 결정한다.
5) 위의 3)의 과정에서 산출한 16x16 CU의 율-왜곡 값과 위의 4)의 과정에서 산출한 4개 8x8 CU의 율-왜곡 값의 합을 비교하여 16x16 블록 내에서 최적의 CU의 분할 구조를 결정한다. 이 과정을 나머지 3개의 16x16 CU들에 대해서도 동일하게 수행한다.
6) 위의 2)의 과정에서 계산된 32x32 CU의 율-왜곡 값과 위의 5)의 과정에서 획득한 4개 16x16 CU의 율-왜곡 값의 합을 비교하여 32x32 블록 내에서 최적의 CU의 분할 구조를 결정한다. 이 과정을 나머지 3개의 32x32 CU들에 대해서도 동일하게 수행한다.
7) 마지막으로, 위의 1)의 과정에서 계산된 64x64 CU의 율-왜곡 값과 위의 6)의 과정에서 획득한 4개 32x32 CU의 율-왜곡 값의 합을 비교하여 64x64 블록 내에서 최적의 CU의 분할 구조를 결정한다.
인트라 예측 모드에서, PU 단위로 예측 모드가 선택되고, 선택된 예측 모드에 대해 실제 TU 단위로 예측과 재구성이 수행된다.
TU는 실제 예측과 재구성이 수행되는 기본 단위를 의미한다. TU는 휘도(luma) 성분에 대한 변환 블록(TB: Transform Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 TB를 포함한다.
앞서 도 3의 예시에서 하나의 CTU가 쿼드트리 구조로 분할되어 CU가 생성되는 것과 같이, TU는 코딩하려는 하나의 CU로부터 쿼드트리 구조로 계층적으로 분할된다.
TU는 쿼드트리 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. HEVC에서는 TU의 크기는 32×32, 16×16, 8×8, 4×4 중 어느 하나로 정해질 수 있다.
다시 도 3을 참조하면, 쿼드트리의 루트 노드(root node)는 CU와 관련된다고 가정한다. 쿼드트리는 리프 노드(leaf node)에 도달할 때까지 분할되고, 리프 노드는 TU에 해당한다.
보다 구체적으로 살펴보면, CU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, depth=0) 값을 가진다. 입력 영상의 특성에 따라 CU가 분할되지 않을 수도 있으며, 이 경우 CU는 TU에 해당한다.
CU는 쿼드 트리 형태로 분할될 수 있으며, 그 결과 깊이 1(depth=1)인 하위 노드들이 생성된다. 그리고, 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 TU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 TU(a), TU(b), TU(j)는 CU에서 한 번 분할되었으며, 1의 깊이를 가진다.
1의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 퀴드 트리 형태로 분할될 수 있으며, 그 결과 깊이 1(즉, depth=2)인 하위 노드들이 생성된다. 그리고, 2의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 TU에 해당한다. 예를 들어, 도 3(b)에서 노드 c, h 및 i에 대응하는 TU(c), TU(h), TU(i)는 CU에서 두 번 분할되었으며, 2의 깊이를 가진다.
또한, 2의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 쿼드 트리 형태로 분할될 수 있으며, 그 결과 깊이 3(즉, depth=3)인 하위 노드들이 생성된다. 그리고, 3의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 d, e, f, g에 대응하는 TU(d), TU(e), TU(f), TU(g)는 CU에서 3번 분할되었으며, 3의 깊이를 가진다.
트리 구조를 갖는 TU은 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 TU은 깊이 정보를 가질 수 있다. 깊이 정보는 TU의 분할된 횟수 및/또는 정도를 나타내므로, TU의 크기에 관한 정보를 포함할 수도 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보(예를 들어, 분할 TU 플래그(split_transform_flag))가 디코더에 전달될 수 있다. 이 분할 정보는 최소 크기의 TU을 제외한 모든 TU에 포함되어 있다. 예를 들어, 분할 여부를 나타내는 플래그의 값이 '1'이면 해당 TU은 다시 4개의 TU으로 나누어지고, 분할 여부를 나타내는 플래그의 값이 '0'이면 해당 TU은 더 이상 나누어지지 않는다.
도 5 내지 도 6은 본 발명이 적용되는 실시예들로서, 도 5는 인트라 예측 방법을 설명하기 위한 도면이고, 도 6은 인트라 예측 모드에 따른 예측 방향을 설명하기 위한 도면이다.
도 5를 참조하면, 디코더는 현재 처리 블록의 인트라 예측 모드를 유도(derivation)할 수 있다(S501).
인트라 예측에서는 예측 모드에 따라 예측에 사용되는 참조 샘플의 위치에 대한 예측 방향을 가질 수 있다. 본 명세서에서는 예측 방향을 가지는 인트라 예측 모드를 인트라 방향성 예측 모드(Intra_Angular prediction mode) 또는 인트라 방향성 모드라고 한다. 반면, 예측 방향을 가지지 않는 인트라 예측 모드로서, 인트라 플래너(INTRA_PLANAR) 예측 모드, 인트라 DC(INTRA_DC) 예측 모드가 있다.
표 1은 인트라 예측 모드와 관련 명칭에 대하여 예시하고, 도 6은 인트라 예측 모드에 따른 예측 방향을 예시한다.
인트라 예측 모드 (Intra prediction mode) 관련 명칭(Associated name)
0 인트라 플래너(INTRA_PLANAR)
1 인트라 DC(INTRA_DC)
2...34 인트라 방향성 2 ... 인트라 방향성 34(INTRA_ANGULAR2 ... INTRA_ANGULAR34)
인트라 예측에서는 유도되는 예측 모드에 기반하여 현재 처리 블록에 대한 예측을 수행한다. 예측 모드에 따라 예측에 사용되는 참조 샘플과 구체적인 예측 방법이 달라지므로, 현재 블록이 인트라 예측 모드로 인코딩된 경우, 디코더는 예측을 수행하기 위해 현재 블록의 예측 모드를 유도할 수 있다.
디코더는 현재 처리 블록의 주변 샘플들(neighboring samples)이 예측에 사용될 수 있는지 확인하고, 예측에 사용할 참조 샘플들을 구성할 수 있다(S502).
인트라 예측에서 현재 처리 블록의 주변 샘플들은 nSxnS 크기의 현재 처리 블록의 좌측(left) 경계에 인접한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2xnS 개의 샘플들, 현재 처리 블록의 상측(top) 경계에 인접한 샘플 및 우상측(top-right)에 이웃하는 총 2xnS 개의 샘플들 및 현재 처리 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 의미한다.
그러나, 현재 처리 블록의 주변 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 디코더는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitution)하여 예측에 사용할 참조 샘플들을 구성할 수 있다.
디코더는 인트라 예측 모드에 기반하여 참조 샘플의 필터링을 수행할 수 있다(S503).
참조 샘플의 필터링 수행 여부는 현재 처리 블록의 크기에 기반하여 결정될 수 있다. 또한, 참조 샘플의 필터링 방법은 인코더로부터 전달되는 필터링 플래그에 의해 결정될 수 있다.
디코더는 인트라 예측 모드와 참조 샘플들에 기반하여 현재 처리 블록에 대한 예측 블록을 생성하 수 있다(S504). 즉, 디코더는 인트라 예측 모드 유도 단계(S501)에서 유도된 인트라 예측 모드와 참조 샘플 구성 단계(S502)와 참조 샘플 필터링 단계(S503)를 통해 획득한 참조 샘플들에 기반하여 현재 처리 블록에 대한 예측 블록을 생성(즉, 예측 샘플 생성)할 수 있다.
현재 처리 블록이 INTRA_DC 모드로 인코딩된 경우 처리 블록 간의 경계의 불연속성(discontinuity)를 최소화하기 위해, S504 단계에서 예측 블록의 좌측(left) 경계 샘플(즉, 좌측 경계에 인접한 예측 블록 내 샘플)과 상측(top) 경계 샘플(즉, 상측 경계에 인접한 예측 블록 내 샘플)을 필터링할 수 있다.
또한, S504 단계에서 인트라 방향성 예측 모드들 중 수직 방향 모드(vertical mode) 및 수평 방향 모드(horizontal mode)에 대해서도 INTRA_DC 모드와 유사하게 좌측 경계 샘플 또는 상측 경계 샘플에 필터링을 적용할 수 있다.
보다 구체적으로 살펴보면, 현재 처리 블록이 수직 모드(vertical mode) 또는 수평 모드(horizontal mode)로 인코딩된 경우, 예측 방향에 위치하는 참조 샘플에 기반하여 예측 샘플의 값을 유도할 수 있다. 이때, 예측 블록의 좌측 경계 샘플 또는 상측 경계 샘플 중 예측 방향에 위치하지 않는 경계 샘플이 예측에 사용되지 않는 참조 샘플과 인접할 수 있다. 즉, 예측에 사용되는 참조 샘플과의 거리보다 예측에 사용되지 않는 참조 샘플과의 거리가 훨씬 가까울 수 있다.
따라서, 디코더는 인트라 예측 방향이 수직 방향인지 수평 방향인지에 따라 적응적으로 좌측 경계 샘플들 또는 상측 경계 샘플들에 필터링을 적용할 수 있다. 즉, 인트라 예측 방향이 수직 방향인 경우, 좌측 경계 샘플들에 필터링을 적용하고, 인트라 예측 방향이 수평 방향인 경우, 상측 경계 샘플들에 필터링을 적용할 수 있다.
도 7은 본 발명이 적용되는 실시예로서, 인트라 예측의 수직 모드에서 TU(Transform Unit) 깊이(depth) 1에 대한 예측 과정을 설명하기 위한 도면이다.
인트라 예측에서는 PU 단위로 예측 모드를 선택하고, 선택한 예측 모드에 대해 TU 단위로 예측을 수행할 수 있다. 따라서, PU에서 결정된 예측 모드가 분할된 TU 에 모두 동일하게 적용된다. TU 단위의 예측 수행 순서(또는 스캔 오더)는 TU0 -> TU1 -> TU2 -> TU3의 순서로 진행될 수 있다.
상기 도 7(a)를 살펴보면, 인트라 예측의 수직 모드에서 TU0는 인접한 CU들의 참조 샘플을 참조하여 예측을 수행하고, TU1은 상측으로 인접한 부분의 참조 샘플을 참조하여 예측을 수행한다.
상기 도 7(b)를 살펴보면, 인트라 예측의 수직 모드에서 TU2도 상측으로 인접한 부분의 참조 샘플을 참조하여 예측을 수행하며, 상기 도 7(c)를 살펴보면, TU3도 상측으로 인접한 부분의 참조 샘플을 참조하여 예측을 수행한다.
도 8은 본 발명이 적용되는 실시예로서, 인트라 예측의 방향성 모드에서 TU 깊이 1에 대한 래스터 스캔(raster scan)에 따른 예측 과정을 설명하기 위한 도면이다.
상기에서 살펴본 바와 같이, 인트라 예측에서는 PU 단위로 예측 모드를 선택하고, 선택한 예측 모드에 대해 TU 단위로 예측을 수행할 수 있다. 또한, TU 단위의 예측 수행 순서(또는 스캔 오더)는 래스터 스캔(raster scan) 순서에 따름을 확인하였다. 예를 들어, PU가 4개의 TU로 분할되어 있는 경우(또는 TU 깊이가 1인 경우), 좌상측 블록 -> 우상측 블록 -> 좌하측 블록 -> 우하측 블록의 순서로 예측이 수행될 수 있다.
도 8(a)를 살펴보면, 인트라 예측의 방향성 모드에서 래스터 스캔(raster scan) 순서에 따라 TU0가 먼저 예측을 수행할 수 있다. TU0은 주변의 참조 샘플(Xa)을 이용하여 예측을 수행할 수 있다.
도 8(b)를 살펴보면, TU1은 주변의 참조 샘플(Xb)을 이용하여 예측을 수행할 수 있으나, Yb 영역의 참조 샘플은 복원되지 않아 이용할 수 없게 된다.
또한, 도 8(c)를 살펴보면, TU2는 주변의 참조 샘플(Xc)을 이용하여 예측을 수행할 수 있으나, Yc 영역의 참조 샘플은 이용가능하지만 실제 예측을 위해 이용되지는 않는다.
도 8(d)를 살펴보면, TU3은 주변의 참조 샘플(Xd)을 이용하여 예측을 수행할 수 있다.
이와 같이, 스캔 오더에 따라 이용가능한 참조 샘플이 달라질 수 있으며, 또한 예측 모드에 따라 필요한 참조 샘플이 달라질 수 있다.
따라서, 본 발명에서는 예측 모드를 고려한 스캔 오더를 결정하는 방법을 제안하고자 한다. 예측 모드를 고려하여 스캔 오더를 결정함으로써 이용가능한 참조 샘플을 보다 많이 확보할 수 있으며, 이를 통해 예측 성능을 향상시킬 수 있게 된다.
도 9는 본 발명이 적용되는 실시예로서, 인트라 예측의 방향성 모드에서 TU 깊이 1에 대한 수직 스캔(vertical scan)에 따른 예측 과정을 설명하기 위한 도면이다.
본 발명은 예측 모드를 고려하여 스캔 오더를 결정하는 방법을 제안한다. 일실시예로, 아래 표 2와 같이 스캔 오더를 정할 수 있다. 즉, 인트라 예측 모드가 10보다 작은 방향성 모드인 경우 수직 스캔 오더가 적용될 수 있고, 26보다 큰 방향성 모드인 경우 수평 스캔 오더가 적용될 수 있다.
인트라 예측 모드 스캔 오더(Scan order)
Intra_pred_mode < 10 수직 스캔 (Vertical scan)
Intra_pred_mode > 26 수평 스캔(Horizontal scan)
상기 도 9를 살펴보면, TU 깊이 = PU 깊이 + 1 인 경우 수직 스캔 오더에 따라 예측을 수행하는 것을 나타낸다. 수직 스캔의 경우, 좌상측 블록(TU0) -> 좌하측 블록(TU1) -> 우상측 블록(TU2) -> 우하측 블록(TU3)의 순서로 예측이 수행될 수 있다.
도 9(a)를 살펴보면, TU0은 주변의 참조 샘플(Xa)을 이용하여 예측을 수행할 수 있고, 도 9(b)를 살펴보면, TU1은 이용가능한 참조 샘플(Xb)을 이용하여 예측을 수행할 수 있다. 래스터 스캔의 경우에는 Yb 영역의 참조 샘플은 이용가능하지만 실제 예측을 위해 이용되지는 않았지만, 수직 스캔의 경우에는 이용불가능하며 이용할 필요조차 없게 된다.
또한, 도 9(c)를 살펴보면, TU2는 주변의 참조 샘플(Xc)을 이용하여 예측을 수행할 수 있고, Yc 영역의 참조 샘플도 수직 스캔을 수행함으로써 이용가능하게 된다.
도 9(d)를 살펴보면, TU3은 주변의 참조 샘플(Xd)을 이용하여 예측을 수행할 수 있다.
이와 같이, 인트라 예측 모드가 10보다 작은 방향성 모드인 경우 수직 스캔 오더가 적용될 수 있고, 상기 도 9(c)와 같이 수직 스캔 오더가 적용되는 경우 이용가능한 참조 샘플 Yc를 추가로 확보하게 됨으로써 예측 성능을 보다 향상시킬 수 있게 된다.
도 10 내지 도 11은 본 발명이 적용되는 실시예들로서, 인트라 예측의 방향성 모드에서 TU 깊이 2에 대한 수직 스캔(vertical scan)의 필요성을 설명하기 위한 래스터 스캔(raster scan)에 따른 예측 과정을 나타낸다.
상기 도 10 내지 도 11을 살펴보면, TU 깊이 = PU 깊이 + 2 인 경우 래스터 스캔(raster scan)에 따른 예측 과정을 나타내며, 스캔 오더는 TU0 -> TU1 -> TU2 -> … -> TU15 의 순서로 예측이 수행될 수 있다.
도 10(a) 내지 도 10(h), 그리고 도 11(a) 내지 도11(h)의 예측 과정에 대한 설명은 앞서 설명한 도 8의 설명이 적용될 수 있으며, 이하에서는 본 발명의 실시예인 인트라 예측의 방향성 모드에서 TU 깊이 2에 대한 수직 스캔(vertical scan)을 설명하기 위해 필요한 부분만 설명하도록 한다.
도 10(b)를 살펴보면, TU1은 복원된 참조 샘플을 이용하여 예측을 수행할 수 있지만, 래스터 스캔 오더가 적용되는 경우 Y1 영역의 참조 샘플은 이용불가능하다는 문제점이 있다.
마찬가지로, 도 10(d), 도 10(f), 도 10(g), 도 10(h), 도 11(b) 및 도 11(f)의 경우에도 각각 Y2, Y3, Y4, Y5, Y6, Y7 영역의 참조 샘플은 이용불가능하다는 문제점이 있다.
따라서, 본 발명은 인트라 예측 모드에 따라 다른 스캔 오더를 적용하는 방법을 제공하고자 한다. 예를 들어, 인트라 예측 모드가 10보다 작은 방향성 모드인 경우 수직 스캔 오더를 적용할 수 있다. 수직 스캔 오더가 적용되는 경우, 도 10 내지 도 11의 TU들에 대한 스캔 오더는 TU0 -> TU2 -> TU8 -> TU10 -> TU1 -> TU3 -> TU9 -> TU11 -> TU4 -> TU6 -> TU12 -> TU14 -> TU5 -> TU7 -> TU13 -> TU15 의 순서로 예측이 수행될 수 있다.
이와 같이, 인트라 예측 모드가 10보다 작은 방향성 모드에서 수직 스캔 오더가 적용되는 경우 이용가능한 참조 샘플 Y1, Y2, Y3, Y4, Y5, Y6, Y7 를 추가로 확보하게 됨으로써 예측 성능을 보다 향상시킬 수 있게 된다.
도 12 내지 도 13은 본 발명이 적용되는 실시예들로서, 인트라 예측의 방향성 모드에서 TU 깊이 2에 대한 수평 스캔(horizontal scan)의 필요성을 설명하기 위한 래스터 스캔(raster scan)에 따른 예측 과정을 나타낸다.
상기 도 12 내지 도 13을 살펴보면, TU 깊이 = PU 깊이 + 2 인 경우 래스터 스캔(raster scan)에 따른 예측 과정을 나타내며, 스캔 오더는 TU0 -> TU1 -> TU2 -> … -> TU15 의 순서로 예측이 수행될 수 있다.
도 12(a) 내지 도 12(h), 그리고 도 13(a) 내지 도13(h)의 예측 과정에 대한 설명은 앞서 설명한 도 8 및 도 11 내지 도 12의 설명이 적용될 수 있으며, 이하에서는 본 발명의 실시예인 인트라 예측의 방향성 모드에서 TU 깊이 2에 대한 수평 스캔(horizontal scan)을 설명하기 위해 필요한 부분만 설명하도록 한다.
도 12(d)를 살펴보면, TU3은 복원된 참조 샘플을 이용하여 예측을 수행할 수 있지만, 래스터 스캔 오더가 적용되는 경우 TU3을 예측하기 위해 Y1 영역의 참조 샘플은 이용불가능하다는 문제점이 있다.
마찬가지로, 도 13(d)의 경우에도 TU11을 예측하기 위해 Y2 영역의 참조 샘플은 이용불가능하다는 문제점이 있다.
따라서, 본 발명은 인트라 예측 모드에 따라 다른 스캔 오더를 적용하는 방법을 제공하고자 한다. 예를 들어, 인트라 예측 모드가 26보다 큰 방향성 모드인 경우 수평 스캔 오더를 적용할 수 있다. 수평 스캔 오더가 적용되는 경우, 도 12 내지 도 13의 TU들에 대한 스캔 오더는 TU0 -> TU1 -> TU4 -> TU5 -> TU2 -> TU3 -> TU6 -> TU7 -> TU8 -> TU9 -> TU12 -> TU13 -> TU10 -> TU11 -> TU14 -> TU15 의 순서로 예측이 수행될 수 있다.
이와 같이, 인트라 예측 모드가 26보다 큰 방향성 모드에서 수평 스캔 오더가 적용되는 경우 이용가능한 참조 샘플 Y1, Y2 를 추가로 확보하게 됨으로써 예측 성능을 보다 향상시킬 수 있게 된다.
도 14 내지 도 17은 본 발명이 적용되는 실시예들로서, TU 디코딩 순서 변수에 따른 TU 디코딩 순서를 설명하기 위한 도면이다.
본 발명은 예측 모드를 고려하여 스캔 오더를 결정하는 방법을 제안한다. 일실시예로, 인트라 예측 모드에 따라 TU 디코딩 순서 변수를 정의할 수 있고, 상기 TU 디코딩 순서 변수에 따라 다른 스캔 오더를 적용할 수 있다.
일실시예로, 현재 PU가 인트라 코딩되고 TU 깊이가 0보다 크면, PU 내의 TU 디코딩 순서는 TU 디코딩 순서 변수에 의해 정의된 순서를 따를 수 있다. 예를 들어, 상기 TU 디코딩 순서 변수는 TuDecOrder로 표현될 수 있다.
상기 도 14 내지 도 16은 TU 디코딩 순서 변수 및 TU 깊이 중 적어도 하나에 따라 서로 다른 스캔 오더가 적용되는 것을 나타낸다. 구체적 예로, 상기 도 14(a), 도 15(a) 및 도 16(a)를 살펴보면, TuDecOrder = 0 이면 래스터 스캔이 적용되는 것을 확인할 수 있다. 그리고, 상기 도 14(b), 도 15(b) 및 도 16(b)를 살펴보면, TuDecOrder = 1 이면 수평 스캔이 적용되는 것을 확인할 수 있으며, 상기 도 14(c), 도 15(c) 및 도 16(c)를 살펴보면, TuDecOrder = 2 이면 수직 스캔이 적용되는 것을 확인할 수 있다.
또한, 도 14는 TU 깊이가 1인 경우를 나타내고, 도 15는 TU 깊이가 2인 경우를 나타내며, 도 16은 TU 깊이가 3인 경우를 나타낸다.
한편, 상기 TU 디코딩 순서 변수는 인트라 예측 모드에 기초하여 결정될 수 있다. 예를 들어, 상기 도 17을 살펴보면, 인트라 예측 모드가 2보다 작은 경우(S1710) TuDecOrder = 0, 즉 래스터 스캔이 적용될 수 있다(S1720).
인트라 예측 모드가 2이상이고(S1730) 2 내지 17 중 어느 하나인 경우(S1740) TuDecOrder = 1, 즉 수평 스캔이 적용될 수 있다(S1750).
그리고, 인트라 예측 모드가 18 이상인 경우(S1760) TuDecOrder = 3, 즉 수직 스캔이 적용될 수 있다(S1770).
본 발명이 적용되는 다른 실시예로, 인코더에서 PU마다 스캔 오더 정보를 전송할 수 있다. 그리고, 디코더에서는 스캔 오더 정보를 수신하고, 그에 따라 인트라 예측을 수행할 수 있다.
예를 들어, 스캔 오더 정보를 스캔 모드(scan mode)라 하면, 아래 표 3과 같이 정의할 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 아래 복수개의 스캔 오더들의 조합을 이용하는 것도 가능하다.
스캔 모드(scan_mode) 스캔 오더(Scan order)
0 래스터 스캔 (raster scan)
1 수직 스캔 (Vertical scan)
2 수평 스캔(Horizontal scan)
3 지그재그 스캔(zigzag scan)
도 18은 본 발명이 적용되는 실시예로서, 인트라 예측을 위한 스캔 오더 플래그를 시그널링하는 신택스이다.
본 발명의 실시예로, 인트라 예측을 위한 스캔 오더를 나타내는 플래그를 정의할 수 있다. 상기 플래그를 intra_pred_scan_enable_flag라 표현할 수 있다.
상기 도 18을 살펴보면, 인트라 예측이 수행되는 경우 상기 인트라 예측을 위한 스캔 오더를 나타내는 플래그를 수신할 수 있다(S1800). intra_pred_scan_enable_flag = 1이면 PU마다 스캔 오더를 나타내는 스캔 모드를 전송할 수 있다. 상기 스캔 모드는 상기 표 3의 실시예가 적용될 수 있으나, 본 발명은 이에 한정되지 않는다. intra_pred_scan_enable_flag = 0이면 스캔 오더를 나타내는 스캔 모드를 전송하지 않는다.
한편, 상기 플래그는 슬라이스 레벨에서 정의될 수 있으나, 본 발명은 이에 한정되지 않으며 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 등에서 정의될 수도 있다.
다른 실시예로, 상기 intra_pred_scan_enable_flag 는 인트라 예측 모드에 따라 TU들의 디코딩 순서(또는 스캔 오더)가 다르게 적용될 수 있는지 여부를 나타낼 수 있다. intra_pred_scan_enable_flag = 1이면 인트라 예측 모드에 따라 TU들의 디코딩 순서(또는 스캔 오더)가 다르게 적용되는 것을 나타내고, 0이면 다르게 적용되지 않는 것을 나타낼 수 있다.
도 19는 본 발명이 적용되는 실시예로서, 인트라 예측 모드에 대응되는 스캔 오더를 이용하여 예측을 수행하는 과정을 설명하기 위한 흐름도이다.
먼저, 디코더는 수신된 비트스트림으로부터 현재 블록의 인트라 예측 모드를 추출할 수 있다(S1910).
상기 디코더는 상기 추출된 인트라 예측 모드에 대응되는 스캔 오더 정보에 기초하여 예측 블록을 생성할 수 있다(S1920). 여기서, 상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 한다.
또한, 상기 스캔 오더 정보는 상기 인트라 예측 모드에 따라 유도되는 변수일 수 있다. 예를 들어, 상기 인트라 예측 모드가 2보다 작은 경우 상기 스캔 오더 정보는 래스터 스캔에 대응되고, 상기 인트라 예측 모드가 2이상이고 18보다 작은 경우 수평 스캔에 대응되며, 상기 인트라 예측 모드가 18이상이면 수직 스캔에 대응될 수 있다.
다른 예로, 상기 스캔 오더 정보는 인코더로부터 전송되는 정보일 수 있으며, 이 경우 상기 스캔 오더 정보는 예측 유닛마다 획득될 수 있다.
또한, 상기 스캔 오더 정보는 래스터 스캔, 수직 스캔, 수평 스캔 또는 지그재그 스캔 중 적어도 하나를 포함할 수 있다.
상기 디코더는 상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원할 수 있다(S1930).
도 20은 본 발명이 적용되는 실시예로서, 인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그에 기초하여 인트라 예측을 수행하는 과정을 설명하기 위한 흐름도이다.
먼저, 디코더는 인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그를 획득할 수 있다(S2010). 여기서, 상기 플래그가 인트라 예측을 위한 스캔 오더 정보를 전송하는 것을 나타내는 경우 상기 스캔 오더 정보가 획득될 수 있다.
예를 들어, 상기 플래그를 intra_pred_scan_enable_flag 라 하면, intra_pred_scan_enable_flag = 1이면 PU마다 스캔 오더를 나타내는 스캔 모드를 전송할 수 있다. 상기 스캔 모드는 상기 표 3의 실시예가 적용될 수 있으나, 본 발명은 이에 한정되지 않는다. intra_pred_scan_enable_flag = 0이면 스캔 오더를 나타내는 스캔 모드를 전송하지 않는다. 또한, 상기 플래그는 슬라이스 레벨에서 정의될 수 있으나, 본 발명은 이에 한정되지 않으며 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 등에서 정의될 수도 있다.
한편, 상기 디코더는 비트스트림으로부터 현재 블록의 인트라 예측 모드를 추출할 수 있다(S2020).
그리고, 상기 디코더는 상기 인트라 예측 모드에 대응되는 스캔 오더 정보를 획득할 수 있고(S2030), 획득된 스캔 오더 정보에 기초하여 예측 블록을 생성할 수 있다(S2040). 여기서, 상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 하며, 본 명세서에서 설명한 모든 실시예들이 적용될 수 있다.
상기 디코더는 상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원할 수 있다(S2050).
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 내지 도 2에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (14)

  1. 비디오 신호를 디코딩하는 방법에 있어서,
    상기 비디오 신호로부터 현재 블록의 인트라 예측 모드를 추출하는 단계;
    상기 인트라 예측 모드에 대응되는 스캔 오더 정보에 기초하여 예측 블록을 생성하는 단계; 및
    상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원하는 단계
    를 포함하되,
    상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 스캔 오더 정보는 상기 인트라 예측 모드에 따라 유도되는 변수인 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 스캔 오더 정보는 래스터 스캔, 수직 스캔, 수평 스캔 또는 지그재그 스캔 중 적어도 하나를 포함하는 것을 특징으로 방법.
  4. 제1항에 있어서, 상기 방법은,
    상기 비디오 신호로부터 상기 스캔 오더 정보를 획득하는 단계를 더 포함하되,
    상기 스캔 오더 정보는 예측 유닛마다 획득되는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 방법은,
    인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그를 획득하는 단계를 더 포함하되,
    상기 플래그가 인트라 예측을 위한 스캔 오더 정보를 전송하는 것을 나타내는 경우 상기 스캔 오더 정보가 획득되는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 플래그는 SPS, PPS 또는 슬라이스 헤더 중 적어도 하나의 레벨에서 정의되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 인트라 예측 모드가 2보다 작은 경우 상기 스캔 오더 정보는 래스터 스캔에 대응되고, 상기 인트라 예측 모드가 2이상이고 18보다 작은 경우 수평 스캔에 대응되며, 상기 인트라 예측 모드가 18이상이면 수직 스캔에 대응되는 것을 특징으로 하는 방법.
  8. 비디오 신호를 디코딩하는 장치에 있어서,
    상기 비디오 신호로부터 현재 블록의 인트라 예측 모드를 추출하는 비트스트림 추출부;
    상기 인트라 예측 모드에 대응되는 스캔 오더 정보에 기초하여 예측 블록을 생성하는 인트라 예측부; 및
    상기 생성된 예측 블록과 차분 블록을 이용하여 상기 현재 블록을 복원하는 복원부
    를 포함하되,
    상기 스캔 오더 정보는 상기 인트라 예측 모드의 방향성에 기초하여 결정된 것을 특징으로 하는 장치.
  9. 제8항에 있어서,
    상기 스캔 오더 정보는 상기 인트라 예측 모드에 따라 유도되는 변수인 것을 특징으로 하는 장치.
  10. 제8항에 있어서,
    상기 스캔 오더 정보는 래스터 스캔, 수직 스캔, 수평 스캔 또는 지그재그 스캔 중 적어도 하나를 포함하는 것을 특징으로 장치.
  11. 제8항에 있어서,
    상기 비트스트림 추출부는 상기 비디오 신호로부터 상기 스캔 오더 정보를 추출하고, 상기 스캔 오더 정보는 예측 유닛마다 획득되는 것을 특징으로 하는 장치.
  12. 제11항에 있어서,
    상기 비트스트림 추출부는 인트라 예측을 위한 스캔 오더 정보를 전송할지 여부를 나타내는 플래그를 추출하고,
    상기 플래그가 인트라 예측을 위한 스캔 오더 정보를 전송하는 것을 나타내는 경우 상기 스캔 오더 정보가 획득되는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 플래그는 SPS, PPS 또는 슬라이스 헤더 중 적어도 하나의 레벨에서 정의되는 것을 특징으로 하는 장치.
  14. 제8항에 있어서,
    상기 인트라 예측 모드가 2보다 작은 경우 상기 스캔 오더 정보는 래스터 스캔에 대응되고, 상기 인트라 예측 모드가 2이상이고 18보다 작은 경우 수평 스캔에 대응되며, 상기 인트라 예측 모드가 18이상이면 수직 스캔에 대응되는 것을 특징으로 하는 장치.
KR1020177022561A 2015-02-17 2016-02-17 적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 KR20170118728A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562116953P 2015-02-17 2015-02-17
US62/116,953 2015-02-17
PCT/KR2016/001589 WO2016133356A1 (ko) 2015-02-17 2016-02-17 적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20170118728A true KR20170118728A (ko) 2017-10-25

Family

ID=56689046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177022561A KR20170118728A (ko) 2015-02-17 2016-02-17 적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20180027236A1 (ko)
EP (1) EP3261349A4 (ko)
KR (1) KR20170118728A (ko)
CN (1) CN107258084A (ko)
WO (1) WO2016133356A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101356448B1 (ko) 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
US8867854B2 (en) 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
EP3484148A1 (en) 2017-11-09 2019-05-15 Thomson Licensing Automated scanning order for sub-divided blocks
WO2019234608A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partition tree with more than four sub-blocks
US11102490B2 (en) 2018-12-31 2021-08-24 Tencent America LLC Coefficient scanning methods on adaptive angle mode
US11677969B2 (en) 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding
JP7441638B2 (ja) 2019-12-06 2024-03-01 日本放送協会 符号化装置、復号装置、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
KR101433169B1 (ko) * 2008-01-03 2014-08-28 경희대학교 산학협력단 인트라 방향성에 따른 모드 예측 및 양자화 매트릭스와스캐닝 적용 방법 및 장치
WO2010143853A2 (ko) * 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
KR101427229B1 (ko) * 2011-09-20 2014-08-18 한양대학교 산학협력단 적응적인 부호화 순서를 이용한 영상 부호화/복호화 장치 및 방법
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
US9344722B2 (en) * 2011-11-18 2016-05-17 Futurewei Technologies, Inc. Scanning of prediction residuals in high efficiency video coding
CN104041049B (zh) * 2012-01-13 2018-11-30 寰发股份有限公司 处理变换单元的方法及其装置
GB2501534A (en) * 2012-04-26 2013-10-30 Sony Corp Control of transform processing order in high efficeency video codecs
US20150312571A1 (en) * 2012-11-29 2015-10-29 Lg Electronics Inc. Method and device for encoding/ decoding image supporting plurality of layers

Also Published As

Publication number Publication date
EP3261349A4 (en) 2018-09-12
US20180027236A1 (en) 2018-01-25
WO2016133356A1 (ko) 2016-08-25
CN107258084A (zh) 2017-10-17
EP3261349A1 (en) 2017-12-27

Similar Documents

Publication Publication Date Title
US20240015287A1 (en) Method and apparatus for processing video signal
US10880553B2 (en) Method for processing image on basis of intra prediction mode and apparatus therefor
US10848759B2 (en) Intra prediction mode-based image processing method and apparatus therefor
US20240015292A1 (en) Method and apparatus for processing video signal
KR102424419B1 (ko) 비디오 신호 처리 방법 및 장치
KR101550719B1 (ko) 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
KR20230113257A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한기록 매체
KR20180064414A (ko) 비디오 신호의 인코딩, 디코딩 방법 및 장치
EP3058738B1 (en) Wedgelet pattern extension for depth intra coding
US20180213224A1 (en) Intra prediction method and device in video coding system
KR102539354B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20170118728A (ko) 적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
EP3496400A1 (en) Video signal processing method and device
KR20170116043A (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR20170135847A (ko) 비디오 신호의 인코딩/디코딩 방법 및 장치
EP3509307A1 (en) Method and device for processing video signal
KR20180006411A (ko) 디블록킹 필터링을 수행하는 방법 및 장치
JP2022539737A (ja) 動画データのイントラ予測コーディングのための方法及び装置
EP3922029A1 (en) Video coding using intra sub-partition coding mode
KR20210158386A (ko) Mip 모드 매핑이 단순화된 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US10382792B2 (en) Method and apparatus for encoding and decoding video signal by means of transform-domain prediction
US20200288146A1 (en) Intra-prediction mode-based image processing method and apparatus therefor
US20200154103A1 (en) Image processing method on basis of intra prediction mode and apparatus therefor
CN112567749B (zh) 使用仿射运动预测来处理视频信号的方法和装置
KR20220071129A (ko) 적응적 참조화소 선택을 이용한 영상 부호화 및 복호화 방법