[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20210046804A - 영상 부호화/복호화 방법 및 장치 - Google Patents

영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20210046804A
KR20210046804A KR1020217010230A KR20217010230A KR20210046804A KR 20210046804 A KR20210046804 A KR 20210046804A KR 1020217010230 A KR1020217010230 A KR 1020217010230A KR 20217010230 A KR20217010230 A KR 20217010230A KR 20210046804 A KR20210046804 A KR 20210046804A
Authority
KR
South Korea
Prior art keywords
block
prediction
mode
prediction mode
information
Prior art date
Application number
KR1020217010230A
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 KR20210046804A publication Critical patent/KR20210046804A/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • 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
    • 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/182Methods 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 pixel
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

본 발명에 따른 영상 부호화/복호화 방법 및 장치는, 대상 블록의 화면내 예측 모드를 결정하고, 화면내 예측 모드에 기반하여 대상 블록의 예측 블록을 생성하며, 생성된 예측 블록을 보정할 수 있다.

Description

영상 부호화/복호화 방법 및 장치
본 발명은 영상 부호화/복호화 방법 및 장치에 관한 것이다.
인터넷과 휴대 단말의 보급과 정보 통신 기술의 발전에 따라 멀티미디어 데이터에 대한 이용이 급증하고 있다. 따라서, 각종 시스템에서 영상 예측을 통해 다양한 서비스나 작업을 수행하기 위하여 영상 처리 시스템의 성능 및 효율 개선에 대한 필요성이 상당히 증가하고 있으나, 이러한 분위기에 호응할 수 있는 연구 개발 결과가 미흡한 실정이다.
이와 같이, 종래 기술의 영상 부호화 복호화 방법 및 장치에서는 영상 처리 특히 영상 부호화 또는 영상 복호화에 대한 성능 개선이 요구되고 있는 실정이다.
본 발명은, 컬러 성분에 따른 화면내 예측 모드 유도 방법 및 장치를 제공하는데 목적이 있다.
본 발명은 화면내 예측을 위한 참조 화소 구성 방법 및 장치를 제공하는데 목적이 있다.
본 발명은 임의의 화소를 사용하여 화면내 예측에 보정을 수행하는 영상 부호화/복호화 방법 및 장치를 제공하는 데 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치는, 대상 블록의 화면내 예측 모드를 결정하고, 상기 화면내 예측 모드에 기반하여, 상기 대상 블록의 예측 블록을 생성하며, 상기 예측 블록을 보정할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 대상 블록의 화면내 예측 모드는, 상기 대상 블록의 상태 정보에 따른 예측 모드 후보군 내의 모드로 결정될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 대상 블록의 컬러 성분이 휘도 성분인 경우, 방향성 모드와 비방향성 모드로 구성된 예측 모드 후보군을 참조하고, 상기 대상 블록의 컬러 성분이 색차 성분인 경우, 방향성 모드, 비방향성 모드, 컬러 모드 또는 컬러 복사 모드 중 적어도 하나가 지원되는 예측 모드 후보군을 참조할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 예측 모드 후보군은, 각 카테고리에 포함 가능하는 예측 모드의 최대 개수 또는 우선순위를 고려하여, 복수의 카테고리로 분류될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 예측 모드 후보군은, 비방향성 모드와 방향성 모드를 포함한 제1 카테고리 및 컬러 복사 모드를 포함한 제2 카테고리로 분류될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 복수의 카테고리 중 어느 하나를 특정하는 제1 정보를 획득하고, 상기 제1 정보에 따른 카테고리 내에서 상기 대상 블록의 화면내 예측 모드를 특정하는 제2 정보를 획득할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 대상 블록의 화면내 예측 모드는, 상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 특정된 카테고리로부터 결정될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 제2 정보는, 상기 제1 정보에 따른 카테고리에 하나의 예측 모드만이 포함된 경우에는 획득되지 않을 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 화면내 예측에 사용되는 참조 화소를 구성하는 단계를 더 포함하되, 상기 참조 화소는, 복호화 장치에서 지원되는 복수의 참조 화소 라인 전부 또는 일부에 속할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 구성된 참조 화소에 가중 필터 또는 보간 필터 중 적어도 하나를 수행하는 단계를 더 포함할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 예측 블록을 보정하는 단계는, 소정의 부호화 정보에 기초하여 선택적으로 수행되고, 상기 부호화 정보는, 영상 타입, 컬러 성분, 상태 정보, 부호화 모드, 화면내 예측 모드, 서브 블록 단위의 화면내 예측이 적용되는지 여부 또는 참조 화소 라인 중 적어도 하나를 포함할 수 있다.
본 발명에 따르면, 화면내 예측 모드를 효율적으로 유도할 수 있다.
본 발명에 따르면, 참조 화소 라인의 선택적 이용과 소정의 필터링을 통해 화면내 예측의 효율을 향상시킬 수 있다.
본 발명에 따르면, 예측 블록을 보정을 통해 화면내 예측의 정확도를 향상시키고, 부호화 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 블록 구성도이다.
도 4는 본 발명의 블록 분할부에서 획득할 수 있는 다양한 분할 형태를 나타낸 예시도이다.
도 5는 본 발명의 일 실시예에 따른 화면내 예측에서의 예측 모드를 나타낸 예시도이다.
도 6은 본 발명의 일 실시예에 따른 대상 블록과 그에 인접한 블록에 관한 배치도이다.
도 7은 본 발명의 일 실시예에 따른 화면내 예측의 보정 방법을 나타낸 순서도이다.
도 8은 본 발명의 일 실시예에 따른 대상 블록 및 인접한 블록의 화소에 관한 배치도이다.
도 9는 본 발명의 일 실시예에 따른 다중 참조 화소 라인에 기반한 보정 방법에 관한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 화면내 예측의 보정 방법을 나타낸 순서도이다.
도 11은 본 발명의 일 실시예에 따른 예측 화소 보정에 사용되는 임의의 화소에 대한 예시도이다.
도 12는 본 발명의 일 실시예에 따른 임의의 화소에 기반하여 보정이 수행되는 예시도이다.
발명의 실시를 위한 최선의 형태
본 발명에 따른 영상 부호화/복호화 방법 및 장치는, 대상 블록의 화면내 예측 모드를 결정하고, 상기 화면내 예측 모드에 기반하여, 상기 대상 블록의 예측 블록을 생성하며, 상기 예측 블록을 보정할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 대상 블록의 화면내 예측 모드는, 상기 대상 블록의 상태 정보에 따른 예측 모드 후보군 내의 모드로 결정될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 대상 블록의 컬러 성분이 휘도 성분인 경우, 방향성 모드와 비방향성 모드로 구성된 예측 모드 후보군을 참조하고, 상기 대상 블록의 컬러 성분이 색차 성분인 경우, 방향성 모드, 비방향성 모드, 컬러 모드 또는 컬러 복사 모드 중 적어도 하나가 지원되는 예측 모드 후보군을 참조할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 예측 모드 후보군은, 각 카테고리에 포함 가능하는 예측 모드의 최대 개수 또는 우선순위를 고려하여, 복수의 카테고리로 분류될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 예측 모드 후보군은, 비방향성 모드와 방향성 모드를 포함한 제1 카테고리 및 컬러 복사 모드를 포함한 제2 카테고리로 분류될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 복수의 카테고리 중 어느 하나를 특정하는 제1 정보를 획득하고, 상기 제1 정보에 따른 카테고리 내에서 상기 대상 블록의 화면내 예측 모드를 특정하는 제2 정보를 획득할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 대상 블록의 화면내 예측 모드는, 상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 특정된 카테고리로부터 결정될 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 제2 정보는, 상기 제1 정보에 따른 카테고리에 하나의 예측 모드만이 포함된 경우에는 획득되지 않을 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 화면내 예측에 사용되는 참조 화소를 구성하는 단계를 더 포함하되, 상기 참조 화소는, 복호화 장치에서 지원되는 복수의 참조 화소 라인 전부 또는 일부에 속할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 구성된 참조 화소에 가중 필터 또는 보간 필터 중 적어도 하나를 수행하는 단계를 더 포함할 수 있다.
본 발명에 따른 영상 부호화/복호화 방법 및 장치에 있어서, 상기 예측 블록을 보정하는 단계는, 소정의 부호화 정보에 기초하여 선택적으로 수행되고, 상기 부호화 정보는, 영상 타입, 컬러 성분, 상태 정보, 부호화 모드, 화면내 예측 모드, 서브 블록 단위의 화면내 예측이 적용되는지 여부 또는 참조 화소 라인 중 적어도 하나를 포함할 수 있다.
발명의 실시를 위한 형태
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 것을 의미한다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
통상적으로 영상의 컬러 포맷(Color Format)에 따라 하나 이상의 컬러 공간으로 구성될 수 있다. 컬러 포맷에 따라 일정 크기를 갖는 1개 이상의 픽쳐 또는 다른 크기를 갖는 1개 이상의 픽쳐로 구성될 수 있다. 일 예로, YCbCr 컬러 구성에서 4:4:4, 4:2:2, 4:2:0, Monochrome(Y로만 구성) 등의 컬러 포맷이 지원될 수 있다. 일 예로, YCbCr 4:2:0인 경우 1개의 휘도 성분(본 예에서, Y)과 2개의 색차 성분(본 예에서, Cb/Cr)으로 구성될 수 있으며, 이때 색차 성분과 휘도 성분의 구성 비는 가로, 세로 1:2를 가질 수 있다. 일 예로, 4:4:4인 경우 가로, 세로 동일한 구성 비를 가질 수 있다. 상기 예처럼 하나 이상의 컬러 공간으로 구성이 되는 경우 픽쳐는 각 컬러 공간으로의 분할을 수행할 수 있다.
영상은 영상 타입(예를 들어, 픽쳐 타입, 슬라이스 타입, 타일 그룹 타입, 타일 타입, 브릭 타입 등)에 따라 I, P, B 등으로 분류할 수 있는데, I 영상 타입은 참조 픽쳐를 사용하지 않고 자체적으로 부호화되는 영상을 의미할 수 있고, P 영상 타입은 참조 픽쳐를 사용하여 부호화를 하되 전방향 예측만을 허용하는 영상을 의미할 수 있으며, B 영상 타입은 참조 픽쳐를 사용하여 부호화를 하며 전/후방향 예측을 허용하는 영상을 의미할 수 있으나, 부호화 설정에 따라 상기 타입의 일부가 결합(P와 B를 결합)되거나 다른 구성의 영상 타입이 지원될 수도 있다.
본 발명에서 발생하는 다양한 부호화/복호화 정보는 명시적(Explicit) 또는 묵시적(Implicit)인 처리가 가능할 수 있다. 여기서 명시적인 처리는 부호화/복호화 정보를 시퀀스, 슬라이스, 타일 그룹, 타일, 브릭(Brick), 블록, 서브 블록 등에서 생성하여 이를 비트스트림에 수록할 수 있고, 복호화기에서 부호화기와 동일 수준의 단위에서 관련 정보를 파싱(Parsing)하여 복호화 정보로 복원하는 것으로 이해할 수 있다. 여기서 묵시적인 처리는 부호화/복호화 정보를 부호화기와 복호화기에서 동일한 과정, 규칙 등으로 처리되는 것으로 이해할 수 있다.
도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.
도 1을 참조하면, 영상 부호화 장치(105) 및 복호화 장치(100)는 개인용 컴퓨터(PC:Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone) 또는 TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(memory, 120, 125) 또는 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(processor, 110, 115) 등을 구비하는 다양한 장치를 포함할 수 있다.
또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망 또는 이동통신망 등의 유무선 통신망(Network) 등을 통하거나 케이블 또는 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치(100)로 전송되어 영상 복호화 장치(100)에서 복호화되어 영상으로 복원되고 재생될 수 있다. 또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 영상 부호화 장치(105)에서 영상 복호화 장치(100)로 전달될 수 있다.
전술한 영상 부호화 장치와 영상 복호화 장치는 각각 별도의 장치들일 수 있으나, 구현에 따라서 하나의 영상 부호화/복호화 장치로 만들어질 수 있다. 그 경우, 영상 부호화 장치의 일부 구성은 영상 복호화 장치의 일부 구성과 실질적으로 동일한 기술요소로서 적어도 동일한 구조를 포함하거나 적어도 동일한 기능을 수행하도록 구현될 수 있다.
따라서, 이하의 기술요소들과 이들의 작동 원리 등에 대한 상세 설명에서는 대응 기술요소들의 중복되는 설명을 생략하기로 한다. 또한, 영상 복호화 장치는 영상 부호화 장치에서 수행되는 영상 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응하므로, 이하의 설명에서는 영상 부호화 장치를 중심으로 설명하기로 한다.
컴퓨팅 장치는 영상 부호화 방법 및/또는 영상 복호화 방법을 구현하는 프로그램이나 소프트웨어 모듈을 저장하는 메모리와 메모리에 연결되어 프로그램을 수행하는 프로세서를 포함할 수 있다. 여기서, 영상 부호화 장치는 부호화기로, 영상 복호화 장치는 복호화기로 각각 지칭될 수 있다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록 구성도이다.
도 2를 참조하면, 영상 부호화 장치(20)는 예측부(200), 감산부(205), 변환부(210), 양자화부(215), 역양자화부(220), 역변환부(225), 가산부(230), 필터부(235), 부호화 픽쳐 버퍼(240) 및 엔트로피 부호화부(245)를 포함할 수 있다.
예측부(200)는 소프트웨어 모듈인 예측 모듈(prediction module)을 이용하여 구현될 수 있고, 부호화할 블록에 대하여 화면내 예측 방식(Intra Prediction)이나 화면간 예측 방식(Inter Prediction)으로 예측 블록을 생성할 수 있다. 예측부(200)는 영상에서 현재 부호화하고자 하는 대상 블록(Target Block)을 예측하여 예측 블록을 생성할 수 있다. 다시 말해, 예측부(200)는 영상에서 부호화하고자 하는 대상 블록의 각 화소의 화소값(pixel value)을 화면내 예측 또는 화면간 예측에 따라 예측하여 생성된 각 화소의 예측 화소값(prediced pixel value)를 갖는 예측 블록을 생성할 수 있다. 또한, 예측부(200)는 화면내 예측 모드 또는 화면간 예측 모드와 같은 예측 모드에 대한 정보와 같은 예측 블록을 생성하는데 필요한 정보를 부호화부로 전달하여 부호화부로 하여금 예측 모드에 대한 정보를 부호화하도록 할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 부호화 설정에 따라 정해질 수 있다. 예를 들어, 예측 방법, 예측 모드 등은 예측 단위로 결정되고, 예측의 수행은 변환 단위로 수행될 수 있다.
화면간 예측부에서 참조 픽쳐에 기반하여 시간적 예측과 공간적 예측으로 구분할 수 있다. 시간적 예측의 경우 현재 픽쳐와 시간적으로 다른 픽쳐에서 움직임을 찾는 예측 방법일 수 있고, 공간적 예측의 경우 현재 픽쳐와 시간적으로 동일한 현재 픽쳐(부호화가 완료된 영역. 대상 블록에 인접한 기 설정된 영역)에서 움직임을 찾는 예측 방법일 수 있다. 이는 참조 픽쳐 리스트를 통해 통합 관리하거나 또는 부호화 모드를 구분하여 관리할 수 있다.
또한, 화면간 예측부에서 움직임 예측 방법에 따라 이동 움직임 모델과 이동 외 움직임 모델로 구분할 수 있다. 이동 움직임 모델의 경우 평행 이동만을 고려하여 예측을 수행하고, 이동 외 움직임 모델의 경우 평행 이동뿐만 아니라 회전, 원근, 줌 인/아웃(Zoom in/out) 등과 같은 움직임을 고려하여 예측을 수행할 수 있다. 단방향 예측을 가정할 때 이동 움직임 모델의 경우 하나의 움직임 벡터가 필요할 수 있지만, 이동 외 움직임 모델의 경우 하나 이상의 움직임 정보(예를 들어, 하나의 움직임 벡터 + 회전 각도/스케일 팩터, 둘 이상의 움직임 벡터 등. 다음은 둘 이상의 움직임 벡터 사용을 가정)가 필요할 수 있다. 이동 외 움직임 모델의 경우 각 움직임 벡터는 대상 블록의 좌상측 꼭지점, 우상측 꼭지점, 좌하측 꼭지점 등과 같이 대상 블록의 기설정된 위치에 적용되는 정보일 수 있고, 해당 움직임 벡터를 통해 대상 블록의 예측하고자 하는 영역의 위치를 화소 단위 또는 서브 블록 단위(4 x 4, 8 x 8과 같은 2 이상의 정수)로 획득할 수 있다. 화면간 예측부는 상기 움직임 모델에 따라 후술하는 일부 과정은 공통으로 적용될 수 있고 일부 과정은 개별적으로 적용될 수 있다.
화면간 예측부는 참조 픽쳐 구성부, 움직임 추정부, 움직임 보상부, 움직임 정보 결정부, 움직임 정보 부호화부를 포함할 수 있다. 참조 픽쳐 구성부는 현재 픽쳐를 중심으로 이전 또는 이후에 부호화된 픽쳐를 참조 픽쳐 리스트(L0, L1)에 포함할 수 있다. 상기 참조 픽쳐 리스트에 포함된 참조 픽쳐로부터 예측 블록을 획득할 수 있으며, 부호화 설정에 따라 현재 영상 또한 참조 픽쳐로 구성되어 참조 픽쳐 리스트 중 적어도 한 곳에 포함될 수 있다.
화면간 예측부에서 참조 픽쳐 구성부는 참조 픽쳐 보간부를 포함할 수 있으며, 보간 정밀도에 따라 소수 단위 화소를 위한 보간 과정을 수행할 수 있다. 예를 들어, 휘도 성분의 경우 8-tap DCT 기반의 보간 필터를 적용하고, 색차 성분의 경우 4-tap DCT 기반의 보간 필터를 적용할 수 있다.
화면간 예측부에서 움직임 추정부는 대상 블록과 상관성이 높은 블록을 참조 픽쳐를 통해 탐색하는 과정이며 FBMA(Full search-based block matching algorithm), TSS(Three step search) 등의 다양한 방법이 사용될 수 있고, 움직임 보상부는 움직임 추정 과정을 통해 예측 블록을 획득하는 과정을 의미한다.
화면간 예측부에서 움직임 정보 결정부는 대상 블록의 최적의 움직임 정보를 선정하기 위한 과정이 수행될 수 있으며, 움직임 정보는 스킵 모드(Skip Mode), 병합 모드(Merge Mode), 경쟁 모드(Competition Mode) 등의 움직임 정보 부호화 모드에 의해 부호화될 수 있다. 상기 모드는 움직임 모델에 따라 지원되는 모드가 결합되어 구성될 수 있으며, 스킵 모드(이동), 스킵 모드(이동 외), 병합 모드(이동), 병합 모드(이동 외), 경쟁 모드(이동), 경쟁 모드(이동 외)가 그에 대한 예가 될 수 있다. 부호화 설정에 따라 상기 모드 중 일부가 후보군에 포함될 수 있다.
상기 움직임 정보 부호화 모드는 적어도 하나의 후보 블록에서 대상 블록의 움직임 정보(움직임 벡터, 참조 픽쳐, 예측 방향 등)의 예측값을 획득할 수 있으며, 둘 이상의 후보 블록이 지원되는 경우에는 최적의 후보 선택 정보가 발생할 수 있다. 스킵 모드(잔차 신호 없음)와 병합 모드(잔차 신호 존재)는 상기 예측값을 그대로 대상 블록의 움직임 정보로 사용할 수 있고, 경쟁 모드는 대상 블록의 움직임 정보와 상기 예측값과의 차분치 정보가 발생할 수 있다.
대상 블록의 움직임 정보 예측값을 위한 후보군은 움직임 정보 부호화 모드에 따라 적응적이고 다양한 구성을 가질 수 있다. 대상 블록에 공간적으로 인접한 블록(예를 들어, 좌, 상, 좌상, 우상, 좌하 블록 등)의 움직임 정보가 후보군에 포함될 수 있고, 시간적으로 인접한 블록(예를 들어, 대상 블록과 대응 또는 상응하는 다른 영상 내 블록<중앙>을 포함하여 좌, 우, 상, 하, 좌상, 우상, 좌하, 우하 블록 등)의 움직임 정보가 후보군에 포함될 수 있으며, 공간적 후보와 시간적 후보의 혼합 움직임 정보(예를 들어, 공간적으로 인접한 블록의 움직임 정보와 시간적으로 인접한 블록의 움직임 정보를 통해 둘 이상 후보의 평균, 중앙값 등으로 획득되는 정보. 대상 블록 또는 대상 블록의 서브 블록 단위로 움직임 정보를 획득할 수 있음) 등이 후보군에 포함될 수 있다.
움직임 정보 예측값 후보군 구성을 위한 우선 순위가 존재할 수 있다. 상기 우선 순위에 따라 예측값 후보군 구성에 포함되는 순서가 정해질 수 있으며, 상기 우선 순위에 따라 후보군의 개수(움직임 정보 부호화 모드에 따라 정해짐)만큼 채워지면 후보군 구성을 완료할 수 있다. 이때, 공간적으로 인접한 블록의 움직임 정보, 시간적으로 인접한 블록의 움직임 정보, 공간적 후보와 시간적 후보의 혼합 움직임 정보 순서로 우선 순위가 정해질 수 있으나, 그 외의 변형 또한 가능하다.
예를 들어, 공간적으로 인접한 블록 중에서는 좌 - 상 - 우상 - 좌하 - 좌상 블록 등의 순서로 후보군에 포함할 수 있고, 시간적으로 인접한 블록 중에서는 우하 - 중 - 우 - 하 블록 등의 순서로 후보군에 포함할 수 있다.
감산부(205)는 대상 블록에서 예측 블록을 감산하여 잔차 블록(residual block)을 생성할 수 있다. 다시 말해, 감산부(205)는 부호화하고자 하는 대상 블록의 각 화소의 화소값과 예측부를 통해 생성된 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔차 신호(residual signal)인 잔차 블록을 생성할 수 있다. 또한, 감산부(205)는 후술하는 블록 분할부를 통해 획득된 블록 단위 이외의 단위에 따라 잔차 블록을 생성할 수도 있다.
변환부(210)는 공간 영역에 속하는 신호를 주파수 영역에 속하는 신호로 변환할 수 있으며, 변환 과정을 거쳐 획득되는 신호를 변환 계수(Transformed Coeffcient)라고 한다. 예를 들어, 감산부로부터 전달받은 잔차 신호를 갖는 잔차 블록을 변환하여 변환 계수를 갖는 변환 블록을 획득할 수 있는데, 입력 받은 신호는 부호화 설정에 따라 결정되며 이는 잔차 신호에 한정되지 않는다.
변환부는 잔차 블록을 하다마드 변환(Hadamard Transform), 이산 사인 변환(DST Based-Transform: Discrete Sine Transform), 이산 코사인 변환(DCT Based-Transform: Discrete Cosine Transform) 등과 같은 변환 기법을 사용하여 변환할 수 있으며, 이에 한정되지 않고 이를 개량 및 변형한 다양한 변환 기법이 사용될 수 있다.
상기 변환 기법 중 적어도 하나의 변환 기법이 지원될 수 있으며, 각 변환 기법에서 적어도 하나의 세부 변환 기법이 지원될 수 있다. 이때, 상기 세부 변한 기법은 각 변환 기법에서 기저 벡터의 일부가 달리 구성되는 변환 기법일 수 있다.
예를 들어, DCT의 경우 DCT-1 내지 DCT-8 중 하나 이상의 세부 변환 기법이 지원될 수 있고, DST의 경우 DST-1 내지 DST-8 중 하나 이상의 세부 변환 기법이 지원될 수 있다. 상기 세부 변환 기법의 일부를 구성하여 변환 기법 후보군을 구성할 수 있다. 일 예로, DCT-2, DCT-8, DST-7를 변환 기법 후보군으로 구성하여 변환을 수행할 수 있다.
변환은 수평/수직 방향으로 수행될 수 있다. 예를 들어, DCT-2의 변환 기법을 사용하여 수평 방향으로 1차원 변환을 수행하고, DST-7의 변환 기법을 사용하여 수직 방향으로 1차원 변환을 수행하여 총 2차원 변환을 수행함으로써 공간 영역의 화소값을 주파수 영역으로 변환할 수 있다.
고정적인 하나의 변환 기법을 사용하여 변환을 수행할 수 있거나 부호화 설정에 따라 변환 기법을 적응적으로 선택하여 변환을 수행할 수 있다. 이때, 적응적인 경우에는 명시적 또는 묵시적인 방법을 사용하여 변환 기법을 선택할 수 있다. 명시적인 경우에는 수평, 수직 방향에 적용되는 각각의 변환 기법 선택 정보 또는 변환 기법 세트 선택 정보가 블록 등의 단위에서 발생할 수 있다. 묵시적인 경우는 영상 타입(I/P/B), 컬러 성분, 블록의 크기/형태/위치, 화면내 예측 모드 등에 따라 부호화 설정이 정의될 수 있으며, 이에 따라 소정의 변환 기법이 선택될 수 있다.
또한, 부호화 설정에 따라 상기 일부 변환이 생략되는 경우가 가능할 수 있다. 즉, 명시적 또는 묵시적으로 수평/수직 단위 중 하나 이상을 생략할 수 있음을 의미한다.
또한, 변환부는 변환 블록을 생성하는데 필요한 정보를 부호화부로 전달하여 이를 부호화하도록 할 수 있고, 그에 따른 정보를 비트스트림에 수록하여 이를 복호화기에 전송하고, 복호화기의 복호화부는 이에 대한 정보를 파싱하여 역변환 과정에 사용할 수 있다.
양자화부(215)는 입력 받은 신호를 양자화할 수 있으며, 이때 양자화 과정을 거쳐 획득되는 신호를 양자화 계수(Quantized Coefficient)라고 한다. 예를 들어, 변환부로부터 전달받은 잔차 변환 계수를 갖는 잔차 블록을 양자화하여 양자화 계수를 갖는 양자화 블록을 획득할 수 있는데, 입력 받은 신호는 부호화 설정에 따라 결정되며 이는 잔차 변환 계수에 한정되지 않는다.
양자화부는 변환된 잔차 블록을 데드존 균일 경계 양자화(Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 양자화 기법을 사용하여 양자화할 수 있으며, 이에 한정되지 않고 이를 개량 및 변형한 다양한 양자화 기법이 사용될 수 있다.
부호화 설정에 따라 양자화 과정은 생략할 수 있다. 예를 들어, 부호화 설정(예를 들어, 양자화 파라미터가 0. 즉, 무손실 압축 환경)에 따라 양자화 과정을 생략(역과정도 포함)할 수 있다. 다른 예로, 영상의 특성에 따라 양자화를 통한 압축 성능이 발휘되지 않는 경우에는 양자화 과정을 생략할 수 있다. 이때, 양자화 블록(M x N) 중 양자화 과정이 생략되는 영역은 전체 영역이거나 또는 일부 영역(M/2 x N/2, M x N/2, M/2 x N 등)일 수 있으며, 양자화 생략 선택 정보는 묵시적 또는 명시적으로 정해질 수 있다.
양자화부는 양자화 블록을 생성하는데 필요한 정보를 부호화부로 전달하여 이를 부호화하도록 할 수 있고, 그에 따른 정보를 비트스트림에 수록하여 이를 복호화기에 전송하고, 복호화기의 복호화부는 이에 대한 정보를 파싱하여 이를 역양자화 과정에 사용할 수 있다.
상기 예에서는 변환부와 양자화부를 통해 잔차 블록을 변환하고 양자화하는 가정 하에 설명하였지만, 잔차 블록을 잔차 신호를 변환하여 변환 계수를 갖는 잔차 블록을 생성하고 양자화 과정을 수행하지 않을 수 있으며, 잔차 블록의 잔차 신호를 변환 계수로 변환하지 않고 양자화 과정만을 수행할 수 있을 뿐만 아니라, 변환과 양자화 과정 모두 수행하지 않을 수 있다. 이는 부호화기 설정에 따라 결정될 수 있다.
역양자화부(220)는 양자화부(215)에 의해 양자화된 잔차 블록을 역 양자화한다. 즉, 역양자화부(220)는 양자화 주파수 계수열을 역양자화하여 주파수 계수를 갖는 잔차 블록을 생성한다.
역변환부(225)는 역양자화부(220)에 의해 역양자화된 잔차 블록을 역변환한다. 즉, 역변환부(225)는 역양자화된 잔차 블록의 주파수 계수들을 역변환하여 화소값을 갖는 잔차 블록, 즉 복원된 잔차 블록을 생성한다. 여기서, 역변환부(225)는 변환부(210)에서 사용한 변환한 방식을 역으로 사용하여 역변환을 수행할 수 있다.
가산부(230)는 예측부(200)에서 예측된 예측 블록과 역변환부(225)에 의해 복원된 잔차 블록을 가산하여 대상 블록을 복원한다. 복원된 대상 블록은 부호화 픽쳐 버퍼(240)에 참조 픽쳐(또는 참조 블록)로서 저장되어 대상 블록의 다음 블록이나 향후 다른 블록, 다른 픽쳐를 부호화할 때 참조 픽쳐로서 사용될 수 있다.
필터부(235)는 디블록킹 필터, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 등의 하나 이상의 후처리 필터 과정을 포함할 수 있다. 디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. SAO는 디블록킹 필터가 적용된 잔차 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원할 수 있다. 이와 같은 후처리 필터는 복원된 픽쳐 또는 블록에 적용될 수 있다.
부호화 픽쳐 버퍼(240)는 필터부(235)를 통해 복원된 블록 또는 픽쳐를 저장할 수 있다. 부호화 픽쳐 버퍼(240)에 저장된 복원 블록 또는 픽쳐는 화면내 예측 또는 화면간 예측을 수행하는 예측부(200)에 제공될 수 있다.
엔트로피 부호화부(245)는 생성된 양자화 주파수 계수열을 다양한 스캔 방식에 따라 스캔하여 양자화 계수열을 생성하고, 이를 엔트로피 부호화 기법 등을 이용하여 부호화 함으로써 출력한다. 스캔 패턴은 지그재그, 대각선, 래스터(raster) 등 다양한 패턴들 중 하나로 설정할 수 있다. 또한, 각 구성부로부터 전달되는 부호화 정보를 포함하는 부호화 데이터를 생성하여 비트스트림으로 출력할 수 있다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 블록 구성도이다.
도 3을 참조하면, 영상 복호화 장치(30)는 엔트로피 복호화부(305), 예측부(310), 역양자화부(315), 역변환부(320), 가감산기(325), 필터(330) 및 복호화 픽쳐 버퍼(335)를 포함하여 구성될 수 있다.
또한, 예측부(310)는 다시 화면내 예측 모듈 및 화면간 예측 모듈을 포함하여 구성될 수 있다.
먼저, 영상 부호화 장치(20)로부터 전달된 영상 비트스트림이 수신되면, 엔트로피 복호화부(305)로 전달될 수 있다.
엔트로피 복호화부(305)는 비트스트림을 복호화하여 양자화된 계수들과 각 구성부로 전달되는 복호화 정보를 포함하는 복호화 데이터를 복호화할 수 있다.
예측부(310)는 엔트로피 복호화부(305)로부터 전달된 데이터들에 기초하여 예측 블록을 생성할 수 있다. 이때, 복호화된 픽쳐 버퍼(335)에 저장된 참조 영상에 기초하여, 디폴트(default) 구성 기법을 이용한 참조 픽쳐 리스트를 구성할 수도 있다.
화면간 예측부는 참조 픽쳐 구성부, 움직임 보상부, 움직임 정보 복호화부를 포함할 수 있으며, 일부는 부호화기와 동일한 과정을 수행하고 일부는 역으로 유도하는 과정을 수행할 수 있다.
역양자화부(315)는 비트스트림으로 제공되어 엔트로피 복호화부(305)에 의해 복호화된 양자화된 변환 계수들을 역양자화할 수 있다.
역변환부(320)는 역 DCT, 역 정수 변환 또는 그와 유사한 개념의 역변환 기법들을 변환 계수에 적용하여 잔차 블록을 생성할 수 있다.
이때, 역양자화부(315), 역변환부(320)는 앞서 설명한 영상 부호화 장치(20)의 변환부(210) 및 양자화부(215)에서 수행한 과정을 역으로 수행하며 다양한 방법으로 구현될 수 있다. 예를 들어, 변환부(210) 및 양자화부(215)와 공유하는 동일한 과정 및 역변환을 사용할 수도 있고, 영상 부호화 장치(20)로부터 변환 및 양자화 과정에 관한 정보(예를 들면, 변환 크기, 변환 모양, 양자화 타입 등)를 이용하여 변환 및 양자화 과정을 역으로 수행할 수 있다.
역양자화 및 역변환 과정을 거친 잔차 블록은 예측부(310)에 의해 도출된 예측 블록과 가산되어 복원된 영상 블록이 생성될 수 있다. 이러한 가산은 가감산기(325)에 의해 이루어 질 수 있다.
필터(330)는 복원된 영상 블록에 대하여, 필요에 따라 블록킹(blocking) 현상을 제거하기 위하여 디블록킹 필터를 적용할 수도 있고, 상기 복호화 과정 전 후에 다른 루프 필터들을 비디오 품질을 향상시키기 위해 추가로 사용할 수도 있다.
복원 및 필터를 거친 영상 블록은 복호화 픽쳐 버퍼(335)에 저장될 수 있다.
도면에 도시하지 않았지만 영상 부호화/복호화 장치에 블록 분할부를 더 포함할 수 있다.
블록 분할부를 통해 다양한 단위과 크기의 블록으로 분할할 수 있다. 기본 부호화 단위(또는 최대 부호화 단위. Coding Tree Unit. CTU)는 영상 부호화 과정에서 예측, 변환, 양자화 등에 대한 기본(또는 시작) 단위를 의미할 수 있다. 이때, 기본 부호화 단위는 컬러 포맷(본 예에서 YCbCr)에 따라 하나의 휘도 기본 부호화 블록(또는, 최대 부호화 블록. Coding Tree Block. CTB)과 두 개의 기본 색차 부호화 블록으로 구성될 수 있으며, 컬러 포맷에 따라 각 블록의 크기가 정해질 수 있다. 그리고 분할 과정에 따라 부호화 블록(Coding Block. CB)이 획득될 수 있다. 부호화 블록은 일정한 제한에 따라 더 이상의 부호화 블록으로 분할되지 않은 단위로 이해할 수 있으며, 하위 단위로의 분할의 시작 단위로 설정될 수 있다. 본 발명에서 블록은 사각형 형태에만 제한하지 않고 삼각형, 원형 등의 다양한 형태를 포함하는 넓은 개념으로 이해할 수 있다.
후술하는 내용은 하나의 컬러 성분을 대상으로 하지만 컬러 포맷에 따른 비율(예를 들어, YCbCr 4:2:0의 경우 휘도 성분과 색차 성분의 가로 및 세로 길이 비율은 2:1)에 비례하여 다른 컬러 성분에 변경 적용될 수 있음을 이해하여야 한다. 또한, 다른 컬러 성분에 의존적인 블록 분할(예를 들어, Cb/Cr에서 Y의 블록 분할 결과에 의존적인 경우)이 가능할 수 있지만, 각 컬러 성분에 독립적인 블록 분할이 가능할 수 있음을 이해하여야 한다. 또한, 공통되는 하나의 블록 분할 설정(길이 비율에 비례하는 것은 고려)을 사용할 수 있지만, 컬러 성분에 따라 개별적인 블록 분할 설정이 사용되는 것 또한 고려하여 이해할 필요가 있다.
블록 분할부에서 블록은 M × N으로 표현될 수 있으며, 각 블록의 최대값과 최소값이 범위 내에서 획득될 수 있다. 예를 들어, 블록의 최대값을 256×256, 최소값을 4×4로 정할 경우, 2m×2n 크기의 블록(본 예에서 m과 n은 2부터 8까지의 정수) 또는 2m × 2m 크기의 블록(본 예에서 m과 n은 2부터 128까지의 정수) 또는 m × m 크기의 블록(본 예에서 m과 n은 4부터 256까지의 정수)을 획득할 수 있다. 여기서, m과 n은 동일하거나 동일하지 않을 수 있으며, 상기 최대값과 최소값 등의 블록이 지원되는 범위는 하나 이상 발생할 수 있다.
예를 들어, 블록의 최대 크기 및 최소 크기 등에 관한 정보가 발생할 수 있고, 일부 분할 설정에서의 블록의 최대 크기 및 최소 크기 등에 관한 정보가 발생할 수 있다. 여기서 전자의 경우 영상 내에서 발생 가능한 최대 및 최소 크기에 대한 범위 정보일 수 있고, 후자의 경우 일부 분할 설정에 따라 발생 가능한 최대 및 최소 크기에 대한 정보일 수 있다. 여기서 상기 분할 설정은 영상 타입(I/P/B), 컬러 성분(YCbCr 등), 블록 종류(부호화/예측/변환/양자화 등), 분할 종류(Index or Type), 분할 방식(Tree 방식에서 QT, BT, TT 등, Index 방식에서 SI2, SI3, SI4 등) 등에 의해 정의될 수 있다.
또한, 블록이 가질 수 있는 가로/세로 길이 비율(블록의 형태)에 대한 제한이 존재할 수 있으며, 이에 대한 경계값 조건이 설정될 수 있다. 이때, 임의의 경계값(k) 이하/미만의 블록만 지원될 수 있으며, k는 A/B(A는 가로, 세로 중 길거나 같은 값, B는 그 나머지 값)와 같은 가로와 세로의 길이 비율에 따라 정의될 수 있고, 1.5, 2, 3, 4 등과 같은 1 이상의 실수일 수 있다. 상기 예에서와 같이 영상에서의 하나의 블록의 형태에 관한 제한 조건이 지원되거나 또는 분할 설정에 따라 하나 이상의 제한 조건이 지원될 수 있다.
정리하면, 상기 설명과 같은 범위 및 조건과 후술하는 분할 설정 등에 의해 블록 분할의 지원 여부가 정해질 수 있다. 예를 들어, 블록(부모 블록)의 분할에 따른 후보(자식 블록)가 지원되는 블록 조건에 만족할 경우 해당 분할은 지원될 수 있고, 만족하지 않을 경우 해당 분할은 지원되지 않을 수 있다.
블록 분할부는 영상 부호화 장치 및 복호화 장치의 각 구성부에 관계되어 설정될 수 있으며, 이 과정을 통해 블록의 크기와 형태가 정해질 수 있다. 이때, 설정되는 블록은 구성부에 따라 달리 정의될 수 있으며, 예측부의 경우 예측 블록(Prediction Block), 변환부의 경우 변환 블록(Transform Block), 양자화부의 경우 양자화 블록(Quantization Block) 등이 이에 해당할 수 있다. 다만, 이에 한정되지 않고 다른 구성부에 따른 블록 단위가 추가로 정의될 수 있다. 본 발명에서는 각 구성부에서 입력과 출력이 직사각형 형태인 경우를 중심으로 설명하지만, 일부 구성부에서는 다른 형태(예를 들어, 직각 삼각형 등)의 입/출력이 가능할 수도 있다.
블록 분할부의 초기(또는 시작) 블록의 크기 및 형태는 상위 단위로부터 결정될 수 있다. 상기 초기 블록은 더 작은 크기의 블록으로 분할될 수 있으며, 블록의 분할에 따른 최적의 크기 및 형태가 결정되면 그 블록은 하위 단위의 초기 블록으로 결정될 수 있다. 여기서, 상위 단위는 부호화 블록, 하위 단위는 예측 블록 또는 변환 블록일 수 있으나, 이에 한정되지 않으며 다양한 변형의 예가 가능할 수 있다. 상기 예와 같이 하위 단위의 초기 블록이 정해지면 상위 단위와 같이 최적의 크기 및 형태의 블록을 찾기 위한 분할 과정이 수행될 수 있다.
정리하면, 블록 분할부는 기본 부호화 블록(또는 최대 부호화 블록)을 적어도 하나의 부호화 블록으로 분할을 수행할 수 있고, 부호화 블록은 적어도 하나의 예측 블록/변환 블록/양자화 블록으로 분할을 수행할 수 있다. 또한, 예측 블록은 적어도 하나의 변환 블록/양자화 블록으로 분할을 수행할 수 있고, 변환 블록은 적어도 하나의 양자화 블록으로 분할을 수행할 수 있다. 여기서, 일부 블록은 다른 블록과 종속적인 관계(즉, 상위 단위와 하위 단위에 의해 정의)일 수 있거나 독립적인 관계를 가질 수 있다. 일 예로, 예측 블록은 변환 블록의 상위 단위일 수 있거나 또는 변환 블록과 독립적인 단위일 수 있으며, 블록의 종류에 따라 다양한 관계 설정이 가능할 수도 있다.
부호화 설정에 따라 상위 단위와 하위 단위의 결합 여부가 정해질 수 있다. 여기서 단위 간의 결합은 상위 단위에서 하위 단위로의 분할을 수행하지 않고, 상위 단위의 블록(크기 및 형태)으로 하위 단위의 부호화 과정(예를 들어, 예측부, 변환부, 역변환부 등)을 수행함을 의미한다. 즉, 복수의 단위에서의 분할 과정이 공유되고 분할 정보는 그 중 하나의 단위(예를 들어, 상위 단위)에서 발생함을 의미할 수 있다.
일 예로, (부호화 블록이 예측 블록, 변환 블록과 결합될 경우) 부호화 블록에서 예측 과정, 변환 및 역변환 과정을 수행할 수 있다.
일 예로, (부호화 블록이 예측 블록과 결합될 경우) 부호화 블록에서 예측 과정을 수행할 수 있고, 부호화 블록과 동일하거나 더 작은 변환 블록에서 변환 및 역변환 과정을 수행할 수 있다.
일 예로, (부호화 블록이 변환 블록과 결합될 경우) 부호화 블록과 동일하거나 더 작은 예측 블록에서 예측 과정을 수행할 수 있고, 부호화 블록에서 변환 및 역변환 과정을 수행할 수 있다.
일 예로, (예측 블록이 변환 블록과 결합된 경우) 부호화 블록과 동일하거나 더 작은 예측 블록에서 예측 과정을 수행할 수 있고, 예측 블록에서 변환 및 역변환 과정을 수행할 수 있다.
일 예로, (어떤 블록에서도 결합되지 않은 경우) 부호화 블록과 동일하거나 더 작은 예측 블록에서 예측 과정을, 부호화 블록과 동일하거나 더 작은 변환 블록에서 변환 및 역변환 과정을 수행할 수 있다.
상기 예에서 부호화, 예측, 변환 블록에 관한 다양한 경우를 설명하였으나, 이에 한정하지 않는다.
상기 단위 간의 결합은 영상에서 고정적인 설정이 지원될 수 있거나 또는 다양한 부호화 요소를 고려하여 적응적인 설정이 지원될 수 있다. 여기서 상기 부호화 요소는 영상 타입, 컬러 성분, 부호화 모드(Intra/Inter), 분할 설정, 블록의 크기/형태/위치, 가로/세로의 길이 비, 예측 관련 정보(예를 들어, 화면내 예측 모드, 화면간 예측 모드 등), 변환 관련 정보(예를 들어, 변환 기법 선택 정보 등), 양자화 관련 정보(예를 들어, 양자화 영역 선택 정보, 양자화된 변환 계수 부호화 정보 등) 등을 포함할 수 있다.
상술한 바와 같이 최적의 크기 및 형태의 블록을 찾은 경우, 이에 대한 모드 정보(예를 들어, 분할 정보 등)가 생성될 수 있다. 모드 정보는 블록이 속하는 구성부에서 발생하는 정보(예를 들어, 예측 관련 정보 및 변환 관련 정보 등)과 함께 비트스트림에 수록되어 복호화기로 전송될 수 있고, 복호화기에서 동일 수준의 단위로 파싱되어 영상 복호화 과정에서 사용될 수 있다.
이하에서는 분할 방식에 대한 설명할 것이며, 설명의 편의를 위해 초기 블록이 정사각 형태인 것을 가정하지만, 초기 블록이 직사각 형태인 경우에도 동일하거나 유사하게 적용할 수 있으므로, 이에 한정되는 것은 아니다.
블록 분할부는 다양한 종류의 분할을 지원할 수 있다. 예를 들어, 트리 기반의 분할 또는 인덱스 기반의 분할을 지원할 수 있고, 그 외의 방법이 지원될 수 있다. 트리 기반의 분할은 다양한 종류의 정보(예를 들어, 분할 여부, 트리 종류, 분할 방향 등)로 분할 형태를 결정할 수 있고, 인덱스 기반의 분할은 소정의 인덱스 정보로 분할 형태를 결정할 수 있다.
도 4는 본 발명의 블록 분할부에서 획득할 수 있는 다양한 분할 형태를 나타낸 예시도이다.
본 예에서는 한 번의 분할 수행(또는 과정)을 통해 도 4와 같은 분할 형태를 획득하는 경우를 가정하지만, 이에 한정되지 않고 복수의 분할 동작을 통해 획득되는 경우 또한 가능할 수 있다. 또한, 도 4에 도시되지 않은 추가적인 분할 형태가 가능할 수 있다.
(트리 기반의 분할)
본 발명의 트리 기반의 분할에서 쿼드 트리(Quad Tree. QT), 바이너리 트리(Binary Tree. BT), 터너리 트리(Ternary Tree. TT) 등이 지원될 수 있다. 하나의 트리 방식이 지원되는 경우는 단일 트리 분할, 둘 이상의 트리 방식이 지원되는 경우는 다중 트리 분할이라 지칭할 수 있다.
QT의 경우 블록이 수평와 수직 방향으로 각각 2분할(즉, 4분할)되는 방식(n)을 의미하고, BT의 경우 블록이 수평 또는 수직 중 한 방향으로 2분할되는 방식(b 내지 g)을 의미하고, TT의 경우 블록이 수평 또는 수직 중 한 방향으로 3분할되는 방식(h 내지 m)을 의미한다.
여기서, QT의 경우 분할 방향을 수평과 수직 중 하나에 한정하여 4분할하는 방식(o, p)을 지원할 수도 있다. 또한, BT의 경우 균등한 크기를 갖는 방식(b, c)만 지원하거나 또는 비균등 크기를 갖는 방식(d 내지 g)만 지원하거나 또는 두 방식을 혼합 지원할 수 있다. 또한, TT의 경우 분할이 특정 방향에 치우치는 배치(좌 -> 우 또는 상 -> 하 방향으로 1:1:2, 2:1:1 등)를 갖는 방식(h, j, k, m)만 지원하거나 또는 중앙에 배치(1:2:1 등)되는 방식(i, l)만 지원하거나 또는 두 방식을 혼합 지원할 수 있다. 또한, 분할 방향을 수평과 수직 방향으로 각각 4분할(즉, 16분할)되는 방식(q) 또한 지원할 수 있다.
그리고 상기 트리 방식 중 수평 분할 방향에 한정하여 z분할하는 방식(b, d, e, h, i, j, o)을 지원하거나 또는 수직 분할 방향에 한정하여 z 분할하는 방식(c, f, g, k, l, m, p)을 지원하거나 또는 두 방식을 혼합 지원할 수 있다. 여기서, z는 2, 3, 4와 같은 2 이상 정수일 수 있다.
본 발명에서 QT는 n, BT는 b와 c, TT는 i와 l을 지원하는 경우를 가정하여 설명한다.
부호화 설정에 따라 상기 트리 분할 중 하나 이상의 방식이 지원될 수 있다. 예를 들어, QT를 지원할 수 있거나 QT/BT를 지원할 수 있거나 QT/BT/TT를 지원할 수 있다.
상기 예는 기본 트리 분할이 QT이며 기타 트리 지원 여부에 따라 BT와 TT가 추가 분할 방식에 포함되는 경우에 대한 예이지만, 다양한 변형이 가능할 수 있다. 이때, 기타 트리 지원 여부에 대한 정보(bt_enabled_flag, tt_enabled_flag, bt_tt_enabled_flag 등. 0 또는 1의 값을 가질 수 있고, 0이면 지원하지 않고 1이면 지원)는 부호화 설정에 따라 묵시적으로 정해지거나 또는 시퀀스, 픽쳐, 슬라이스, 타일 그룹, 타일, 브릭 등의 단위로 명시적으로 결정될 수 있다.
분할 정보는 분할 여부에 대한 정보(tree_part_flag. 또는, qt_part_flag, bt_part_flag, tt_part_flag, bt_tt_part_flag. 0 또는 1의 값을 가질 수 있고, 0이면 분할되지 않고 1이면 분할)가 포함될 수 있다. 또한, 분할 방식(BT와 TT)에 따라 분할 방향(dir_part_flag. 또는, bt_dir_part_flag, tt_dir_part_flag, bt_tt_dir_part_flag. 0 또는 1의 값을 가질 수 있고, 0이면 <가로/수평>이고 1이면 <세로/수직>)에 대한 정보가 추가될 수 있으며, 이는 분할이 수행되는 경우에 발생 가능한 정보일 수 있다.
복수의 트리 분할이 지원되는 경우에는 다양한 분할 정보 구성이 가능할 수 있다. 다음은 하나의 깊이(Depth) 수준(즉, 지원되는 분할 깊이가 하나 이상으로 설정되어 재귀적인 분할이 가능할 수도 있지만 설명의 편의를 위한 목적)에서 분할 정보가 어떻게 구성되어 있는지에 대한 예로 가정하여 설명한다.
일 예(1)로, 분할 여부에 대한 정보를 확인한다. 이때, 분할이 수행되지 않는 경우라면 분할이 종료된다.
만약 분할이 수행되는 경우라면 분할 종류에 대한 선택 정보(예를 들어, tree_idx. 0이면 QT, 1이면 BT, 2이면 TT)를 확인한다. 이때, 선택되는 분할 종류에 따라 분할 방향 정보를 추가로 확인하고 다음 단계(분할 깊이가 최대에 도달하지 않은 경우 등의 이유로 추가 분할이 가능하다면 다시 처음부터 시작하고, 분할이 불가한 경우라면 분할 종료)로 넘어간다.
일 예(2)로, 일부 트리 방식(QT)에 대한 분할 여부에 대한 정보를 확인하고 다음 단계로 넘어간다. 이때, 분할이 수행되지 않는 경우라면 일부 트리 방식(BT)의 분할 여부에 대한 정보를 확인한다. 이때, 분할이 수행되지 않는 경우라면 일부 트리 방식(TT)의 분할 여부에 대한 정보를 확인한다. 이때, 분할이 수행되지 않는 경우라면 분할이 종료된다.
만약 일부 트리 방식(QT)의 분할이 수행되는 경우라면 다음 단계로 넘어간다. 또한, 만약 일부 트리 방식(BT)의 분할이 수행되는 경우라면 분할 방향 정보를 확인하고 다음 단계로 넘어간다. 또한, 만약 일부 트리 분할 방식(TT)의 분할이 수행되는 경우라면 분할 방향 정보를 확인하고 다음 단계로 넘어간다.
일 예(3)로, 일부 트리 방식(QT)에 대한 분할 여부에 대한 정보를 확인한다. 이때, 분할이 수행되지 않는 경우라면 일부 트리 방식(BT와 TT)의 분할 여부에 대한 정보를 확인한다. 이때, 분할이 수행되지 않는 경우라면 분할이 종료된다.
만약 일부 트리 방식(QT)의 분할이 수행되는 경우라면 다음 단계로 넘어간다. 또한, 만약 일부 트리 방식(BT와 TT)의 분할이 수행되는 경우라면 분할 방향 정보를 확인하고 다음 단계로 넘어간다.
상기 예는 트리 분할의 우선 순위가 존재(2번과 3번 예)하거나 존재하지 않는 경우(1번 예)일 수 있으나, 다양한 변형의 예가 가능할 수 있다. 또한, 상기 예에서 현재 단계의 분할은 이전 단계의 분할 결과와는 무관한 경우를 설명하는 예이지만, 현재 단계의 분할이 이전 단계의 분할 결과에 의존적인 설정 또한 가능할 수 있다.
예를 들어, 1 내지 3번 예의 경우 이전 단계에서 일부 트리 방식의 분할(QT)이 수행되어 현재 단계로 넘어온 경우라면 현재 단계에서도 동일 트리 방식(QT)의 분할이 지원될 수 있다.
반면, 이전 단계에서 일부 트리 방식의 분할(QT)이 수행되지 않고 다른 트리 방식의 분할(BT 또는 TT)이 수행되어 현재 단계로 넘어온 경우라면 일부 트리 방식의 분할(QT)을 제외하고 일부 트리 방식의 분할(BT와 TT)이 현재 단계를 포함한 후속 단계에 지원되는 설정 또한 가능할 수 있다.
위와 같은 경우에는 블록 분할에 지원되는 트리 구성이 적응적일 수 있다는 것을 의미하므로, 전술한 분할 정보 구성 또한 달리 구성될 수 있음을 의미한다. (후술하는 예는 3번 예로 가정) 즉, 상기 예에서 일부 트리 방식(QT)의 분할이 이전 단계에서 수행되지 않았을 경우, 현재 단계에서는 일부 트리 방식(QT)은 고려하지 않고 분할 과정이 수행될 수 있다. 또한, 관련 트리 방식에 관한 분할 정보(예를 들어, 분할 여부에 대한 정보, 분할 방향 정보 등. 본 예<QT>에서는 분할 여부에 대한 정보)는 제거하여 구성될 수 있다.
상기 예는 블록 분할이 허용되는 경우(예를 들어, 블록 크기가 최대값과 최소값 사이의 범위 내에 존재, 각 트리 방식의 분할 깊이가 최대 깊이<허용 깊이>에 도달하지 않음 등)에 대한 적응적인 분할 정보 구성에 관한 경우이며, 블록 분할이 제한되는 경우(예를 들어, 블록 크기가 최대값과 최소값 사이의 범위에 존재하지 않음, 각 트리 방식의 분할 깊이가 최대 깊이에 도달함 등)에도 적응적인 분할 정보 구성이 가능할 수 있다.
이미 언급한 것과 같이 본 발명에서 트리 기반의 분할은 재귀적인 방식을 사용하여 수행될 수 있다. 예를 들어, 분할 깊이가 k인 부호화 블록의 분할 플래그가 0인 경우 부호화 블록의 부호화는 분할 깊이가 k인 부호화 블록에서 수행되며, 분할 깊이가 k인 부호화 블록의 분할 플래그가 1인 경우 부호화 블록의 부호화는 분할 방식에 따라 분할 깊이가 k+1인 N개의 서브 부호화 블록(이때, N은 2, 3, 4와 같은 2 이상의 정수)에서 수행된다.
상기 서브 부호화 블록은 다시 부호화 블록(k+1)으로 설정되어 상기 과정을 거쳐 서브 부호화 블록(k+2)으로 분할될 수 있으며, 이러한 계층적 분할 방식은 분할 범위 및 분할 허용 깊이 등의 분할 설정에 따라 결정될 수 있다.
이때, 분할 정보를 표현하기 위한 비트스트림 구조는 하나 이상의 스캔 방법 중 선택할 수 있다. 예를 들어, 분할 깊이 순서 기준으로 분할 정보의 비트스트림을 구성할 수 있거나 분할 여부 기준으로 분할 정보의 비트스트림을 구성할 수 있다.
예를 들어, 분할 깊이 순서 기준의 경우 최초 블록 기준으로 현 수준의 깊이에서의 분할 정보를 획득한 후 다음 수준의 깊이에서의 분할 정보를 획득하는 방법이며, 분할 여부 기준의 경우 최초 블록 기준으로 분할된 블록에서의 추가 분할 정보를 우선적으로 획득하는 방법을 의미하며, 다른 추가적인 스캔 방법이 고려될 수 있다.
최대 블록의 크기와 최소 블록의 크기는 트리 종류에 상관없이(또는 모든 트리) 공통되는 설정을 가질 수 있거나 또는 각 트리에 따라 개별적인 설정을 가질 수 있거나 또는 둘 이상의 트리에 대한 공통되는 설정을 가질 수 있다. 이때 최대 블록의 크기는 최대 부호화 블록과 같거나 작게 설정될 수 있다. 만약 소정의 제 1 트리에 따른 최대 블록의 크기가 최대 부호화 블록과 동일하지 않다면, 제 1 트리의 최대 블록 크기에 도달할 때까지 소정의 제 2 트리 방식을 사용하여 묵시적으로 분할을 수행한다.
그리고 트리 종류에 상관없이 공통되는 분할 깊이가 지원될 수 있거나 또는 각 트리에 따라 개별적인 분할 깊이가 지원될 수 있거나 또는 둘 이상의 트리에 대한 공통되는 분할 깊이가 지원될 수 있다. 또는, 일부 트리에는 분할 깊이가 지원되고, 일부 트리에는 분할 깊이가 지원되지 않을 수 있다.
상기 설정 정보에 대한 명시적인 구문 요소가 지원될 수 있으며, 일부 설정 정보는 묵시적으로 정해질 수도 있다.
(인덱스 기반의 분할)
본 발명의 인덱스 기반의 분할에서 CSI(Constant Split Index) 방식과 VSI(Variable Split Index) 방식 등이 지원될 수 있다.
CSI 방식은 소정의 방향의 분할을 통해 k개의 서브 블록이 획득되는 방식일 수 있으며, k는 2, 3, 4 등 2 이상의 정수일 수 있다. 상세하게는, 블록의 크기 및 형태에 관계없이 상기 k값에 기반하여 서브 블록의 크기 및 형태가 정해지는 구성의 분할 방식일 수 있다. 여기서, 소정의 방향은 수평, 수직, 대각선(좌상 -> 우하 방향. 또는, 좌하 -> 우상 방향 등) 방향 중 하나 또는 둘 이상의 방향이 결합될 수 있다.
본 발명의 인덱스 기반의 CSI 분할 방식은 수평 또는 수직 중 한 방향으로 z개로 분할되는 후보를 포함할 수 있다. 이때, z는 2, 3, 4와 같은 2 이상 정수일 수 있으며, 각 서브 블록의 가로 또는 세로 길이 중 하나는 동일하고 다른 하나는 동일하거나 상이할 수 있다. 상기 서브 블록의 가로 또는 세로 길이의 비는 A1:A2:...: AZ로 A1 내지 AZ는 1, 2, 3과 같은 1 이상의 정수일 수 있다.
또한, 수평과 수직 방향으로 각각 x, y개로 분할되는 후보를 포함할 수 있다. 이때, x와 y는 1, 2, 3, 4와 같은 1 이상의 정수일 수 있지만, x와 y가 동시에 1인 경우(a가 이미 존재하므로)는 제한할 수 있다. 도 4의 경우 각 서브 블록의 가로 또는 세로 길이의 비율이 동일한 경우를 도시하고 있지만, 상이한 경우를 포함하는 후보를 포함할 수도 있다.
또한, 일부 대각선 방향(좌상 -> 우하 방향) 또는 일부 대각선 방향(좌하 -> 우상 방향) 중 한 방향으로 w개 분할되는 후보를 포함할 수 있으며, w는 2, 3과 같은 2 이상의 정수일 수 있다.
도 4를 참조하면, 각 서브 블록의 길이 비율에 따라 대칭적인 분할 형태(b)와 비대칭적인 분할 형태(d, e)로 구분할 수 있고, 특정 방향에 치우친 분할 형태(k, m)와 중앙에 배치되는 분할 형태(k)로 구분할 수 있다. 서브 블록의 길이 비율뿐만 아니라 서브 블록의 형태 등을 포함하는 다양한 부호화 요소에 의해 분할 형태를 정의할 수 있는데, 부호화 설정에 따라 지원되는 분할 형태가 묵시적으로 또는 명시적으로 정해질 수 있다. 그리하여 지원되는 분할 형태에 기반하여 인덱스 기반의 분할 방식에서의 후보군이 정해질 수 있다.
한편, VSI 방식은 서브 블록의 너비(w) 또는 높이(h)가 고정된 채로 소정의 방향의 분할을 통해 하나 이상의 서브 블록이 획득되는 방식일 수 있으며, w와 h는 1, 2, 4, 8 등과 같은 1 이상의 정수일 수 있다. 상세하게는, 블록의 크기 및 형태와 상기 w 또는 n값에 기반하여 서브 블록의 개수가 정해지는 구성의 분할 방식일 수 있다.
본 발명의 인덱스 기반의 VSI 분할 방식은 서브 블록의 가로 또는 세로 길이 중 하나를 고정하여 분할되는 후보를 포함할 수 있다. 또는, 서브 블록의 가로와 세로 길이를 고정하여 분할되는 후보를 포함할 수 있다. 서브 블록의 가로 또는 세로 길이가 고정되기 때문에 수평 또는 수직 방향으로 균등 분할을 허용하는 특징을 가질 수 있지만, 이에 한정되지 않는다.
분할 전 블록이 M x N이고 서브 블록의 가로 길이가 고정(w)되거나 또는 세로 길이가 고정(h)되거나 또는 가로와 세로 길이가 고정(w, h)되는 경우, 획득되는 서브 블록의 개수는 각각 (M*N)/w, (M*N)/h, (M*N)/w/h 일 수 있다.
부호화 설정에 따라 CSI 방식만 지원되거나 또는 VSI 방식만 지원될 수 있고 두 방식 모두 지원할 수도 있으며, 지원되는 방식에 대한 정보가 묵시적 또는 명시적으로 정해질 수 있다.
본 발명에서는 CSI 방식이 지원되는 경우를 가정하여 설명한다.
부호화 설정에 따라 상기 인덱스 분할 중 둘 이상의 후보를 포함하여 후보군을 구성할 수 있다.
예를 들어, {a, b, c}, {a, b, c, n}, {a 내지 g, n}과 같은 후보군을 구성할 수 있는데, 수평 또는 수직 방향으로 2분할되거나 수평과 수직 방향으로 각각 2분할되는 블록 형태처럼 일반적인 통계적인 특성에 기초하여 많이 발생할 것이라 예측되는 블록 형태를 후보군으로 구성하는 예일 수 있다.
또는, {a, b}, {a, o}, {a, b, o} 또는 {a, c}, {a, p}, {a, c, p}와 같은 후보군을 구성할 수 있는데, 각각 수평과 수직 방향으로 2, 4분할되는 후보를 포함한다. 이는 특정 방향의 분할이 많이 발생할 것이라 예측되는 블록 형태를 후보군으로 구성하는 예일 수 있다.
또는, {a, o, p} 또는 {a, n, q}와 같은 후보군을 구성할 수 있는데, 분할 전 블록보다 더 작은 크기를 갖는 분할이 많이 발생할 것이라 예측되는 블록 형태를 후보군으로 구성하는 예일 수 있다.
또는, {a, r, s}와 같은 후보군을 구성할 수 있는데, 분할 전 블록에서 다른 방식(트리 방식)을 통해 직사각 형태로 얻을 수 있는 최적의 분할 결과를 얻었을 것이라 판단하고 비사각 형태의 분할 형태를 후보군으로 구성하는 예일 수 있다.
상기 예와 같이 다양한 후보군 구성이 가능할 수 있으며, 하나 이상의 후보군 구성이 다양한 부호화 요소를 고려하여 지원될 수 있다.
상기 후보군 구성이 완료되면 다양한 분할 정보 구성이 가능할 수 있다.
예를 들어, 분할되지 않는 후보(a)와 분할되는 후보(b 내지 s)를 포함하여 구성되는 후보군에서 인덱스 선택 정보가 발생할 수 있다.
또는, 분할 여부를 나타내는 정보(분할 형태가 a인지 아닌지)가 발생할 수 있고, 분할이 수행되는 경우(a가 아닌 경우)에 분할되는 후보(b 내지 s)로 구성되는 후보군에서 인덱스 선택 정보가 발생할 수 있다.
상기 설명 외의 다양한 방식의 분할 정보 구성이 가능할 수 있으며, 상기 분할 여부를 나타내는 정보를 제외하고는 후보군에서 각 후보의 인덱스에 고정 길이 이진화, 가변 길이 이진화 등의 다양한 방법을 통해 이진 비트가 할당될 수 있다. 만약 후보군의 개수가 2개인 경우 인덱스 선택 정보에 1비트가 할당될 수 있고, 3개 이상인 경우 인덱스 선택 정보에 1비트 이상이 할당될 수 있다.
트리 기반의 분할 방식과 달리 인덱스 기반의 분할 방식은 많이 발생할 것이라 예측되는 분할 형태를 선별적으로 후보군에 구성하는 방식일 수 있다.
그리고 지원되는 후보군의 개수에 따라 인덱스 정보를 표현하기 위한 비트량이 증가할 수 있기 때문에, 트리 기반의 방식의 계층적 분할(재귀적인 분할)이 아닌 단일 계층 분할(예를 들어, 분할 깊이가 0으로 한정)에 적합한 방식일 수 있다. 즉, 한 번의 분할 동작을 지원하는 방식일 수 있으며, 인덱스 기반의 분할을 통해 획득된 서브 블록은 더 이상의 추가 분할은 불가능한 방식일 수 있다.
이때, 더 작은 크기를 갖는 동일한 종류의 블록으로의 추가 분할이 불가능한 경우(예를 들어, 인덱스 분할 방식을 통해 획득된 부호화 블록은 부호화 블록으로의 추가 분할이 불가)를 의미할 수 있으나, 다른 종류의 블록으로의 추가 분할이 불가능한 설정(예를 들어, 부호화 블록에서 부호화 블록뿐만 아니라 예측 블록으로의 분할도 불가) 또한 가능할 수 있다. 물론, 상기 예에 제한되지 않으며, 다른 변형의 예가 가능할 수도 있다.
다음은 부호화 요소 중 블록의 종류를 중심으로 블록 분할 설정이 정해지는 경우를 살펴본다.
우선, 분할 과정을 통해 부호화 블록이 획득될 수 있다. 여기서, 분할 과정은 트리 기반의 분할 방식이 사용될 수 있고, 트리 종류에 따라 도 4의 a(no split), n(QT), b, c(BT), i, l(TT) 등의 분할 형태 결과가 나올 수 있다. 부호화 설정에 따라 QT/QT+BT/QT+BT+TT 등과 같은 각 트리 종류의 다양한 조합이 가능할 수 있다.
후술하는 예는 상기 과정을 통해 획득된 부호화 블록을 기초로 예측 블록과 변환 블록이 최종 구획되는 과정을 나타내고, 각 구획된 크기에 기반하여 예측과 변환 및 역변환 과정이 수행되는 경우를 가정한다.
일 예(1)로, 부호화 블록의 크기 그대로 예측 블록이 설정되어 예측 과정을 수행할 수 있고, 부호화 블록(또는 예측 블록)의 크기 그대로 변환 블록이 설정되어 변환 및 역변환 과정을 수행할 수 있다. 예측 블록과 변환 블록의 경우 부호화 블록에 기반하여 설정되었기 때문에 따로 발생하는 분할 정보는 존재하지 않는다.
일 예(2)로, 부호화 블록의 크기 그대로 예측 블록이 설정되어 예측 과정을 수행할 수 있다. 변환 블록의 경우 부호화 블록(또는 예측 블록)을 기초로 분할 과정을 통해 변환 블록이 획득될 수 있고, 획득된 크기에 기반하여 변환 및 역변환 과정을 수행할 수 있다.
여기서, 분할 과정은 트리 기반의 분할 방식이 사용될 수 있고, 트리 종류에 따라 도 4의 a(no split), b, c(BT), i, l(TT), n(QT) 등의 분할 형태 결과가 나올 수 있다. 부호화 설정에 따라 QT/BT/QT+BT/QT+BT+TT 등과 같은 각 트리 종류의 다양한 조합이 가능할 수 있다.
여기서, 분할 과정은 인덱스 기반의 분할 방식이 사용될 수 있고, 인덱스 종류에 따라 도 4의 a(no split), b, c, d 등의 분할 형태 결과가 나올 수 있다. 부호화 설정에 따라 {a, b, c}, {a, b, c, d} 등과 같은 다양한 후보군 구성이 가능할 수 있다.
일 예(3)로, 예측 블록의 경우 부호화 블록을 기초로 분할 과정을 수행하여 예측 블록이 획득될 수 있고, 획득된 크기에 기반하여 예측 과정을 수행할 수 있다. 변환 블록의 경우 부호화 블록의 크기 그대로 설정되어 변환 및 역변환 과정을 수행할 수 있다. 본 예는 예측 블록과 변환 블록이 서로 독립적인 관계를 갖는 경우에 해당할 수 있다.
여기서, 분할 과정은 인덱스 기반의 분할 방식이 사용될 수 있고, 인덱스 종류에 따라 도 4의 a(no split), b 내지 g, n, r, s 등의 분할 형태 결과가 나올 수 있다. 부호화 설정에 따라 {a, b, c, n}, {a 내지 g, n}, {a, r, s} 등과 같은 다양한 후보군 구성이 가능할 수 있다.
일 예(4)로, 예측 블록의 경우 부호화 블록을 기초로 분할 과정을 수행하여 예측 블록이 획득될 수 있고, 획득된 크기에 기반하여 예측 과정을 수행할 수 있다. 변환 블록의 경우 예측 블록의 크기 그대로 설정되어 변환 및 역변환 과정을 수행할 수 있다. 본 예는 획득된 예측 블록 크기 그대로 변환 블록이 설정되는 경우일 수 있거나 또는 그 반대의 경우(변환 블록 크기 그대로 예측 블록이 설정)일 수 있다.
여기서, 분할 과정은 트리 기반의 분할 방식이 사용될 수 있고, 트리 종류에 따라 도 4의 a(no split), b, c(BT), n(QT) 등의 분할 형태가 나올 수 있다. 부호화 설정에 따라 QT/BT/QT+BT 등과 같은 각 트리 종류의 다양한 조합이 가능할 수 있다.
여기서, 분할 과정은 인덱스 기반의 분할 방식이 사용될 수 있고, 인덱스 종류에 따라 도 4의 a(no split), b, c, n, o, p 등의 분할 형태가 나올 수 있다. 부호화 설정에 따라 {a, b}, {a, c}, {a, n}, {a, o}, {a, p}, {a, b, c}, {a, o, p}, {a, b, c, n}, {a, b, c, n, p} 등과 같은 다양한 후보군 구성이 가능할 수 있다. 또한, 인덱스 기반의 분할 방식 중 VSI 방식이 단독으로 또는 상기 CSI 방식과 혼합되어 후보군이 구성될 수도 있다.
일 예(5)로, 예측 블록의 경우 부호화 블록을 기초로 분할 과정을 수행하여 예측 블록이 획득될 수 있고, 획득된 크기에 기반하여 예측 과정을 수행할 수 있다. 또한, 변환 블록의 경우도 부호화 블록을 기초로 분할 과정을 수행하여 예측 블록이 획득될 수 있고, 획득된 크기에 기반하여 변환 및 역변환 과정을 수행할 수 있다. 본 예는 부호화 블록을 기초로 예측 블록과 변환 블록 각각의 분할을 수행하는 경우일 수 있다.
여기서, 분할 과정은 트리 기반의 분할 방식과 인덱스 기반의 분할 방식이 사용될 수 있으며, 4번 예와 동일하거나 비슷하게 후보군이 구성될 수 있다.
상기 예는 각 종류의 블록의 분할 과정이 공유되는지 여부 등에 따라 발생 가능한 일부 경우를 설명하고 있지만, 이에 한정되지 않고 다양한 변형의 예가 가능할 수 있다. 또한, 블록의 종류뿐만 아니라 다양한 부호화 요소가 고려되어 블록 분할 설정이 정해질 수 있다.
이때, 부호화 요소는 영상 타입(I/P/B), 컬러 성분(YCbCr), 블록의 크기/형태/위치, 블록의 가로/세로 길이 비, 블록의 종류(부호화 블록, 예측 블록, 변환 블록, 양자화 블록 등), 분할 상태, 부호화 모드(Intra/Inter), 예측 관련 정보(화면내 예측 모드, 화면간 예측 모드 등), 변환 관련 정보(변환 기법 선택 정보 등), 양자화 관련 정보(양자화 영역 선택 정보, 양쟈화된 변환 계수 부호화 정보 등) 등이 포함될 수 있다.
도 5는 본 발명의 일 실시예에 따른 화면내 예측에서의 예측 모드를 나타낸 예시도이다.
도 5를 참조하면, 95개의 예측 모드는 화면내 예측을 위해 지원될 수 있으며, 이 중 93개는 방향성 모드이고 2개는 비방향성 모드(DC, Planar)이다. 이때, 방향성 모드는 기울기(예를 들어, dy/dx) 또는 각도 정보(Degree)로 구분할 수 있다.
비방향성 모드의 경우 블록의 인접한 참조 화소의 평균, 내삽 등의 방법을 통해 예측을 수행하는 방법일 수 있고, 방향성 모드의 경우 블록의 인접한 참조 화소의 외삽, 내삽 등의 방법을 통해 예측을 수행하는 방법일 수 있다.
방향성 모드의 경우 수직(상 -> 하/하 -> 상), 수평(좌 -> 우/우 -> 좌), 대각선 A(좌상 -> 우하/우하 -> 좌상), 대각선 B(우상 -> 좌하/좌하 -> 우상) 등의 방향성을 가질 수 있다.
일반적으로 래스터 스캔 등으로 부호화를 수행할 경우 좌, 상, 좌상, 우상, 좌하 방향에 인접한 블록이 존재할 수 있으며, 이를 예측의 시작점 또는 참조 화소로 삼은 비방향성 모드 또는 수직(상 -> 하), 수평(좌 -> 우), 대각선 A(좌상 -> 우하), 대각선 B-1(우상 -> 좌하), 대각선 B-2(좌하 -> 우상) 방향의 예측 모드가 지원될 수 있다. 래스터 스캔 외의 다른 스캔이 지원되는 경우에는 방향성 모드는 달리 정의될 수 있다.
예를 들어, 좌 블록은 이용 불가하고 우 블록은 이용 불가한 상태에서의 수평 모드는 (우 -> 좌) 방향의 외삽을 통해 예측을 수행할 수 있다. 또는, 좌 블록과 우 블록이 모두 이용 가능한 상태에서는 소정의 방향(좌 -> 우 또는 우 -> 좌)의 외삽을 통해 예측을 수행할 수 있거나 또는 양 블록의 내삽을 통해 예측을 수행할 수 있다. 본 발명에서는 래스터 스캔 또는 z 스캔 순서에 따라 부호화가 진행되며, 좌, 상, 좌상, 우상, 좌하 방향에 참조 가능한 화소가 위치하는 경우를 가정하여 설명한다.
또한, 컬러 공간 간의 상관성을 이용하여 부호화가 완료된 다른 컬러 공간의 복원 블록을 대상 블록의 예측에 사용할 수 있고, 이를 지원하는 예측 모드를 포함할 수 있다. 예를 들어, 색차 성분의 경우, 대상 블록과 대응되는 휘도 성분의 복원된 블록을 이용하여 대상 블록의 예측 블록을 생성할 수 있다. 즉, 컬러 공간 간의 상관성을 고려하여 복원된 블록을 기반으로 예측 블록을 생성할 수 있으며, 색차 성분을 위한 화면내 예측 모드로 포함될 수 있다.
색차 성분의 경우 휘도 성분의 예측 모드 후보군과 동일한 후보군을 갖거나 휘도 성분의 예측 모드 후보군 중 일부 모드와 색차 성분에 관한 추가적인 예측 모드(컬러 복사 모드, 컬러 모드)가 예측 모드 후보군에 포함될 수 있다. 여기서, 컬러 복사 모드의 경우 다른 컬러 공간 내 위치한 영역으로부터 예측 블록 생성을 위한 데이터를 획득하는 방법과 관련된 예측 모드일 수 있고, 컬러 모드의 경우 다른 컬러 공간 내 위치한 영역으로부터 예측 모드를 획득하는 방법과 관련된 예측 모드일 수 있다. 컬러 복사 모드와 컬러 모드의 경우 각각 m, n개(m, n은 0, 1, 2, 3 또는 그 이상의 정수)의 모드가 지원될 수 있다.
컬러 복사 모드가 1개 지원되는 경우 예측 블록 생성을 위한 소정의 데이터 획득 방법을 미리 정의할 수 있고, 2개 이상 지원되는 경우 예측 블록 생성을 위한 데이터 획득 방법을 구분(예로, 상관성 획득을 위해 참조하는 위치 등. <1>좌측, <2>상단, <3>좌측 + 상단 영역 등)하여 지원할 수 있다.
컬러 모드의 경우 1개 지원되는 경우 예측 모드 획득을 위한 소정의 위치가 미리 정의될 수 있고, 2개 이상 지원되는 경우 예측 모드 획득을 위한 복수의 위치(예로, 대응되는 블록의 <1>중앙, <2>좌상단, <3>우상단, <4>좌하단, <5>우하단 등)를 지원할 수 있다.
상기 예에서 설명되는 예측 모드의 전부 또는 일부가 휘도 성분 또는 색차 성분의 예측 모드 후보군에 포함될 수 있고, 그 외의 추가적인 모드가 예측 모드 후보군에 포함될 수 있다.
상기 예측 모드는 지원되는 화면내 예측 모드의 모든 후보를 의미할 수 있고, 이 중에 전부 또는 일부 구성으로 예측 모드 후보군을 구성할 수 있다. 이때, 블록의 크기, 형태(가로/세로 길이 비) 등에 따라 상기 예측 모드 후보군을 구성할 수 있다.
예를 들어, 블록의 크기에 따라 예측 모드 후보군의 개수가 정해질 수 있다. 이때, 블록의 크기는 하나 이상의 소정의 문턱크기(A x B, C x D 등)를 기준으로 구분되는 둘 이상의 범위 중에 하나로 분류될 수 있으며, 상기 분류된 범위에 따라 11, 35, 67 등과 복수의 후보군 개수 중 하나로 정해질 수 있거나 컬러 복사 모드, 컬러 모드 등의 지원 여부 및 개수가 정해질 수 있다. 이때, 상기 문턱크기는 너비(W), 높이(H), W x H 등으로 표현될 수 있으며, W와 H는 4, 8, 16, 32, 64 등과 같은 2 이상의 정수일 수 있다.
또는, 블록의 형태(또는 블록의 가로/세로 길이 비)에 따라 예측 모드 후보군의 구성이 정해질 수 있다. 이때, 블록의 가로/세로 길이 비는 하나 이상의 소정의 문턱값을 기준으로 구분되는 둘 이상의 범위 중에 하나로 분류될 수 있으며, 상기 분류된 범위에 따라 후보군 구성이 정해질 수 있다. 이때, 상기 문턱값은 W/H(또는 H/W) 등으로 표현될 수 있으며, 1, 2, 4, 8, 16 등과 같은 1 이상의 정수값을 갖거나 또는 1, 1/2, 1/4, 1/8, 1/16 등과 같은 0과 1 사이의 소수값을 가질 수 있다.
본 발명에서의 화면내 예측은 방향성 및 비방향성 모드를 위해 도 5와 같은 95개의 예측 모드가 지원되고, 컬러 모드와 컬러 복사 모드가 지원될 수 있는 경우를 가정한다. 또한, 휘도 성분의 예측 모드 후보군은 방향성 모드와 비방향성 모드로 67개, 색차 성분의 예측 모드 후보군은 방향성 및 비방향성 모드 4개, 컬러 모드 1개, 컬러 복사 모드 3개로 총 8개가 지원되는 경우를 가정하지만, 이에 한정되지 않는다. 상기 가정 외의 예측 모드 후보군에 포함되는 모드를 선정하기 위한 소정의 구성 기준이 존재할 수 있다.
다음은 블록의 가로/세로 길이 비에 따른 예측 모드 후보군의 구성의 일 예를 나타낸다.
ratio pred mode (inc) pred mode (exc)
16 67 ~ 80 2 ~ 15
8 67 ~ 78 2 ~ 13
4 67 ~ 76 2 ~ 11
2 67 ~ 72 2 ~ 7
1 - -
1/2 -6 ~ -1 61 ~ 66
1/4 -10 ~ -1 57 ~ 66
1/8 -12 ~ -1 55 ~ 66
1/16 -14 ~ -1 53 ~ 66
상기 표의 경우 정사각 블록 형태일 때 0과 1번의 예측 모드, 그리고 2번 내지 66번 모드의 예측 모드가 예측 모드 후보군에 포함되는 경우를 기준으로 설정한다. 직사각 블록 형태일 때 정사각 블록의 예측 모드 후보군(비방향성 모드 제외)에서 추가되거나 제외되는 예측 모드로 상기 표와 같은 후보 구성이 가능할 수 있는데, 이는 블록의 길이가 짧은 쪽보다 긴 쪽에서 예측 모드를 더 넓게 구성하는 것이 예측의 정확도 측면에서 유리하다는 가정 하에 설정되는 예일 수 있으나, 이에 반대되는 구성 또한 가능할 수 있다.
참조 화소 구성부에서는 화면내 예측에 사용되는 참조 화소를 구성할 수 있다. 이때, 참조 화소는 임시 메모리(예를 들어, 배열<Array>. 1차, 2차 배열 등)를 통해 관리될 수 있으며, 화면내 예측 과정마다 생성 및 제거될 수 있고 임시 메모리의 크기는 참조 화소의 구성에 따라 결정될 수 있다.
대상 블록을 중심으로 좌, 상, 좌상, 우상, 좌하 블록이 화면내 예측에 사용되는 경우를 가정하여 설명하지만, 이에 한정되지 않고 다른 구성의 블록 후보군이 화면내 예측에 사용될 수도 있다.
예를 들어, 상기 참조 화소를 위한 이웃 블록의 후보군은 래스터 또는 Z 스캔을 따르는 경우의 일 예일 수 있으며, 지원되는 스캔 순서에 따라 상기 후보군 중 일부를 제거할 수 있거나 또는 다른 블록 후보군(예를 들어, 우, 하, 우하 블록 등이 추가 구성)을 포함하여 구성될 수 있다.
한편, 대상 블록과 인접한 화소는 적어도 하나의 참조 화소 계층으로 분류할 수 있는데, 대상 블록과 가장 인접한 화소는 ref_0{대상 블록의 경계 화소와 화소값 차이가 1인 화소들. p(-1,-1) ~ p(2m-1,-1), p(-1,0) ~ p(-1,2n-1)}, 그 다음 인접한 화소{대상 블록의 경계 화소와 화소값 차이 2. p(-2,-2) ~ p(2m,-2), p(-2,-1) ~ p(-2,2n)}는 ref_1, 그 다음 인접한 화소{대상 블록의 경계 화소와 화소값 차이 3. p(-3,-3) ~ p(2m+1, -3), p(-3,-2) ~ p(-3,2n+1)}는 ref_2 등으로 나눌 수 있다. 즉, 대상 블록의 경계 화소와 인접한 화소 거리에 따라 참조 화소를 복수의 참조 화소 계층으로 분류할 수 있다.
여기서 지원되는 참조 화소 라인은 N개 이상일 수 있으며, N은 1, 2, 3, 4 또는 그 이상의 정수일 수 있다. 이때, 대상 블록에 최인접한 참조 화소 라인부터 순차적으로 참조 화소 라인 후보군에 포함되는 것이 일반적이나, 이에 한정되지 않는다. 예를 들어, N이 3일 경우 <ref_0, ref_1, ref_2>와 같이 순차적으로 상기 후보군이 구성될 수 있거나 또는 <ref_0, ref_1, ref_3>, <ref_0, ref_2, ref_3>, <ref_1, ref_2, ref_3>와 같이 순차적이지 않거나 최인접한 참조 화소 라인을 제외하는 구성으로 상기 후보군이 구성되는 것 또한 가능할 수 있다.
상기 후보군 내의 모든 참조 화소 라인을 사용하여 예측을 수행하거나 또는 일부 참조 화소 라인(하나 이상)을 사용하여 예측을 수행할 수 있다.
예를 들어, 부호화 설정에 따라 복수의 참조 화소 라인 중 하나가 선택되어 해당 참조 화소 라인을 사용하여 화면내 예측을 수행할 수 있다. 또는, 복수의 참조 화소 라인 중 둘 이상이 선택되어 해당 참조 화소 라인을 사용(예를 들어, 각 참조 화소 라인의 데이터에 가중치 평균 등을 적용)하여 화면내 예측을 수행할 수 있다.
여기서 참조 화소 라인 선택은 묵시적 또는 명시적으로 정해질 수 있다. 예를 들어, 묵시적인 경우에는 영상 타입, 컬러 성분, 블록의 크기/형태/위치 등의 요소 중 하나 또는 둘 이상의 조합에 따라 정의되는 부호화 설정에 따라 정해지는 것을 의미한다. 또한, 명시적인 경우는 블록 등의 단위에서 참조 화소 라인 선택 정보가 발생할 수 있음을 의미한다.
본 발명에서는 최인접한 참조 화소 라인을 사용하여 화면내 예측을 수행하는 경우를 중심으로 설명한다. 단, 예측에 참조되는 참조 화소 라인은 본 발명의 주요 부호화 요소 중에 하나로 고려될 수 있다. 즉, 선택되는 참조 화소 라인에 관계없이 화면내 예측 설정이 정해질 수 있지만, 그에 따른 화면내 예측 설정이 정해질 수도 있다.
본 발명의 화면내 예측의 참조 화소 구성부는 참조 화소 생성부, 참조 화소 보간부, 참조 화소 필터부 등을 포함할 수 있으며, 상기 구성의 전부 또는 일부를 포함하여 구성할 수 있다.
참조 화소 구성부에서 참조 화소 사용 가능성(Availability)을 확인하여 사용 가능한 참조 화소와 사용 불가한 참조 화소를 분류할 수 있다. 여기서 상기 참조 화소 사용 가능성은 다음의 조건 중 적어도 하나를 만족하는 경우에 사용 불가로 판단한다.
예를 들어, 픽쳐 경계 바깥에 위치하는 경우, 대상 블록과 동일한 분할 단위(예를 들어, 슬라이스, 타일 등과 같이 서로 참조가 불가능한 단위. 단, 슬라이스나 타일과 같은 단위라도 서로 참조 가능한 특성을 갖는 경우에는 동일한 분할 단위가 아니더라도 예외 처리)에 속하지 않는 경우, 부호화가 완료되지 않은 경우 중 하나라도 만족하는 경우에는 사용 불가로 판단할 수 있다. 즉, 상기 조건을 하나도 만족하지 않는 경우에는 사용 가능으로 판단할 수 있다.
또한, 부호화 설정에 의해 참조 화소 사용을 제한할 수 있다. 예를 들어, 상기 조건에 따라 사용 가능으로 판단된 경우라 할지라도 제한된 화면내 예측(예를 들어, constrained_intra_pred_flag)의 수행 여부에 따라 참조 화소 사용이 제한될 수 있다. 제한된 화면내 예측은 통신 환경 등의 외부 요인에 에러 전파를 막기 위해 다른 영상으로부터 참조되어 복원된 블록을 참조 화소로 사용을 금지하고자 할 때 수행될 수 있다.
제한된 화면내 예측이 비활성화된 경우(예를 들어, I 영상 타입. 또는 P나 B 영상 타입에서 constrained_intra_pred_flag = 0)에 참조 화소 후보 블록은 모두 사용 가능할 수 있다.
또는, 제한된 화면내 예측이 활성화된 경우(예를 들어, P나 B 영상 타입에서 constrained_intra_pred_flag = 1)에 참조 화소 후보 블록은 부호화 모드(Mode_Intra, Mode_InterD, Mode_InterC)에 따라 사용 여부를 판단하는 조건으로 가정할 것이나, 이 외의 다양한 부호화 요소에 따라 상기 조건이 정해질 수도 있다.
여기서, Mode_Intra, Mode_Inter_D, Mode_Inter_C는 각각 화면내 예측, 다른 픽쳐에서 참조하는 화면간 예측(블록 매칭 등), 현재 픽쳐에서 참조하는 화면간 예측을 의미할 수 있으며, Mode_Intra일 경우에는 참조가 가능하고 Mode_Inter인 경우에는 참조가 불가능한 설정이 일반적일 수 있으나 이에 한정되지 않는다.
참조 화소는 하나 이상의 블록으로 구성되어 있기 때문에 상기 참조 화소 가능성을 확인한 후 분류하면 <모두 사용 가능>, <일부 사용 가능>, <모두 사용 불가>와 같이 세 가지 경우로 분류할 수 있다. 모두 사용 가능한 경우를 제외한 나머지 경우에는 사용 불가한 후보 블록 위치의 참조 화소를 채우거나 생성할 수 있다.
참조 화소 후보 블록이 사용 가능한 경우에는 해당 위치의 화소를 대상 블록의 참조 화소 메모리에 포함할 수 있다. 이때, 상기 화소 데이터는 그대로 복사되거나 참조 화소 필터링, 참조 화소 보간 등의 과정을 통해 참조 화소 메모리에 포함할 수 있다. 또한, 참조 화소 후보 블록이 사용 불가한 경우에는 참조 화소 생성 과정을 통해 획득된 화소를 대상 블록의 참조 화소 메모리에 포함할 수 있다.
다음은 다양한 방법을 사용하여 사용 불가한 블록 위치의 참조 화소를 생성하는 예를 나타낸다.
예를 들어, 임의의 화소값을 사용하여 참조 화소를 생성할 수 있다. 여기서 임의의 화소값이란 화소값 범위(예를 들어, 비트 심도에 기초한 화소값 범위 또는 해당 영상 내 화소 분포에 따른 화소값 범위)에 속하는 하나의 화소값(예를 들어, 화소값 범위의 최소값, 최대값, 중앙값 등)일 수 있다. 상세하게는, 참조 화소 후보 블록이 모두 사용 불가한 경우에 적용되는 예일 수 있다.
또는, 영상의 부호화가 완료된 영역으로부터 참조 화소를 생성할 수 있다. 상세하게는, 사용 불가한 블록에 인접한 적어도 하나의 사용 가능한 블록으로부터 참조 화소를 생성할 수 있다. 이때, 외삽, 내삽, 복사 등의 방법 중 적어도 하나를 사용할 수 있다.
상기 예의 경우 참조 화소는 대상 블록을 중심으로 인접한 영역을 대상으로 할 수 있으며, 일부 예측 모드(예로, 컬러 복사 모드 등)에서 참조되는 다른 컬러 공간에서 대상 블록과 대응되는 영역(예측 데이터를 획득하는 영역 또는 그 인접한 영역) 또한 포함하여 고려될 수 있다.
상기 참조 화소 구성을 완료한 후에 참조 화소 필터링 또는 참조 화소 보간을 수행할 수 있다. 예를 들어, 참조 화소 필터링만 수행할 수 있고, 참조 화소 보간만 수행할 수 있고, 참조 화소 필터링과 참조 화소 보간을 수행할 수 있다. 참조 화소 필터링이 참조 화소 보간에 선행하거나 후행할 수 있으며, 동시에 결합되어 수행될 수도 있다.
참조 화소 필터링은 참조 화소에 남아있는 열화를 줄여주기 위한 목적으로 수행되는 과정일 수 있다. 참조 화소 필터링에 [1,2,1] / 4, [2, 3, 6, 3, 2] / 16 등과 같이 다양한 필터 탭의 길이 및 계수 설정으로 구분 가능한 복수의 필터 중 하나일 수 있다. 또한, 필터의 종류를 달리하여 복수의 필터링이 수행될 수도 있다.
참조 화소 필터링은 명시적으로 수행 여부가 결정될 수 있거나 또는 부호화 설정에 따라 묵시적으로 수행 여부가 정해질 수 있다. 여기서, 부호화 설정은 대상 블록의 상태 정보(블록의 크기, 형태, 위치 등), 영상 타입(I/P/B), 컬러 성분(Y/Cb/Cr), 참조 화소 라인 선택 정보, 서브 블록 단위의 화면내 예측이 적용되는지 여부, 화면내 예측 모드 등에 기반하여 정의될 수 있다.
참조 화소 보간은 정수 단위의 화소만을 참조하는 예측 모드에는 참조 화소 보간이 수행되지 않고, 소수 단위의 화소가 참조되는 예측 모드에는 참조 화소 보간이 수행될 수 있다.
예측 모드(예를 들어, 예측 모드의 방향성. dy/dx 등)와 참조 화소 및 예측 화소의 위치에 따라 보간이 수행되는 화소 위치(즉, 어느 소수 단위가 보간되는지)가 정해질 수 있다. 이때, 소수 단위의 정밀도에 상관없이 하나의 필터가 적용될 수 있거나 또는 복수의 필터(예를 들어, 필터 계수나 필터 탭의 길이를 결정하기 위해 사용되는 수학식이 구분되는 필터를 가정) 중 하나가 소수 단위에 따라 선택되어 적용될 수 있다.
전자의 경우 소수 단위 화소의 보간을 위해 정수 단위의 화소를 입력으로 사용하는 예일 수 있고, 후자의 경우 단계별로 입력 화소를 달리하는 예(예를 들어, 1/2 단위의 경우 정수 화소 사용. 1/4 단위의 경우 정수와 1/2 단위 화소 사용 등)일 수 있으나, 이에 한정되지 않으며 본 발명에서는 전자인 경우를 중심으로 설명한다.
참조 화소 보간을 위해 고정적인 필터링 또는 적응적인 필터링을 수행할 수 있으며, 이는 부호화 설정에 따라 정해질 수 있다. 여기서, 부호화 설정은 대상 블록의 상태 정보, 영상 타입, 컬러 성분, 참조 화소 라인 선택 정보, 서브 블록 단위의 화면내 예측이 적용되는지 여부, 화면내 예측 모드 등에 기반하여 정의될 수 있다.
고정적인 필터링은 하나의 필터를 사용하여 참조 화소 보간을 수행할 수 있고, 적응적인 필터링은 복수의 필터 중 하나를 사용하여 참조 화소 보간을 수행할 수 있다.
이때, 적응적인 필터링의 경우 부호화 설정에 따라 복수의 필터 중 하나가 묵시적으로 정해질 수 있거나 명시적으로 결정될 수 있다. 이때, 필터의 종류는 4-tap DCT-IF 필터, 4-tap 큐빅 필터, 4-tap 가우시안 필터, 6-tap 위너 필터, 8-tap 칼만 필터 등에서 하나 이상 선택되어 구성될 수 있으며, 컬러 성분에 따라 지원되는 필터 후보군이 달리 정의되는 것(예를 들어, 필터의 종류가 일부는 같거나 다르거나, 그리고 필터 탭의 길이가 짧거나 길거나 등) 또한 가능할 수 있다.
예측 블록 생성부에서 적어도 하나의 예측 모드에 따라 예측 블록을 생성할 수 있으며, 상기 예측 모드에 기반하여 참조 화소를 사용할 수 있다. 이때, 참조 화소는 예측 모드에 따라 외삽(Extrapolation) 등의 방법에 사용될 수 있고, 내삽(Interpolation) 또는 평균(DC) 또는 복사(Copy) 등의 방법에 사용될 수 있다.
예측 모드 결정부에서는 복수의 예측 모드 후보군 중 최적의 모드를 선정하기 위한 과정이 수행된다. 일반적으로 블록의 왜곡{예를 들어, 대상 블록과 복원 블록의 Distortion. SAD(Sum of Absolute Difference), SSD(Sum of Square Difference 등}과 해당 모드에 따른 발생 비트량이 고려되는 율-왜곡(Rate-Distortion) 기법을 이용하여 부호화 비용 측면에서 최적인 모드를 결정할 수 있다. 상기 과정을 통해 결정되는 예측 모드에 기반하여 생성되는 예측 블록을 감산부와 가산부로 송신할 수 있다.
예측 모드 부호화부에서는 예측 모드 결정부를 통해 선정된 예측 모드를 부호화할 수 있다. 예측 모드 후보군에서 상기 예측 모드에 대응하는 인덱스 정보를 부호화할 수 있거나 또는 상기 예측 모드를 예측하여 그에 관한 정보를 부호화할 수 있다. 전자의 경우 휘도 성분에 적용되는 방법일 수 있고 후자의 경우 색차 성분에 적용되는 방법일 수 있으나 이에 한정되지 않는다.
예측 모드를 예측하여 부호화하는 경우 복수의 카테고리(k개. k는 2, 3, 4 또는 그 이상의 정수)로 분류하여 관리할 수 있다. 예를 들어, 2개의 카테고리로 분류한다고 할 때, 하나의 카테고리는 대상 블록의 예측 모드와 일치할 것이라 예상되는 예측 모드로 구성될 수 있고, 다른 카테고리는 예측 모드와 일치할 가능성이 적다고 예상되는 예측 모드로 구성될 수 있다. 즉, 다른 카테고리는 대상 블록의 예측 모드와 일치할 것이라 예상되는 모드로 선정되지 못한 예측 모드로 구성될 수 있다.
상기 예의 경우 2개의 카테고리로 예측 모드를 분류하는 경우이며, 그 이상의 카테고리로 분류할 수도 있다. 3개의 카테고리로 분류할 때 제 1 카테고리는 대상 블록의 예측 모드와 일치할 가능성이 높다고 예상되는 예측 모드로 구성될 수 있고, 제 2 카테고리는 대상 블록의 예측 모드와 일치할 가능성이 보통으로 예상되는 예측 모드로 구성될 수 있고, 제 3 카테고리는 대상 블록의 예측 모드와 일치할 가능성이 적다고 예상되는 예측 모드로 구성될 수 있다. 즉, 제 2 카테고리는 제 1 카테고리에 속하지 못한 예측 모드 중에서 대상 블록의 예측 모드와 일치할 것이라 예상되는 예측 모드로 구성될 수 있고, 제 3 카테고리는 제 1 카테고리 및 제 2 카테고리에 속하지 못한 예측 모드로 구성될 수 있다.
카테고리 분류에 대한 다른 예로, 예측 방법에 따른 분류가 가능할 수 있다. 예를 들어, 외삽에 따른 예측 방법, 내삽/평균에 따른 예측 방법, 복사에 따른 예측 방법 등으로 분류할 수 있다. 여기서, 외삽에 따른 예측 방법은 방향성 모드를 의미할 수 있고, 내삽/평균에 따른 예측 방법은 비방향성 모드를 의미할 수 있고, 복사에 따른 예측 방법은 컬러 복사 모드로 분류할 수 있으며, 그 밖의 다양한 분류가 가능할 수 있다. 컬러 모드의 경우 다른 컬러 공간에서 예측 모드를 유도하기 때문에 상기 방향성 또는 비방향성 모드와 구분될 수 있으나, 설명의 편의를 위해 방향성/비방향성 모드로 분류되는 경우를 가정한다.
예측 방법에 따라 2개의 카테고리로 분류하는 경우 제 1 카테고리에는 방향성/비방향성 모드로 구성될 수 있고, 제 2 카테고리에는 컬러 복사 모드로 구성될 수 있다. 또는, 제 1 카테고리에는 방향성 모드로 구성될 수 있고, 제 2 카테고리에는 비방향성 모드로 구성될 수 있다. 전자의 경우 색차 성분의 화면내 예측에 적용 가능하고, 후자의 경우 휘도 성분의 화면내 예측에 적용 가능한 예일 수 있다. 후술하는 부분에서도 컬러 복사 모드가 포함된 경우 색차 성분의 화면내 예측 모드에 적용 가능함을 전제하지만, 컬러 복사 모드가 포함되지 않는 경우라도 휘도 성분의 화면내 예측 모드에만 한정되어 적용되지 않음을 이해하여야 한다.
만약 3개의 카테고리로 분류하는 경우 제 1 카테고리에는 방향성 모드로 구성될 수 있고, 제 2 카테고리에는 비방향성 모드로 구성될 수 있으며, 제 3 카테고리에는 컬러 복사 모드로 구성될 수 있다. 또는, 제 1 카테고리에는 방향성 모드 중 소정의 모드(예로, 수직, 수평, 대각선 A 모드 등)으로 구성될 수 있고, 제 2 카테고리에는 방향성 모드 중 소정의 모드(예로, 대각선 B 모드 등)으로 구성될 수 있고, 제 3 카테고리에는 컬러 복사 모드로 구성될 수 있다. 여기서, 대각선 A 모드의 경우 예측 시에 정수 화소만을 사용하는 대각선 모드, 대각선 B 모드의 경우 예측 시에 정수 화소 및 소수 화소를 사용하는 대각선 모드로 구성할 수 있으나, 이에 한정되지 않는다.
상기 설명은 카테고리의 구성에 관한 일 예이며, 이에 한정되지는 않고 다양한 소정의 기준에 따라 분류될 수 있다. 또한, 복수의 소정 기준이 혼합되어 카테고리 구성에 관하여 적용될 수 있다.
복수의 카테고리로 예측 모드를 구분할 경우 대상 블록의 예측 모드가 어떤 카테고리에서 발생했는지에 관한 선택 정보가 발생할 수 있고, 각 카테고리 내의 후보 선택 정보가 발생할 수 있다. 만약 카테고리 내의 후보가 1개일 경우에는 후보 선택 정보가 생략될 수 있다. 상기 카테고리 선택 및 카테고리 내 후보 선택에 관한 다양한 구문 요소 구성이 가능할 수 있다. 다음은 3개의 카테고리가 지원되는 경우를 가정한다.
* 카테고리 선택에 관한 하나의 구문 요소가 지원
본 예에서 카테고리 선택을 위해 지원되는 구문 요소의 값은 0 내지 2의 값(1 이상의 값)을 가질 수 있다. 일 예로, 제 1 내지 제 3 카테고리를 위해 <0>, <10>, <11>의 비트가 할당되는 이진화가 가능할 수 있다. 즉, 카테고리 선택을 위한 하나의 구문 요소가 지원되며, 각 카테고리에 대한 인덱스 할당 및 이진화가 적용되는 형식으로 구성될 수 있다.
* 카테고리 선택에 관한 복수의 구문 요소가 지원
본 예에서 카테고리 선택을 위해 지원되는 구문 요소의 값은 0 또는 1의 값(1 이상의 값 또한 가능)을 가질 수 있다.
일 예로, 하나의 구문 요소(제 1 구문 요소)는 제 1 카테고리와 제 2 카테고리를 위해 <0>이 할당되고, 제 3 카테고리를 위해 <1>이 할당될 수 있다. 이때, 상기 구문 요소가 <0>의 값을 가진 경우 제 1 카테고리와 제 2 카테고리 중에 하나를 선택하는 세부 카테고리 선택에 관한 다른 하나의 구문 요소(제 2 구문 요소)가 지원될 수 있으며, 해당 구문 요소는 제 1 카테고리와 제 2 카테고리를 위해 <0>, <1> 이 할당될 수 있다.
일 예로, 하나의 구문 요소(제 1 구문 요소)는 제 1 카테고리를 위해 <0>이 할당되고, 제 2 카테고리와 제 3 카테고리를 위해 <1>이 할당될 수 있다. 이때, 상기 구문 요소가 <1>의 값을 가진 경우 제 2 카테고리와 제 3 카테고리 중 하나를 선택하는 세부 카테고리 선택에 관한 다른 하나의 구문 요소(제 2 구문 요소)가 지원될 수 있으며, 해당 구문 요소는 제 2 카테고리와 제 3 카테고리를 위해 <0>, <1>이 할당될 수 있다.
상기 예는 카테고리 선택을 위한 구문 요소 구성에 관한 일 예이며, 다양한 변형 및 구성이 가능할 수 있다.
상기 각 카테고리는 적어도 하나의 예측 모드를 포함할 수 있다. 제 1 내지 제 3 카테고리의 예측 모드 수는 a, b, c일 수 있으며, a는 b와 c보다 적거나 같고, b는 c보다 적거나 같을 수 있다. 본 예에서 a는 1 ~ 5 사이의 정수, b는 3 ~ 8 사이의 정수, c는 예측 모드 후보군의 개수에서 a와 b의 개수를 감산한 개수라 가정한다. 상기 카테고리에 속하는 예측 모드에 Truncated Rice 이진화, Truncated Binary 이진화, k-th Exp-Golomb 이진화 등의 가변 길이 이진화 또는 고정 길이 이진화가 적용될 수 있다.
후술하는 예를 통해 카테고리의 구성 및 설정은 고정적인 경우를 가정하여 설명하지만, 다양한 부호화 요소에 따라 적응적인 설정(예로, 카테고리 개수, 관련 플래그 구성 등)이 가능할 수 있다. 여기서, 상기 부호화 요소는 컬러 성분(휘도/색차), 블록의 상태 정보(예로, 블록의 크기, 형태, 가로/세로 길이 비, 위치 등), 영상 타입(I/P/B), 서브 블록 단위의 화면내 예측이 적용되는지 여부, 참조 화소 라인 선택 정보 등에 기반하여 정의될 수 있다. 일 예로, 상기 부호화 정보에 기반하여 카테고리의 수가 2개 또는 3개 중 하나로 결정될 수 있다.
다음은 예측 모드와 일치할 가능성에 기반하여 복수의 카테고리(3개)로 예측 모드를 구분하고, 카테고리 선택 정보 및 카테고리 내의 후보 선택 정보에 기반하여 예측 모드를 부호화하는 예를 살펴본다. 단, 카테고리 구성을 위해 예측 방법에 따른 카테고리 분류에 대한 기준이 혼합되는 예 또한 가능할 수 있다. 또한, 제 1 카테고리와 제 2 카테고리 중 제 2 카테고리 부분을 제하거나 제 1 카테고리와 제 2 카테고리에 관한 설명을 통합할 경우 2개의 카테고리로 구성되는 설명이 유도될 수 있으므로, 이에 관한 상세한 설명은 생략한다.
도 6은 본 발명의 일 실시예에 따른 대상 블록과 그에 인접한 블록에 관한 배치도이다.
대상 블록은 그에 인접한 블록과 높은 상관성을 가질 수 있으며, 인접한 참조 화소를 사용하여 예측을 수행할 뿐 아니라 인접한 블록의 예측 모드 또한 대상 블록의 예측 모드의 예측에 사용할 수 있다. 그래서 대상 블록의 인접한 블록의 예측 모드를 제 1 또는 제 2 카테고리에 포함되는 후보로 선정할 수 있다. 이때, 대상 블록의 좌, 상, 좌상, 우상, 좌하 블록의 전부 또는 일부의 예측 모드를 (앞선) 카테고리에 포함되는 후보로 고려할 수 있다. 일 예로, (좌/상), (좌/상/우상), (좌/상/좌하), (좌/상/좌상/우하/좌상) 등이 고려될 수 있다.
인접한 블록의 예측 모드를 카테고리에 포함되는 후보로 고려할 때, 각 방향의 블록에서 적어도 하나의 예측 모드를 선정할 수 있다. 예를 들어, 좌 블록의 경우 L0 내지 L3에서 하나를 선정할 수 있고, 상 블록의 경우 U0 내지 U3에서 하나를 선정할 수 있다.
소정의 방향의 인접한 블록(본 예에서 좌, 상 블록)이 복수의 서브 블록으로 분할된 경우를 고려하여 예측 모드를 선정하기 위한 특정 위치의 서브 블록(예로, 좌 블록은 L3, 상 블록은 U3)이 정의될 수 있다. 만약 해당 위치 블록의 예측 모드가 사용 불가한 경우(예로, 해당 블록이 부호화가 되지 않은 경우, 참조 불가능한 위치에 있는 경우, 부호화 모드<Intra/Inter>가 다른 경우 등)라면, 해당 방향의 블록에서는 예측 모드를 선정하지 않을 수 있다.
또는, 예측 모드 선정을 위한 (서브 블록) 우선 순위가 지원(예로, L3 -> L0 -> L1 -> L2 등)될 수 있고, 그에 따라 앞선 순위의 이용 가능한 서브 블록의 예측 모드를 해당 방향의 예측 모드로 선정할 수 있다. 만약 모든 위치의 서브 블록의 예측 모드가 사용 불가한 경우라면, 해당 방향의 블록에서는 예측 모드를 선정하지 않을 수 있다.
그리고 각 방향의 블록에서 획득되는 예측 모드를 카테고리에 포함하기 위한 우선 순위가 지원될 수 있다. 예를 들어, 좌 -> 상 -> 우상 -> 좌하 -> 좌상, 좌 -> 상 -> 좌하 -> 우상 -> 좌상, 상 -> 좌 -> 좌하 -> 우상 -> 좌상 등의 설정이 가능할 수 있으며, 이에 한정되지 않는다.
예측 모드 후보군에 많은 예측 모드가 포함되어 있지만, 이 중에서 일반적으로 많이 발생하는 예측 모드가 존재할 수 있다. 예를 들어, 수직, 수평 방향의 에지는 많이 발견 가능한 영상의 특성일 수 있고, 배경과 같은 평탄한 영역 또한 많이 발견될 수 있다. 그래서 많이 발생할 것이라 예상되는 소정의 예측 모드를 제 1 또는 제 2 카테고리에 포함되는 후보로 선정할 수 있다.
상기 많이 발생할 것이라 예상되는 기 설정된 예측 모드의 후보로 비방향성 예측 모드인 Planar(0번), DC 모드(1번), 그리고 수평(18번), 수직(50번), 대각선 모드(2번, 34번, 66번 등)이 대상이 될 수 있다. 상기 예측 모드를 카테고리에 포함하기 위한 우선 순위가 지원될 수 있다. 예를 들어, Planar -> DC -> Ver -> Hor 등의 설정이 가능하며, 이에 한정되지 않는다.
인접한 블록의 예측 모드 중 전부 또는 일부가 이용 불가한 경우라면 상기 기설정된 예측 모드(예로, Planar, DC 등) 중 하나 이상을 대체하여 채우는 것이 가능할 수 있다.
상기 설명을 통해 대상 블록의 인접한 블록의 예측 모드와 기 설정된 예측 모드를 (앞선) 카테고리 구성을 위해 고려되는 예측 모드로 언급하였다. 그러나 예측 모드 후보군의 개수가 많을 경우, 상기 구성으로는 대상 블록의 예측 모드를 효율적으로 예측하는데 어려움을 겪을 수 있다. 일 예로, 방향성 모드에서 (도 5의 예측 모드 기준) 1, 2만큼의 차이가 발생할 경우, 상기 구성으로 예측에 실패하는 경우가 발생할 수 있다.
이를 위해 인접한 블록의 예측 모드와 기 설정된 예측 모드에 기반하여 유도되는 예측 모드를 카테고리 후보군 구성에 고려할 수 있다. 일 예로, 상기 예측 모드(본 예에서 방향성 모드)를 기준으로 k의 간격을 갖는 예측 모드를 유도되는 예측 모드로 고려할 수 있고, 이를 제 1 또는 제 2 카테고리에 포함되는 후보로 선정할 수 있다. 여기서, k는 1, 2, 3, 4 또는 그 이상의 정수일 수 있다.
여기서, 인접한 블록의 예측 모드 또는 기 설정된 예측 모드에 기반되는 예측 모드를 Z라 가정할 때, Z - 1, Z + 1, Z - 2와 같은 유도되는 예측 모드의 우선 순위가 존재할 수 있다. 본 예는 1, 2와 같은 절대값 순서로 우선 순위가 정해지고, (하나의 절대값 기준) <-> 부호에 이어 <+> 부호가 뒤따르는 경우를 가정하지만, 이에 한정되지 않는다. 즉, 상기 유도되는 예측 모드를 채우기 위한 간격 정보가 1부터 시작되지 않을 수 있음(예로, 4, 8, 12 등의 정수)을 의미한다. 그리고 인접한 블록의 예측 모드와 기 설정된 예측 모드에 기반하여 유도되는 예측 모드의 k 간격은 동일하거나 동일하지 않을 수 있다.
또한, 인접한 블록의 예측 모드 또는 기 설정된 예측 모드에 기반한 예측 모드가 X, Y라 가정할 때, X - 1, X + 1, Y - 1, Y + 1 또는 X - 1, Y - 1, X + 1, Y + 1와 같은 유도되는 예측 모드의 우선 순위가 존재할 수 있다. 본 예는 X가 Y에 앞선 순위를 갖고, <-> 부호와 <+> 부호가 번갈아 나타나거나 또는 하나의 부호(본 예에서 음수)가 (하나의 절대값 기준) 모두 유도된 후에 다른 부호(본 예에서 양수)가 유도되는 경우를 가정하지만, 이에 한정되지 않는다.
또한, 복수의 모드(본 예에서 X, Y)가 유도되는 모드의 기준 모드로 사용될 수 있거나 또는 그 중에 소정의 모드(즉, X, Y 중 하나)가 기준 모드로 사용될 수 있다. 이는 소정의 기준에 따라 분류가 가능할 수 있는데, 획득된 블록 위치(예로, 좌측 블록과 상측 블록 중 어느 특정 블록의 모드를 기준 모드로 설정), 대상 블록의 형태(예로, 가로로 긴 직사각 형태일 경우 좌측과 상측 중 상측 블록의 모드, 세로로 긴 직사각 형태일 경우 좌측 블록의 모드를 기준 모드로 설정. 또는 반대의 경우 등), 예측 모드의 기울기 정보(예로, 수직 또는 수평 모드를 기준으로 특정 방향<좌 또는 우, 상 또는 하>으로 더 기울어진 모드를 기준 모드로 설정)에 기반하여 정해질 수 있다.
정리하면, 기 설정된 예측 모드와 인접한 블록의 예측 모드, 그리고 앞선 예측 모드에 기반하여 유도되는 예측 모드를 (앞선) 카테고리에 포함할 수 있다.
각 카테고리는 기 설정된 예측 모드와 인접한 블록의 예측 모드, 그리고 유도되는 예측 모드 중 적어도 하나의 예측 모드가 포함될 수 있으며, 설명의 편의를 위해 각각 Group_A, Group_B, Group_C로 지칭한다.
예를 들어, 제 1 카테고리에는 Group_A에서 구성될 수 있고, 제 2 카테고리에는 Group_A, Group_B, Group_C에서 구성될 수 있고, 제 3 카테고리에는 나머지 모드(본 경우는 Group_C로 볼 수도 있음)가 구성될 수 있다.
또는, 제 1 카테고리에는 Group_B에서 구성될 수 있고, 제 2 카테고리에는 Group_A, Group_B, Group_C에서 구성될 수 있고, 제 3 카테고리에는 나머지 모드가 구성될 수 있다.
또는, 제 1 카테고리에는 Group_A, Group_B에서 구성될 수 있고, 제 2 카테고리에는 Group_A, Group_B, Group_C에서 구성될 수 있고, 제 3 카테고리에는 나머지 모드가 구성될 수 있다.
상기 예는 카테고리 구분에 따른 모드 구성에 관한 일 예이며, 복수의 카테고리에 포함되는 Group_A와 Group_B의 경우 앞선 카테고리에서 구성되지 못한 나머지 모드가 후속 카테고리에 구성되는 경우로 이해될 수 있다. 또한, 상기 예에 한정되지 않고 다양한 카테고리 구분에 따른 모드 구성이 가능할 수 있다.
다음은 카테고리 구성을 위한 예측 모드의 우선 순위가 지원되고, 카테고리 우선 순위(예로, 1 - 2 - 3 카테고리 순서)에 따라 선순위의 카테고리(예로, 제 1 카테고리)의 개수만큼 모드 구성이 완료되면 남은 모드를 후순위의 카테고리(예로, 제 2 카테고리, 제 3 카테고리 등)에 구성이 진행되는 경우를 가정한다.
후술하는 예에서 Planar(0번 인덱스 할당 가정) -> L -> A -> DC -> <L - 1> -> <L + 1> -> <A - 1> -> <A + 1> -> <L - 2> -> <L + 2> -> <A - 2> -> <A + 2> -> Ver -> Hor -> <Ver - 4> -> <Ver + 4> -> <Hor - 4> -> <Hor + 4> 등의 우선 순위가 지원되는 경우를 가정한다.
예를 들어, 제 1 카테고리의 예측 모드의 수가 1개인 경우, Group_A에 속하는 예측 모드는 Planar(0번 인덱스)일 수 있으며, 예측 모드의 수가 증가할수록 후순위의 예측 모드로 Group_A를 구성할 수 있다.
또한, 제 2 카테고리의 예측 모드의 수가 1개인 경우, 제 1 카테고리에 최종 구성된 예측 모드(m번 인덱스)의 다음 예측 모드(m+1번 인덱스)부터 Group_B에 속하는 예측 모드일 수 있으며, 예측 모드의 수가 증가할수록 후순위의 예측 모드로 Group_B를 구성할 수 있다.
또한, 제 3 카테고리는 제 2 카테고리에 최종 구성된 예측 모드(n번 인덱스)의 다음 예측 모드(n+1번 인덱스)부터 남은 예측 모드로 Group_C를 구성할 수 있다.
제 1 내지 제 3 카테고리의 예측 모드의 수(본 예는 예측 모드 후보군이 67개인 경우)는 (1, 5, 61), (2, 4, 61), (4, 8, 55) 등의 다양한 설정이 가능할 수 있으며, 예측 모드 후보군의 개수에 기반하여 정해질 수 있다.
상기 예에서 기 설정된 예측 모드는 부호화 환경과 상관없이 고정적으로 지원되는 모드일 수 있고, 유도되는 예측 모드는 이미 후보군에 존재하는 예측 모드를 기준 모드로 삼아 획득될 수 있다.
한편, 인접한 블록의 예측 모드는 인접한 블록의 상태(예로, 분할 단위 경계, 부호화 여부, 부호화 모드 등)에 따라 획득이 어려운 경우가 발생할 수 있다. 여기서, 인접한 블록의 상태는 (1) 인접한 블록 모두가 이용 불가한 경우, (2) 인접한 블록 일부가 이용 불가한 경우, (3) 인접한 블록 모두가 이용 가능한 경우로 구분할 수 있는데, 상기 우선 순위의 예는 인접한 블록 모두가 이용 가능한 경우를 가정하여 설명될 수 있다.
또한, 인접한 블록의 예측 모드는 둘 이상의 블록에서 획득될 수 있는데, 상기 우선 순위의 예는 각 블록의 예측 모드가 중복되지 않는 경우를 가정하여 설명될 수 있다.
또한, 인접한 블록의 예측 모드는 기 설정된 예측 모드와 중복되지 않는 경우를 가정하여 상기 우선 순위의 예가 설명될 수 있다.
카테고리 구성에 관한 우선 순위는 상기 요소를 고려하여 적응적으로 설정될 수 있다. 예를 들어, 인접한 블록의 예측 모드에 해당하는 인덱스는 상기 우선 순위에서 제거할 수 있고, 인접한 블록의 예측 모드를 기준 모드로 삼아 유도되는 모드에 관한 인덱스도 제거할 수 있다. 이는 인접한 블록의 예측 모드가 방향성 모드일뿐만 아니라 비방향성 모드인 경우에도 공통 적용되는 설명일 수 있다.
또한, 인접한 블록의 예측 모드가 중복되는 경우 중복되는 다른 예측 모드에 해당하는 인덱스와 유도되는 모드에 관한 인덱스를 제거할 수 있다. 또는, 상기 요소를 고려한 우선 순위가 복수 개가 지원되어 그에 따른 카테고리 구성이 가능할 수 있다.
본 발명의 화면내 예측에서는 지원되는 예측 모드 중에서 일부를 예측 모드 후보군으로 구성할 수 있음을 언급하였다. 이는 대상 블록의 상태 정보(예로, 블록의 크기, 형태 등)에 따라 각기 개별적인 예측 모드(예로, 방향성 모드)가 지원될 수 있음을 의미할 수 있다.
예측 모드 부호화를 위해 이를 공통되는 예측 모드 후보군 구성로 통일하는 과정이 상기 부호화 과정에 선행될 수 있다. 예를 들어, 예측 모드 부호화를 위한 소정의 범위의 예측 모드 후보군 구성으로 통일시킬 수 있고, 이에 기반하여 예측 모드 부호화를 수행할 수 있다. 이때, 상기 소정의 범위는 도 5의 0번 내지 66번에 해당하는 예측 모드로 구성할 수 있으나, 이에 한정되지 않는다.
상기 통일 과정은 상기 소정의 범위로 매핑하는 과정이 수행될 수 있는데, 예측 모드의 방향성에 기반하여 매핑이 수행될 수 있다. 일 예로, 상기 소정의 범위 밖에 존재하는 예측 모드의 경우 해당 예측 모드와 비슷한 특성을 갖는 예측 모드로 매핑 과정(예로, 에지 방향이 동일한 경우 등. 즉, 예측의 시작점과 예측 방향은 다르나 에지 방향이 일치하는 경우를 포함)을 수행할 수 있으며, 그 밖의 다양한 방법이 지원될 수 있다.
상기 과정을 통해 생성되는 예측 관련 정보는 부호화부로 전송되어 비트스트림에 수록될 수 있다.
상기 설명을 통해 화면내 예측이 수행되는 단위는 대상 블록이라 지칭하였다. 이때, 블록 설정에 따라 상기 대상 블록은 다양한 블록 단위로 설정될 수 있다.
일 예로, 부호화 블록이 예측 블록, 변환 블록과 동일한 단위인 경우(즉, 부호화 블록이 바로 예측 블록 또는 변환 블록으로 설정되는 경우), 참조 화소 영역 설정, 참조 화소 구성(참조 화소 필터링/참조 화소 보간), 예측 모드 후보군 구성, 예측 수행, 예측 모드 부호화 등을 위한 화면내 예측의 대상 블록은 부호화 블록으로 선정될 수 있다.
일 예로, 부호화 블록이 예측 블록, 변환 블록과 동일하거나 동일하지 않을 가능성이 존재하는 단위인 경우(즉, 부호화 블록에서 둘 이상의 서브 블록<예측 블록 또는 변환 블록>으로 분할될 수 있음), 화면내 예측의 대상 블록은 부호화 블록, 예측 블록, 변환 블록 중 하나로 설정될 수 있다.
예를 들어, (예측 모드 부호화/예측 모드 후보군 구성/참조 화소 구성) 등에 부호화 블록이 대상 블록으로 설정될 수 있고, (참조 화소 영역 설정/예측 수행) 등에 예측 블록 또는 변환 블록이 대상 블록으로 설정될 수 있다.
또는, (예측 모드 부호화/예측 모드 후보군 구성) 등에 부호화 블록이 대상 블록으로 설정될 수 있고, (참조 화소 영역 설정/참조 화소 구성/예측 수행) 등에 예측 블록 또는 변환 블록이 대상 블록으로 설정될 수 있다.
정리하면, 대상 블록은 부호화 블록, 예측 블록, 변환 블록 중에 하나로 설정될 수 있으며, 부호화 설정에 따라 세부 구성의 대상 블록 단위가 정해질 수 있다.
본 발명의 일 실시예에 따른 영상 복호화 방법에서 화면내 예측은 다음과 같이 구성될 수 있다. 예측부의 화면내 예측은 예측 모드 복호화 단계, 참조 화소 구성 단계, 예측 블록 생성 단계를 포함할 수 있다. 또한, 영상 복호화 장치는 예측 모드 복호화 단계, 참조 화소 구성 단계, 예측 블록 생성 단계를 구현하는 예측 모드 복호화부, 참조 화소 구성부, 예측 블록 생성부를 포함하도록 구성할 수 있다. 전술한 과정의 일부는 생략될 수 있거나 다른 과정이 추가될 수 있고, 상기 기재된 순서가 아닌 다른 순서로 변경될 수 있다.
영상 복호화 장치의 참조 화소 구성부, 예측 블록 생성부는 영상 부호화 장치의 대응되는 구성과 동일한 역할을 수행하므로 상세한 설명은 생략하며, 예측 모드 복호화부는 예측 모드 부호화부에서 사용한 방식을 역으로 사용하여 수행될 수 있다.
도 7은 본 발명의 일 실시예에 따른 화면내 예측의 보정 방법을 나타낸 순서도이다.
도 7을 참조하면, 대상 블록의 화면내 예측 모드를 결정하고(S700), 화면내 예측 모드에 기반하여 예측 블록을 생성할 수 있다(S710). 예측 블록의 보정 설정을 결정하고(S720), 예측 블록의 보정을 수행할 수 있다(S730).
대상 블록의 화면내 예측은 대상 블록의 상태 정보에 기반하여 획득되는 예측 모드 후보군 내에서 선정될 수 있으며, 그 중 하나의 예측 모드를 결정할 수 있다.
휘도 성분의 경우 방향성 모드와 비방향성 모드로 구성된 예측 모드 후보군를 참조할 수 있고, 색차 성분의 경우 방향성 모드와 비방향성 모드에 컬러 모드 또는 컬러 복사 모드가 지원되는 예측 모드 후보군을 참조할 수 있다.
이때, 예측 방법에 따른 구분은 방향성 모드/비방향성 모드/컬러 복사 모드로 구분할 수 있으며, 각 방법은 외삽, 내삽 또는 평균, 복사 방법을 사용할 수 있으나, 이에 한정되지 않고 다른 변형이 가능할 수 있다. 일 예로, 참조 화소 영역 설정에 따라 방향성 모드는 외삽 뿐만 아니라 내삽(양방향 예측)이 지원되는 경우가 가능할 수 있다.
정리하면, 각 예측 방법에 따라 화면내 예측을 위한 참조 영역이 달리 설정될 수 있는데, 외삽의 경우 대상 블록의 좌, 상, 좌상, 우상, 좌하 방향의 블록 중에 적어도 하나가 참조 영역으로 설정될 수 있고, 내삽의 경우 외삽의 경우에 추가로 대상 블록의 우, 하, 우하 방향의 블록 중 적어도 하나를 참조 영역으로 설정할 수 있다. 이때, 인접합 영역이 부호화가 되지 않은 경우라면 부호화된 영역의 하나 이상의 화소에서 유도하여 채울 수 있다. 또한, 복사의 경우 대상 블록과 다른 컬러 공간 내의 대응되는 블록이 참조 영역으로 설정될 수 있다.
상기 참조 영역의 데이터와 화면내 예측 모드에 기반하여 예측 블록을 생성할 수 있다.
예측 블록에 보정을 수행하는 것은 소정의 예측 모드에 따라 생성되는 예측 블록이 인접한 블록과의 불연속적인 경계 특성이 나타나는 것을 줄이기 위해 수행될 수 있다. 그러나 영상 특성에 따라 보정을 수행하는 것이 오히려 역효과가 날 수 있기 때문에 다양한 부호화 요소를 고려하여 보정을 수행하는 것이 필요하다.
예측 블록에 보정을 지원할 지 여부는 명시적으로 관련 정보가 생성될 수 있거나 또는 묵시적으로 정해질 수 있다. 그리고 시퀀스, 픽쳐 등의 상위 단위에서 보정을 지원하기로 결정되더라도 대상 블록의 보정 설정은 영상 타입, 컬러 성분, 대상 블록의 상태 정보, 부호화 모드, 화면내 예측 모드, 서브 블록 단위의 화면내 예측이 적용되는지 여부, 참조 화소 라인 선택 정보 등에 기반하여 정의될 수 있다. 또한, 보정 관련한 설정 정보(예로, 블록 단위의 보정을 수행할지에 관한 플래그, 보정에 적용되는 가중치 정보 등)가 하위 단위(예로, 전자의 정보는 블록, 서브 블록 등) 또는 상위 단위(예로, 후자의 정보는 시퀀스, 픽쳐, 슬라이스, 타일 등)에 명시적으로 생성될 수 있다.
상기 보정 설정은 보정이 수행되는지 여부, 보정에 사용되는 참조 화소의 개수, 위치, 가중치 등을 포함하여 구성될 수 있다. 보정이 수행되는 경우라도 대상 블록 내 화소 전부 또는 일부에 보정이 수행될 수 있다. 예를 들어, 대상 블록이 m x n인 경우 1개 내지 (mxn)개의 화소에 보정이 수행될 수 있다.
여기서, (화소 단위) 보정이 적용되는지 여부, (보정이 수행될 때) 보정에 사용되는 참조 화소의 개수(1 ~ 5개), 위치, 가중치 등은 상기 보정 설정뿐만 아니라 블록 내 화소의 위치 등에 기반하여 설정될 수 있다.
여기서, 보정이 지원되는 화면내 예측 모드는 소정의 예측 모드 그룹에 속하는지 여부에 따라 정해질 수 있다. 예를 들어, Planar, DC, 수평, 수직, 대각선 모드(예로, 우상 방향, 우하 방향, 좌하 방향 모드 등. 도 5의 2, 34, 66번 모드), 컬러 복사 모드 중에서 상기 예측 모드 그룹을 구성할 수 있다. 또는, 상기 예측 모드 그룹에서 유도되는 예측 모드(예로, 방향성 모드 기준으로 k만큼의 간격을 갖는 모드. 이때, k는 절대값이 1, 2, 3, 4 또는 그 이상의 정수)를 더 포함하여 구성할 수 있다.
보정이 지원되는 대상 블록은 소정의 제 1 문턱크기보다 작거나 같을 수 있다. 여기서, 제 1 문턱크기는 대상 블록이 가질 수 있는 최대 크기를 의미할 수 있다.
또한, 보정이 지원되는 블록은 소정의 제 2 문턱크기보다 크거나 같을 수 있다. 여기서, 제 2 문턱크기는 대상 블록이 가질 수 있는 최소 크기를 의미할 수 있다.
여기서 제 1 문턱크기와 제 2 문턱크기는 너비(W), 높이(H), W x H, W*H 등으로 표현될 수 있으며, W와 H는 4, 8, 16, 32 또는 그 이상의 정수일 수 있다. 여기서 제 1 문턱크기는 제 2 문턱크기보다 크거나 같을 수 있다.
도 8은 본 발명의 일 실시예에 따른 대상 블록 및 인접한 블록의 화소에 관한 배치도이다.
도 8을 참조하면, 대상 블록 내의 화소(a ~ p), 인접한 부호화가 완료된 블록 내의 화소(A ~ Q), 인접한 부호화가 완료되지 않은 블록 내의 화소(aa ~ ii)로 구성되어 있다. 여기서, 대상 블록 내의 화소는 보정이 수행되고, 인접한 블록 내의 화소는 보정에 참조될 수 있다.
이때, 인접한 블록의 참조 화소는 참조 화소 전처리 과정(예로, 참조 화소 필터링)이 수행되지 않거나 수행되어 획득된 값 중에 하나일 수 있다. 이는 블록 단위에서 결정될 수 있거나 또는 화소 단위에서 결정될 수 있다.
다음은 예측 화소에 보정이 적용되어 보정 화소가 획득되는 수식을 나타낸다.
Z = (z * w0) + (a * w1) + (b * w2) + (c * w3)
여기서, z와 Z는 각각 예측 화소와 보정 화소를 의미하고, a 내지 c는 보정에 사용되는 참조 화소를 의미하며, w0 내지 w3은 보정에 적용되는 가중치를 의미한다. 보정에 사용되는 참조 화소 개수에 따라 상기 참조 화소 및 가중치는 정해질 수 있다. 이때, 가중치는 0을 포함하여 정규화를 고려한 값이 할당될 수 있다.
대상 블록의 예측 모드에 따라 상기 참조 화소의 위치 및 개수가 정해질 수 있다.
예를 들어, 대상 블록의 예측 모드가 Planar, DC, 수직, 수평 모드인 경우 상기 a, b, c는 대상 블록 밖의 좌상단 참조 화소(예로, <-1,-1>), 대상 화소의 x 성분과 대응 또는 상응되는 대상 블록의 상측의 참조 화소(예로, <x, -1>), 대상 화소의 y 성분과 대응 또는 상응되는 대상 블록의 좌측의 참조 화소(예로, <-1, y>)로 설정할 수 있다.
여기서, Planar, DC 모드의 경우 대상 블록의 상측과 좌측의 참조 화소 변화도를 반영하기 위해 w2와 w3에 가중치를 할당할 수 있다. 이는 대상 화소의 x와 y 성분에 대응되는 참조 화소로부터 얼마나 변화하는지에 기반한 가중치 설정의 일 예(예로, w1는 0)일 수 있다.
여기서, 수직 모드의 경우 예측 방향과 상응하는 참조 화소의 변화도를 반영하기 위해 w0에 음의 부호를 갖는 가중치를 할당하고, w3에는 양의 부호(즉, 반대되는 부호)를 갖는 가중치를 할당할 수 있다. 이는 대상 화소의 y 성분에 대응되는 참조 화소가 좌상단 참조 화소로부터 얼마나 변화하는지에 기반한 가중치 설정의 일 예(예로, w2는 0)일 수 있다. 수평 모드의 경우 수직 모드에서 관련 설명을 유도할 수 있으므로 상세한 설명은 생략한다.
또는, 대상 블록의 예측 모드가 대각선 모드인 경우 상기 a, b, c는 대상 블록 밖의 좌상단 참조 화소, 대상 블록의 예측 방향의 시작점에 대응 또는 상응하는 참조 화소(예로, <x+y+1, -1>), 대상 블록의 예측 방향의 시작점 반대쪽에 대응 또는 상응하는 참조 화소(예로, <-1, x+y+1>)로 설정할 수 있다. 이때, 상기 참조 화소가 정수 단위로 획득되지 않은 경우(즉, 소수 단위로 보간이 필요한 경우)에는 인접한 하나의 참조 화소로 대체하거나 또는 양쪽에 인접한 참조 화소를 통해 보간하여 획득하는 방법 중에 하나로 설정할 수 있다.
여기서, 우상 방향의 대각선 모드의 경우 예측 방향의 시작점에 위치한 참조 화소와 반대쪽에 위치하는 참조 화소의 변화도를 반영하기 위해 w3에 가중치를 할당할 수 있다. 이는 대상 화소의 예측 방향 선상에 놓인 참조 화소로부터 얼마나 변화하는지에 기반한 가중치 설정의 일 예(예로, w1와 w2는 0)일 수 있다. 좌하 방향의 대각선 모드의 경우 상기 모드에서 관련 설명을 유도할 수 있으므로 상세한 설명은 생략한다.
도 9는 본 발명의 일 실시예에 따른 다중 참조 화소 라인에 기반한 보정 방법에 관한 예시도이다.
후술하는 예는 전술한 복수의 참조 화소 라인에서 화면내 예측에 사용될 참조 화소 라인이 선택되는 구성과 별도로 지원될 수 있는 구성일 수 있으며, 그에 기반하여 설명할 것이나, 상호 결합되는 구성으로의 적용 또한 가능할 수 있다.
도 9를 참조하면, (a)는 수평 또는 수직 모드에서의 보정에 대한 예시를 나타낸다. 상세하게는, 둘 이상의 참조 화소 라인의 참조 화소가 보정에 사용되는 경우에 대한 예시일 수 있다.
대상 블록의 예측 모드가 수직 모드인 경우에는 a에 추가적으로 a*를 참조 화소로 설정함으로써 보정의 정확도를 향상시킬 수 있다. 또는, a와 a*를 가중치 평균을 적용하여 a**를 획득한 후에 전술한 보정 수식에 적용할 수도 있다.
이는 블록 분할이 영상 특성을 정확하게 구분되는 경계선을 갖게 수행될 수 없기 때문에, 대상 블록의 인접한 참조 화소를 예측 화소로 사용하는 것과 동일한 이유일 수 있다.
대상 블록의 예측 모드가 수평 모드인 경우에는 b에 추가적으로 b*를 참조 화소로 설정하여 보정의 정확도를 향상시킬 수 있으며, b와 b*에 가중치 평균을 적용하여 b**를 획득한 후에 전술한 보정 수식에 적용할 수 있다.
도 9를 참조하면, (b)는 대각선 모드에서의 보정에 대한 예시를 나타낸다. 상세하게는, 둘 이상의 참조 화소 라인의 참조 화소가 보정에 사용되는 경우에 대한 예시일 수 있다.
대상 블록의 예측 모드가 좌하 방향인 경우에는 예측의 시작점 위치의 a에 추가적으로 a*를 참조 화소로 설정함으로써 보정의 정확도를 향상시킬 수 있거나 또는 a와 a*를 가중치 평균을 적용하여 a**를 획득한 후에 전술한 보정 수식에 적용할 수도 있다.
또한, 예측의 시작점 반대쪽 위치의 b에 추가적으로 b*를 참조 화소로 설정함으로써 보정의 정확도를 향상시킬 수 있거나 또는 b와 b*를 가중치 평균을 적용하여 b**를 획득한 후에 전술한 보정 수식에 적용할 수도 있다.
대각선 모드의 경우 예측의 시작점 또는 시작점의 반대쪽 중에 하나 이상의 참조 화소에 기반하여 획득된 참조 화소를 보정에 사용할 수 있다. 이때, 상기 참조 화소는 예측 모드의 방향 선상에 놓인 화소를 대상으로 선정될 수 있다.
상기 예에서 다중 참조 화소 라인에 위치하는 참조 화소를 보정에 사용하는 경우는 영상 타입, 컬러 성분, 대상 블록의 상태 정보, 화면내 예측 모드, 서브 블록 단위의 화면내 예측 모드가 적용되는지 여부, 참조 화소 라인 선택 정보 등에 기반하여 지원여부가 정해질 수 있다.
도 10은 본 발명의 일 실시예에 따른 화면내 예측의 보정 방법을 나타낸 순서도이다.
도 10을 참조하면, 대상 블록의 보정을 위한 임의의 화소를 획득하고(S900), 대상 블록과 화면내 예측 모드에 기반하여 보정 설정을 결정하며(S910), 예측 블록의 보정을 수행할 수 있다(S920).
예측 블록의 보정을 위하여 대상 블록에 인접한 블록은 특정 방향(예로, 좌상단 방향)으로 치우쳐서 구성될 수 있는데, 이는 래스터 스캔 또는 Z-스캔의 방법에 따른 부호화 순서로 인해 발생하는 상황이다.
특정 방향에 치우친 참조 화소를 대상으로 예측 및 보정을 수행하는 것에 추가로 부호화가 완료되지 않은 영역의 데이터를 사용함으로써 예측의 정확도를 향상시킬 수 있다. 이를 위해 임의의 화소를 획득하는 과정이 수행될 수 있다. 이때, 임의의 화소 개수는 1, 2 또는 그 이상의 정수일 수 있다.
예를 들어, 대상 블록의 보정에 사용되는 임의의 화소는 도 8의 aa 내지 ii 화소 중에서 정해질 수 있다. 상세하게는, 대상 블록의 인접한 블록 중에 아직 부호화가 완료되지 못한 영역에 속한 화소가 임의의 화소로 설정될 수 있다.
또는, 도 8의 a 내지 p 화소 중에서 정해질 수 있다. 상세하게는, 대상 블록 또한 아직 부호화가 완료되지 못한 화소에 속하므로 임의의 화소 선정 대상에 포함될 수 있다.
도 11은 본 발명의 일 실시예에 따른 예측 화소 보정에 사용되는 임의의 화소에 대한 예시도이다.
도 11을 참조하면, (a)의 경우 대상 블록 내의 우하측 화소, (b)의 경우 대상 블록 바깥의 우하측 화소, (c)의 경우 대상 블록 바깥의 하측과 좌측 화소, (d)의 경우 대상 블록 바깥의 하측 화소, (e)의 경우 대상 블록 바깥의 우측 화소가 임의의 화소(X, X1, X2)로 정해지는 예시도를 나타낸다.
임의의 화소를 사용하여 보정을 수행할 지 여부는 명시적으로 관련 정보가 생성될 수 있거나 또는 묵시적으로 정해질 수 있다. 그리고 시퀀스, 픽쳐 등의 상위 단위에서 임의의 화소를 사용하기로 결정되더라도 임의의 화소에 관한 설정은 영상 타입, 컬러 성분, 대상 블록의 상태 정보, 부호화 모드, 화면내 예측 모드, 서브 블록 단위의 화면내 예측이 적용되는지 여부, 참조 화소 라인 선택 정보 등에 기반하여 정의될 수 있다. 또한, 임의의 화소 관련한 설정 정보(예로, 블록 단위로 임의의 화소를 사용하여 보정을 수행할지에 관한 플래그 등)가 명시적으로 생성될 수 있다.
상기 임의의 화소에 관한 설정은 임의의 화소를 사용할지 여부(즉, 보정에 임의의 화소를 사용할지 여부), 임의의 화소의 개수, 위치 등을 포함하여 구성될 수 있다.
여기서, 임의의 화소를 사용하여 보정을 수행하는 화면내 예측 모드는 소정의 예측 모드 그룹에 속하는지 여부에 따라 정해질 수 있다. 예를 들어, Planar, DC, 수평, 수직, 대각선 모드(예로, 우상 방향, 우하 방향, 좌하 방향 모드 등. 도 5의 2, 34, 66번 모드), 컬러 복사 모드 중에서 상기 예측 그룹을 구성할 수 있다. 또는, 상기 예측 모드 그룹에서 유도되는 예측 모드(예로, 방향성 모드 기준으로 k만큼의 간격을 갖는 모드. 이때, k는 절대값이 1, 2, 3, 4 또는 그 이상의 정수)를 더 포함하여 구성할 수 있다.
임의의 화소를 사용하여 보정이 수행되는 대상 블록은 소정의 제 1 문턱크기보다 작거나 같을 수 있으며, 제 1 문턱크기는 대상 블록이 가질 수 있는 최대 크기를 의미할 수 있다. 또는, 소정의 제 2 문턱크기보다 크거나 같을 수 있으며, 제 2 문턱크기는 대상 블록이 가질 수 있는 최소 크기를 의미할 수 있다. 여기서, 상기 문턱크기는 너비(W), 높이(H), W x H, W*H 등으로 표현될 수 있으며, W와 H는 4, 8, 16, 32 또는 그 이상의 정수일 수 있고, 제 1 문턱크기는 제 2 문턱크기보다 크거나 같을 수 있다.
상기 설명은 이전 실시예를 통해 언급한 보정 설정에 하위 구성에 속하거나 결합되는 내용으로 이해할 수 있으므로, 중복되는 설명은 생략한다. 후술하는 예에서는 도 11의 (a)로 임의의 화소가 설정되는 경우를 가정한다.
임의의 화소 위치는 아직 부호화가 완료되지 못한 영역이기 때문에 다양한 방법을 통해 해당 위치의 화소값을 획득할 수 있다.
예를 들어, 임의의 화소 위치에 관한 데이터를 명시적으로 부호화할 수 있다. 해당 위치의 화소값을 그대로 부호화(예로, 비트 심도에 기반함)할 수 있거나 소정의 나눔값(예로, 양자화. 보정에 사용 시에는 양자화된 값을 사용)으로 획득된 값을 부호화할 수 있다.
또는, 임의의 화소 위치에 관한 데이터 후보값을 대상 블록의 인접한 부호화가 완료된 영역에서 둘 이상 획득하고, 이에 대한 인덱스 정보를 구성하여 부호화할 수 있다. 일 예로, 임의의 화소 위치의 화소값이 67이고, 대상 블록의 인접한 영역(예로, 상측 영역)에서 획득된 제 1 후보값이 70, 대상 블록의 인접한 영역(예로, 좌측 영역)에서 획득된 제 2 후보값이 85로 총 2개의 후보가 지원될 때, 후보값 선택 정보(예로, 제 1 후보값으로 선정. 1비트 플래그)를 부호화할 수 있다. 이때, 상기 후보값 획득에 관하여 후술하는 예에서 언급되는 방법이 사용될 수도 있다. 상기 후보값은 2, 3, 4 또는 그 이상의 정수만큼 지원될 수 있다.
상기 예의 경우 임의의 화소 위치의 데이터에 대한 정보를 명시적으로 부호화하는 경우일 수 있으며, 묵시적으로 임의의 화소 위치의 데이터를 획득할 수 있다.
예를 들어, 소정의 위치의 참조 화소 또는 임의의 화소 위치에 대응 또는 상응하는 참조 화소에서 획득할 수 있다. 소정의 위치에 대한 예로, 대상 블록 바깥의 좌상측, 상측, 좌측 위치의 참조 화소(도 8의 A, E, M)에서 획득할 수 있으며, 상기 위치에서 대상 블록의 너비 또는 높이에 기반한 위치(우상측, 좌하측)의 참조 화소(도 8의 I, Q)가 획득될 수도 있다.
또한, 임의의 화소 위치에 대응되는 참조 화소의 예로, 임의의 화소의 x 또는 y 성분과 대응되는 참조 화소(예로, <x, -1>, <-1, y>, <x+y+1, -1>, <-1, x+y+1> 등)에서 획득될 수 있다.
상기 위치의 참조 화소 중에 하나의 참조 화소의 데이터값을 그대로 임의의 화소 위치의 데이터값으로 획득할 수 있거나 또는 둘 이상의 참조 화소에 기반하여 유도된 값(예로, 거리에 따른 가중치 평균 등)으로 임의의 화소 위치의 데이터값으로 획득할 수 있다.
예를 들어, 임의의 화소 위치에 사용되는 복수의 참조 화소 중 기 설정된 위치의 참조 화소를 임의의 화소 위치의 데이터값으로 획득할 수 있다. 또는, 복수의 참조 화소 중 소정의 프로세스(예로, 최대값, 최소값, 중앙값 등)으로 획득된 값으로 임의의 화소 위치의 데이터값으로 획득할 수 있다. 또는, 복수의 참조 화소 중 소정의 프로세스(예로, 가중치 평균 등)으로 획득된 값으로 임의의 화소 위치의 데이터값으로 획득할 수 있다.
다음은 복수의 참조 화소에 기반하여 임의의 화소 위치의 데이터값을 획득하는 방법에 관하여 설명한다. 도 8의 A, E, M이 참조 화소로 사용되는 경우를 가정하며, 후술하는 예에서는 x, y, z로 지칭한다.
Candidate 0 1 2 3 4 5 6
Pixel Value x y z y+z-x z+(y-x)/2 y+(z-x)/2 (y+z)/2
상기 표의 0번 내지 2번 후보는 소정의 위치의 참조 화소를 임의의 화소 위치의 데이터값으로 획득하는 경우를 의미한다. 3번 내지 6번 후보는 대상 블록의 변화도를 반영하여 임의의 화소 위치의 데이터를 획득하기 위한 경우를 의미한다. 상세하게는, 대상 블록의 변화도를 기 설정된 위치의 참조 화소에 기반하여 획득하는 경우에 해당할 수 있다.
상기 예는 대상 블록이 정사각 형태인 경우를 가정하여 복수의 화소에서 유도되는 수식의 일 예일 수 있으며, 블록의 가로/세로 길이 비에 따라 변경 적용될 수 있음을 이해하여야 한다. 또한, 임의의 화소 위치의 데이터값은 상기 예에 한정되지 않고, 다양한 방법을 통해 획득될 수 있다.
도 12는 본 발명의 일 실시예에 따른 임의의 화소에 기반하여 보정이 수행되는 예시도이다.
도 12를 참조하면, (a)는 임의의 화소와 상측 블록에 대응되는 참조 화소를 사용하여 그 사이를 보간하는 과정을 나타내고, 이를 통해 획득된 대상 블록의 좌, 우, 상, 좌상, 우상 방향의 참조 화소를 사용하여 보정을 수행하는 과정을 나타낸다.
상기 과정은 대상 블록의 예측 모드가 수직 모드인 경우에 좌, 우 방향의 참조 화소의 변화도를 반영하여 보정을 수행하고자 할 때 적용할 수 있다. 이는 기존의 경우 좌 방향의 참조 화소의 변화도에 기반하여 보정을 수행하고자 할때와 다른 점일 수 있다.
도 12를 참조하면, (c)는 임의의 화소와 좌측 블록에 대응되는 참조 화소를 사용하여 그 사이를 보간하는 과정을 나타내고, 이를 통해 획득된 대상 블록의 상, 하, 좌, 좌상, 좌하 방향의 참조 화소를 사용하여 보정을 수행하는 과정을 나타낸다.
상기 과정은 대상 블록의 예측 모드가 수평 모드인 경우에 상, 하 방향의 참조 화소의 변화도를 반영하여 보정을 수행하고자 할 때 적용할 수 있다. 이는 기존의 경우 상 방향의 참조 화소의 변화도에 기반하여 보정을 수행하고자 할때와 다른 점일 수 있다.
도 12를 참조하면, (e)는 임의의 화소와 좌측과 상측 블록에 대응되는 참조 화소를 사용하여 그 사이를 보간하는 과정을 나타내고, 이를 통해 획득된 대상 블록의 상, 하, 좌, 우, 좌상, 우상, 좌하, 우하 방향의 참조 화소를 사용하여 보정을 수행하는 과정을 나타낸다.
다음은 예측 화소에 보정이 적용되어 보정 화소가 획득되는 수식을 나타낸다. 이때, 참조 화소는 임의의 화소 또는 임의의 화소에 기반하여 획득된 참조 화소가 포함되는 것이 이전 수식과 다른 구성일 수 있다.
Z = (z * w0) + (a * w1) + (b * w2) + (c * w3) + (d * w4) + (e * w5)
여기서, z와 Z는 각각 예측 화소와 보정 화소를 의미하고, a 내지 e는 보정에 사용되는 참조 화소를 의미하며, w0 내지 w5는 보정에 적용되는 가중치를 의미한다. 보정에 사용되는 참조 화소 개수에 따라 상기 참조 화소 및 가중치는 정해질 수 있다. 이때, 가중치는 0을 포함하여 정규화를 고려한 값이 할당될 수 있다.
대상 블록의 예측 모드에 따라 상기 참조 화소의 위치 및 개수가 정해질 수 있으며, 도 12와 같은 다양한 경우가 가능할 수 있다. 그 밖의 보정 설정에 관한 설명은 이전 수식에 관한 부분에서 유도할 수 있으므로 상세한 설명은 생략한다.
다양한 실시예를 통해 화면내 예측에서 보정을 수행하는 경우를 설명하였다. 여기서, 보정은 예측 블록을 획득한 후에 수행되는 경우로 한정하여 설명하였지만, 화면내 예측 과정(즉, 예측 블록 생성 과정)에 반영되어 수행되는 경우가 가능할 수 있다.
또한, 보정 과정에서 생성되는 플래그 정보는 화면내 예측 모드와 별개의 구성으로 부호화/복호화될 수 있지만, 화면내 예측 모드와 결합되거나 의존적인 구성이 가능할 수 있다. 즉, 화면내 예측 과정 이후의 부가적 또는 후속적인 부분으로 한정되지 않음을 이해하여야 한다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명은 비디오 신호를 부호화/복호화하기 위해 이용될 수 있다.

Claims (9)

  1. 대상 블록의 화면내 예측 모드를 결정하는 단계;
    상기 화면내 예측 모드에 기반하여, 상기 대상 블록의 예측 블록을 생성하는 단계; 및
    상기 예측 블록을 보정하는 단계를 포함하되,
    상기 대상 블록의 화면내 예측 모드는, 상기 대상 블록의 상태 정보에 따른 예측 모드 후보군 내의 모드로 결정되는, 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 대상 블록의 컬러 성분이 휘도 성분인 경우, 방향성 모드와 비방향성 모드로 구성된 예측 모드 후보군을 참조하고,
    상기 대상 블록의 컬러 성분이 색차 성분인 경우, 방향성 모드, 비방향성 모드, 컬러 모드 또는 컬러 복사 모드 중 적어도 하나가 지원되는 예측 모드 후보군을 참조하는, 영상 복호화 방법.
  3. 제2항에 있어서,
    상기 예측 모드 후보군은, 각 카테고리에 포함 가능하는 예측 모드의 최대 개수 또는 우선순위를 고려하여, 복수의 카테고리로 분류되는, 영상 복호화 방법.
  4. 제2항에 있어서,
    상기 예측 모드 후보군은, 비방향성 모드와 방향성 모드를 포함한 제1 카테고리 및 컬러 복사 모드를 포함한 제2 카테고리로 분류되는, 영상 복호화 방법.
  5. 제3항에 있어서,
    복수의 카테고리 중 어느 하나를 특정하는 제1 정보를 획득하는 단계; 및
    상기 제1 정보에 따른 카테고리 내에서 상기 대상 블록의 화면내 예측 모드를 특정하는 제2 정보를 획득하는 단계를 더 포함하되,
    상기 대상 블록의 화면내 예측 모드는, 상기 제1 정보 및 상기 제2 정보에 기초하여, 상기 특정된 카테고리로부터 결정되는, 영상 복호화 방법.
  6. 제5항에 있어서,
    상기 제2 정보는, 상기 제1 정보에 따른 카테고리에 하나의 예측 모드만이 포함된 경우에는 획득되지 않는, 영상 복호화 방법.
  7. 제1항에 있어서,
    상기 화면내 예측에 사용되는 참조 화소를 구성하는 단계를 더 포함하되,
    상기 참조 화소는, 복호화 장치에서 지원되는 복수의 참조 화소 라인 전부 또는 일부에 속하는, 영상 복호화 방법.
  8. 제7항에 있어서,
    상기 구성된 참조 화소에 가중 필터 또는 보간 필터 중 적어도 하나를 수행하는 단계를 더 포함하는, 영상 복호화 방법.
  9. 제1항에 있어서,
    상기 예측 블록을 보정하는 단계는, 소정의 부호화 정보에 기초하여 선택적으로 수행되고,
    상기 부호화 정보는, 영상 타입, 컬러 성분, 상태 정보, 부호화 모드, 화면내 예측 모드, 서브 블록 단위의 화면내 예측이 적용되는지 여부 또는 참조 화소 라인 중 적어도 하나를 포함하는, 영상 복호화 방법.
KR1020217010230A 2018-09-07 2019-09-09 영상 부호화/복호화 방법 및 장치 KR20210046804A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20180107256 2018-09-07
KR1020180107256 2018-09-07
PCT/KR2019/011648 WO2020050704A1 (ko) 2018-09-07 2019-09-09 영상 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210046804A true KR20210046804A (ko) 2021-04-28

Family

ID=69723085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217010230A KR20210046804A (ko) 2018-09-07 2019-09-09 영상 부호화/복호화 방법 및 장치

Country Status (15)

Country Link
US (4) US11128859B2 (ko)
EP (1) EP3849193A4 (ko)
JP (6) JP7453236B2 (ko)
KR (1) KR20210046804A (ko)
CN (3) CN118524227A (ko)
AU (2) AU2019336046B2 (ko)
BR (1) BR112021004326A2 (ko)
CA (1) CA3112936A1 (ko)
IL (3) IL314071A (ko)
MX (3) MX2021002548A (ko)
PH (1) PH12021550492A1 (ko)
RU (2) RU2771250C1 (ko)
SG (1) SG11202101877PA (ko)
WO (1) WO2020050704A1 (ko)
ZA (4) ZA202101432B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200213595A1 (en) * 2018-12-31 2020-07-02 Comcast Cable Communications, Llc Methods, Systems, And Apparatuses For Adaptive Processing Of Non-Rectangular Regions Within Coding Units

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503269B1 (ko) * 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
WO2012087077A2 (ko) * 2010-12-23 2012-06-28 삼성전자 주식회사 영상 예측 단위에 대한 인트라 예측 모드 부호화 방법 및 장치, 및 영상 예측 단위에 대한 인트라 예측 모드 복호화 방법 및 장치
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
KR101475286B1 (ko) * 2013-01-18 2014-12-23 연세대학교 산학협력단 인트라 예측 방법 및 장치, 그리고 영상 처리 장치
JP6112031B2 (ja) * 2013-03-29 2017-04-12 株式会社Jvcケンウッド 画像復号装置、画像復号方法及び画像復号プログラム
WO2014163454A1 (ko) * 2013-04-05 2014-10-09 삼성전자주식회사 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2016153146A1 (ko) * 2015-03-23 2016-09-29 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10848759B2 (en) * 2015-07-28 2020-11-24 Lg Electronics Inc. Intra prediction mode-based image processing method and apparatus therefor
US10750167B2 (en) * 2015-10-22 2020-08-18 Lg Electronics, Inc. Intra-prediction method and apparatus in video coding system
EP3442232A4 (en) * 2016-04-06 2019-12-04 KT Corporation METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL
CN117221591A (zh) * 2016-06-22 2023-12-12 Lx 半导体科技有限公司 图像编码/解码方法以及图像数据的传输方法
CN116708774A (zh) * 2016-07-18 2023-09-05 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
US11405620B2 (en) * 2016-08-01 2022-08-02 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus with sub-block intra prediction
US11438582B2 (en) * 2016-08-03 2022-09-06 Kt Corporation Video signal processing method and device for performing intra-prediction for an encoding/decoding target block
WO2018116925A1 (ja) 2016-12-21 2018-06-28 シャープ株式会社 イントラ予測画像生成装置、画像復号装置、および画像符号化装置
JP6806028B2 (ja) 2017-01-19 2020-12-23 株式会社村田製作所 多極コネクタセット
US10904568B2 (en) * 2017-03-09 2021-01-26 Kt Corporation Video signal processing method and device for intra prediction of coding or prediction blocks based on sample position based parameters
CN117395401A (zh) * 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
KR101883430B1 (ko) * 2017-08-30 2018-07-30 삼성전자주식회사 영상 부호화 방법 및 장치, 그 기록매체
CN118413647A (zh) * 2017-11-28 2024-07-30 Lx 半导体科技有限公司 图像编码/解码设备、传输图像数据的设备和存储介质
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
WO2019209028A1 (ko) * 2018-04-24 2019-10-31 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Also Published As

Publication number Publication date
AU2024200258A1 (en) 2024-02-01
MX2023007730A (es) 2023-07-06
JP2024133665A (ja) 2024-10-02
IL314071A (en) 2024-09-01
ZA202301351B (en) 2024-06-26
US12052415B2 (en) 2024-07-30
CN118524228A (zh) 2024-08-20
IL281260A (en) 2021-04-29
RU2022109978A (ru) 2022-05-04
US11616944B2 (en) 2023-03-28
JP2024133664A (ja) 2024-10-02
US11128859B2 (en) 2021-09-21
JP2021536718A (ja) 2021-12-27
SG11202101877PA (en) 2021-03-30
CN118524227A (zh) 2024-08-20
US20240333919A1 (en) 2024-10-03
ZA202301352B (en) 2024-05-30
MX2024003548A (es) 2024-04-03
US20210092365A1 (en) 2021-03-25
AU2019336046B2 (en) 2024-02-15
IL314072A (en) 2024-09-01
WO2020050704A1 (ko) 2020-03-12
MX2021002548A (es) 2021-04-29
JP2024133663A (ja) 2024-10-02
JP2024063178A (ja) 2024-05-10
JP2024133661A (ja) 2024-10-02
CN112740699A (zh) 2021-04-30
EP3849193A1 (en) 2021-07-14
US20230171398A1 (en) 2023-06-01
ZA202101432B (en) 2024-02-28
JP7453236B2 (ja) 2024-03-19
BR112021004326A2 (pt) 2021-07-20
RU2771250C1 (ru) 2022-04-29
AU2019336046A1 (en) 2021-05-06
CA3112936A1 (en) 2020-03-12
ZA202203000B (en) 2023-10-25
US20210092397A1 (en) 2021-03-25
IL281260B1 (en) 2024-08-01
EP3849193A4 (en) 2022-09-28
PH12021550492A1 (en) 2021-11-08

Similar Documents

Publication Publication Date Title
US12075026B2 (en) Method and apparatus for encoding/decoding image
US10986351B2 (en) Method and device for decoding image by using partition unit including additional region
KR102296536B1 (ko) 색차 성분에 관한 화면내 예측 부호화/복호화 방법 및 장치
KR20210016053A (ko) 영상 부호화/복호화 방법 및 장치
CN112106356A (zh) 图像编码/解码方法和装置
US20240333919A1 (en) Image encoding/decoding method and device
KR20240036533A (ko) 복수의 예측 모드 후보군을 사용하여 화면내 예측을 수행하는 영상 부호화/복호화 방법 및 장치
US20240380881A1 (en) Image encoding/decoding method and device
US20240380880A1 (en) Image encoding/decoding method and device
KR20210000691A (ko) 비디오 부호화 및 복호화 방법, 그를 이용한 장치