KR101875762B1 - Method and apparartus for encoding/decoding for intra prediction mode - Google Patents

Method and apparartus for encoding/decoding for intra prediction mode Download PDF

Info

Publication number
KR101875762B1
KR101875762B1 KR1020160070527A KR20160070527A KR101875762B1 KR 101875762 B1 KR101875762 B1 KR 101875762B1 KR 1020160070527 A KR1020160070527 A KR 1020160070527A KR 20160070527 A KR20160070527 A KR 20160070527A KR 101875762 B1 KR101875762 B1 KR 101875762B1
Authority
KR
South Korea
Prior art keywords
block
prediction
picture
current
mode
Prior art date
Application number
KR1020160070527A
Other languages
Korean (ko)
Other versions
KR20160143588A (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 KR20160143588A publication Critical patent/KR20160143588A/en
Application granted granted Critical
Publication of KR101875762B1 publication Critical patent/KR101875762B1/en

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/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

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

Abstract

화면내 예측 모드에 대한 부호화 및 복호화 방법 및 장치를 개시한다. 화면 내 예측을 수행하는 영상 부호화 방법은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계, 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계, 상기 MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계, 중복성이 있는 것으로 판단되면, 상기 좌측 블록과 인접하거나 상기 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 MPM군을 선정하는 단계 및 선정된 MPM군을 기초로, 상기 현재 블록에 대한 화면 내 예측 모드 부호화를 수행하는 단계를 포함한다.An encoding and decoding method and apparatus for an intra prediction mode are disclosed. The intra-picture prediction method includes the steps of: determining whether a left block and an upper block of a current block are available for a reference pixel configuration of a current block; determining, based on the determined result, whether or not the MPM (Most Probable Mode) Determining a redundancy of a prediction block derived from an intra-frame prediction mode in the MPM candidate group, and using a prediction mode of a replacement block adjacent to the upper block or adjacent to the upper block if it is judged to be redundant, Selecting an MPM group, and performing intra-picture prediction mode encoding on the current block based on the selected MPM group.

Figure R1020160070527
Figure R1020160070527

Description

화면 내 예측 모드에 대한 부호화/복호화 방법 및 장치{METHOD AND APPARARTUS FOR ENCODING/DECODING FOR INTRA PREDICTION MODE}TECHNICAL FIELD [0001] The present invention relates to a method and an apparatus for encoding / decoding an intra-

본 발명은 영상 부호화 및 복호화 기술에 관한 것으로, 더욱 상세하게는, 화면 내 예측 모드에 대한 부호화 및 복호화 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image encoding and decoding technique, and more particularly, to a method and apparatus for encoding and decoding an intra prediction mode.

인터넷과 휴대 단말의 보급과 정보 통신 기술의 발전에 따라 멀티미디어 데이터에 대한 이용이 급증하고 있다. 따라서, 각종 시스템에서 영상 예측을 통해 다양한 서비스나 작업을 수행하기 위하여 영상 처리 시스템의 성능 및 효율 개선에 대한 필요성이 상당히 증가하고 있으나, 이러한 분위기에 호응할 수 있는 연구 개발 결과가 미흡한 실정이다.With the spread of the Internet and mobile terminals and the development of information and communication technology, the use of multimedia data is increasing rapidly. Therefore, in order to perform various services or tasks through image prediction in various systems, there is a great need for improving the performance and efficiency of the image processing system, but the research and development result that can respond to the atmosphere is insufficient.

이와 같이, 종래 기술의 영상 부호화 복호화 방법 및 장치에서는 영상 처리 특히 영상 부호화 또는 영상 복호화에 대한 성능 개선이 요구되고 있는 실정이다.As described above, in the image encoding and decoding method and apparatus of the related art, improvement of performance for image processing, particularly image encoding or image decoding, is required.

상기와 같은 과제를 해결하기 위한 본 발명의 목적은, 화면 내 예측 모드를 개선한 부호화 및 복호화 방법을 제공하는데 있다.It is an object of the present invention to provide an encoding and decoding method in which an intra prediction mode is improved.

본 발명의 다른 목적은, 화면 내 예측 모드를 개선한 부호화 및 복호화 장치를 제공하는데 있다.It is another object of the present invention to provide a coding and decoding apparatus improved in intra picture prediction mode.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 화면 내 예측을 수행하는 영상 부호화 방법은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계, 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계, MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계, 중복성이 있는 것으로 판단되면, 좌측 블록과 인접하거나 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 MPM군을 선정하는 단계 및 선정된 MPM군을 기초로, 현재 블록에 대한 화면 내 예측 모드 부호화를 수행하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided an image encoding method for performing intra prediction, the method comprising: determining whether a left block and an upper block of a current block are available for a reference pixel configuration of a current block; Determining a redundancy of a predictive block derived from an intra-picture prediction mode in the MPM candidate group based on the determined result, determining whether there is redundancy in the intra-picture prediction mode in the MPM candidate group, Selecting an MPM group using a prediction mode of a replacement block adjacent to the upper block, and performing intra-picture prediction mode coding on a current block based on the selected MPM group.

여기서, 이용 가능한지 여부를 결정하는 단계는, 좌측 블록 및 상단 블록 각각에 대하여, 영상 경계 밖에 존재 하거나, 화면 간 예측으로 부호화된 경우에는 이용 불가능으로 결정되고, 그 밖에는 이용 가능으로 결정될 수 있다.Here, the step of determining whether or not it is available may be determined to be unavailable if it exists outside the image boundary for each of the left block and the uppermost block, or when it is coded by inter-picture prediction, and otherwise, it may be determined to be available.

여기서, MPM 후보군은, 좌측 블록 및 상단 블록 중 이용 가능으로 결정된 블록에 대한 화면 내 예측 모드, 이용 불가능으로 결정된 블록에 대해 미리 설정된 화면 내 예측 모드, 플레이너(Planar) 예측 모드, 수직(Vertical) 예측 모드 및 DC 예측 모드 중에서 적어도 하나를 포함하여 선정될 수 있다.Here, the MPM candidate group includes an intra-picture prediction mode for a block determined to be usable among a left block and an upper block, an intra-picture prediction mode preset for a block determined to be unavailable, a Planar prediction mode, A prediction mode, and a DC prediction mode.

여기서, 중복성을 판단하는 단계는, 좌측 블록 및 상단 블록이 모두 이용 가능한 경우, 현재 블록의 좌하단, 좌측, 좌상단, 상단, 우상단에 위치한 블록들 중 연속하는 2 이상의 블록들 내의 참조 화소 값에 대하여 산출한 분산 값을 기초로, 중복성을 판단할 수 있다.Here, if the left block and the upper block are all available, the step of determining the redundancy may be performed on the reference pixel values in two or more consecutive blocks among the blocks located at the lower left, upper left, upper left, The redundancy can be judged based on the calculated dispersion value.

여기서, 중복성을 판단하는 단계는, 좌측 블록 또는 상단 블록 중 적어도 하나가 이용 불가능한 경우, 이용 불가능한 블록과 현재 블록 사이의 경계 화소들 만을 참조하여 구성되는 화면 내 예측 모드를 선정하는 단계 및 선정된 예측 모드 중 적어도 2개가 상기 MPM 후보군에 포함되어 있으면, 중복성이 있는 것으로 판단하는 단계를 포함할 수 있다.The step of determining the redundancy includes the steps of selecting an intra prediction mode configured by referring only to boundary pixels between the unavailable block and the current block when at least one of the left block and the upper block is unavailable, Mode is included in the MPM candidate group, it may be determined that there is redundancy.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 선택될 수 있다.Here, the replacement block may be selected from neighboring blocks located at the lower left, upper left, and upper right of the current block.

여기서 이웃 블록이, 하나 이상의 블록으로 구성된 경우에, 대체 블록은 하나 이상의 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, when the neighboring block is composed of one or more blocks, the replacement block may be selected in the clockwise or counterclockwise priority among the one or more blocks.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, the replacement block may be selected in the clockwise or counterclockwise priority order among the neighboring blocks located at the lower left, upper left, and upper right of the current block.

상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른, 화면 내 예측을 수행하는 영상 복호화 방법은, 수신된 비트 스트림으로부터, 현재 블록에 대한 예측 모드가 MPM(Most Probable Mode)군에 포함되어 있는지 여부에 대한 데이터를 추출하는 단계, 데이터를 기초로, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는지 결정하는 단계, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는 것으로 결정되면, 수신된 비트 스트림으로부터, 현재 블록의 MPM군 인덱스 데이터를 추출하는 단계, 추출된 MPM군 인덱스 데이터에 기초하여, 상기 MPM군에서 현재 블록에 대한 예측 모드를 확인하는 단계 및 확인된 예측 모드를 기초로, 현재 블록에 대한 화면 내 예측을 수행하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided an image decoding method for performing intra prediction, the method comprising: determining whether a prediction mode for a current block is included in a MPM (Most Probable Mode) group from a received bitstream Determining whether a prediction mode for the current block is included in the MPM group based on the data and determining that the prediction mode for the current block is included in the MPM group, Extracting MPM group index data of the current block from the stream, checking a prediction mode for the current block in the MPM group based on the extracted MPM group index data, and determining, based on the confirmed prediction mode, And performing intra-picture prediction on the input image.

여기서, MPM군은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계, 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계, MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계 및 중복성이 있는 것으로 판단되면, 좌측 블록과 인접하거나 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 선정될 수 있다.Here, the MPM group determines whether or not the left block and the upper block of the current block are available for the reference pixel configuration of the current block, selecting the MPM (Most Probable Mode) candidate group based on the determined result, Determining the redundancy of the prediction block derived from the intra prediction mode in the MPM candidate group and determining whether there is redundancy, using the prediction mode of the adjacent block adjacent to the left block or a replacement block adjacent to the upper block.

여기서, 이용 가능한지 여부를 결정하는 단계는, 좌측 블록 및 상단 블록 각각에 대하여, 영상 경계 밖에 존재 하거나, 화면 간 예측으로 부호화된 경우에는 이용 불가능으로 결정하고, 그 밖에는 이용 가능으로 결정할 수 있다.Here, the step of determining whether or not it is available may be determined to be unavailable if it exists outside the image boundary with respect to each of the left block and the uppermost block, or when it is coded with the inter-picture prediction, and otherwise, it may be determined to be usable.

여기서, MPM 후보군은, 좌측 블록 및 상단 블록 중 이용 가능으로 결정된 블록에 대한 화면 내 예측 모드, 이용 불가능으로 결정된 블록에 대해 미리 설정된 화면 내 예측 모드, 플레이너(Planar) 예측 모드, 수직(Vertical) 예측 모드 및 DC 예측 모드 중에서 선정될 수 있다.Here, the MPM candidate group includes an intra-picture prediction mode for a block determined to be usable among a left block and an upper block, an intra-picture prediction mode preset for a block determined to be unavailable, a Planar prediction mode, A prediction mode, and a DC prediction mode.

여기서, 예측 블록의 중복성을 판단하는 것은, 좌측 블록 및 상단 블록이 모두 이용 가능한 경우, 현재 블록의 좌하단, 좌, 좌상단, 상단, 우상단에 위치한 블록들 중 연속하는 2 이상의 블록들 내의 참조 화소 값에 대하여 산출한 분산 값을 기초로, 판단할 수 있다.The determination of the redundancy of the prediction block is made by determining the reference pixel value in two or more consecutive blocks among the blocks located at the lower left, upper left, upper left, upper left, and upper right of the current block, Can be determined based on the variance value calculated with respect to the above.

여기서, 예측 블록의 중복성을 판단하는 단계는, 좌측 블록 또는 상단 블록 중 적어도 하나가 이용 불가능한 경우, 이용 불가능한 블록과 현재 블록 사이의 경계 화소들 만을 참조하여 구성되는 화면 내 예측 모드를 선정하고, 선정된 예측 모드 중 적어도 2개가 MPM 후보군에 포함되어 있으면, 중복성이 있는 것으로 판단할 수 있다.The determining of the redundancy of the prediction block may include selecting an intra prediction mode configured by referring to only the boundary pixels between the unavailable block and the current block when at least one of the left block and the upper block is unavailable, If at least two of the prediction modes included in the MPM candidate group are judged to be redundant.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 선택될 수 있다.Here, the replacement block may be selected from neighboring blocks located at the lower left, upper left, and upper right of the current block.

여기서, 이웃 블록이, 하나 이상의 블록으로 구성된 경우에, 대체 블록은 상기 하나 이상의 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, when the neighboring block is composed of one or more blocks, the replacement block may be selected in the clockwise or counterclockwise priority order among the one or more blocks.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, the replacement block may be selected in the clockwise or counterclockwise priority order among the neighboring blocks located at the lower left, upper left, and upper right of the current block.

상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 하나 이상의 프로세서들을 포함하는 영상 복호화 장치에서, 하나 이상의 프로세서들은, 수신된 비트 스트림으로부터, 현재 블록에 대한 예측 모드가 MPM(Most Probable Mode)군에 포함되어 있는지 여부에 대한 데이터를 추출하고, 데이터를 기초로, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는지 결정하며, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는 것으로 결정되면, 수신된 비트 스트림으로부터, 현재 블록의 MPM군 인덱스 데이터를 추출한 후, 추출된 MPM군 인덱스 데이터에 기초하여, MPM군에서 현재 블록에 대한 예측 모드를 확인하여 확인된 예측 모드를 기초로, 현재 블록에 대한 화면 내 예측을 수행할 수 있다.According to another aspect of the present invention, there is provided an image decoding apparatus including one or more processors, wherein one or more processors execute a prediction mode for a current block from a received bitstream in a MPM (Most Probable Mode) And determines whether a prediction mode for the current block is included in the MPM group based on the data. If it is determined that the prediction mode for the current block is included in the MPM group, Extracting MPM group index data of the current block from the bitstream, determining a prediction mode for the current block in the MPM group based on the extracted MPM group index data, and based on the determined prediction mode, Intra prediction can be performed.

여기서, MPM군은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계, 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계, MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계 및 중복성이 있는 것으로 판단되면, 좌측 블록과 인접하거나 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 선정될 수 있다.Here, the MPM group determines whether or not the left block and the upper block of the current block are available for the reference pixel configuration of the current block, selecting the MPM (Most Probable Mode) candidate group based on the determined result, Determining the redundancy of the prediction block derived from the intra prediction mode in the MPM candidate group and determining whether there is redundancy, using the prediction mode of the adjacent block adjacent to the left block or a replacement block adjacent to the upper block.

여기서, 이용 가능한지 여부를 결정하는 단계는, 좌측 블록 및 상단 블록 각각에 대하여, 영상 경계 밖에 존재 하거나, 화면 간 예측으로 부호화된 경우에는 이용 불가능으로 결정하고, 그 밖에는 이용 가능으로 결정할 수 있다.Here, the step of determining whether or not it is available may be determined to be unavailable if it exists outside the image boundary with respect to each of the left block and the uppermost block, or when it is coded with the inter-picture prediction, and otherwise, it may be determined to be usable.

여기서, 예측 블록의 중복성을 판단하는 단계는, 좌측 블록 또는 상단 블록 중 적어도 하나가 이용 불가능한 경우, 이용 불가능한 블록과 현재 블록 사이의 경계 화소들 만을 참조하여 구성되는 화면 내 예측 모드를 선정하고, 선정된 예측 모드 중 적어도 2개가 상기 MPM 후보군에 포함되어 있으면, 중복성이 있는 것으로 판단할 수 있다.The determining of the redundancy of the prediction block may include selecting an intra prediction mode configured by referring to only the boundary pixels between the unavailable block and the current block when at least one of the left block and the upper block is unavailable, If at least two of the prediction modes included in the MPM candidate group are included in the MPM candidate group, it can be determined that redundancy exists.

상술한 바와 같은 본 발명의 실시예에 따른 화면 내 예측 모드에 대한 부호화 및 복호화 방법 및 장치를 이용할 경우에는, 화면 내 예측에 사용하는 참조 화소의 정확도를 높일 수 있다. When the encoding and decoding method and apparatus for the intra prediction mode according to the embodiment of the present invention as described above are used, the accuracy of reference pixels used for intra prediction can be increased.

또한, 화면 내 예측에 사용하는 참조 화소의 정확도를 높여 부호화 효율을 향상시킬 수 있는 장점이 있다.In addition, there is an advantage that the encoding efficiency can be improved by increasing the accuracy of reference pixels used for intra prediction.

도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.
도 2는 본 발명의 실시예에 따른, 영상 부호화 장치에 대한 구성도이다.
도 3은 본 발명의 실시예에 따른, 영상 복호화 장치에 대한 구성도이다.
도 4는 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 P 슬라이스의 화면 간 예측을 나타낸 예시도이다.
도 5는 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 B 슬라이스의 화면 간 예측을 나타낸 예시도이다.
도 6은 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 단방향으로 예측 블록을 생성하는 경우를 설명하기 위한 예시도이다.
도 7은 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 참조 픽쳐 리스트로부터 구성하는 예시도이다.
도 8은 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 참조 픽쳐 리스트로부터 화면 간 예측을 수행하는 경우의 다른 예를 나타낸 예시도이다.
도 9는 본 발명의 일실시예에 따른 영상 부호화 방법에서 화면 내 예측을 설명하기 위한 예시도이다.
도 10은 본 발명의 일실시예에 따른 영상 부호화 방법에서 P 슬라이스나 B 슬라이스에서의 예측 원리를 설명하기 위한 예시도이다.
도 11은 예측 블록을 획득하는 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일실시예에 따른 영상 부호화 방법의 주요 과정을 코딩 단위(coding unit)에서의 신택스로 설명하기 위한 예시도이다.
도 13은 현재 픽쳐에서 블록매칭을 통해 예측 블록을 생성할 경우, 화면 간 예측에서와 같이 대칭형(symmetric type) 분할 또는 비대칭형(asymmetric type) 분할을 지원하는 예를 설명하기 위한 예시도이다.
도 14는 화면 간 예측(Inter)에서 2N×2N, N×N을 지원할 수 있음을 설명하기 위한 예시도이다.
도 15는 HEVC의 화면내 예측 모드를 설명하는 예시도이다.
도 16a는 참조 화소 구성 단계에서 현재 블록 예측에 사용되는 참조 화소를 설명하기 위한 예시도이다.
도 16b는 이웃 블록의 추가적인 화소가 참조 화소 후보군에 포함된 것을 설명하기 위한 예시도이다.
도 17a, 도 17b, 도 18a 및 도 18b는 참조 화소 구성 단계에서 획득 가능한 더 넓은 참조 화소를 갖는 현재 블록에 대하여, 다양한 모드 방향을 설명하기 위한 예시도이다.
도 19은 일반적인 현재 예측 유닛(또는 예측 블록)에 대한 최적 모드 결정 과정을 나타낸 흐름도이다.
도 20는 현재 예측 유닛(또는 블록)에 대한 예측 모드를 결정하기 위한 예시도이다.
도 21은 예측 모드에 대하여, 그룹화한 예시도이다.
도 22 내지 도 26은 상단 및 좌측의 블록 이외의 이웃한 블록을 활용하여 예측 모드에 대한 MPM을 구성하는 예시도이다.
도 27은 현재 블록과 이웃한 블록이 모두 이용 가능한 경우, 대체 블록으로 최적 모드(MPM)를 구성하는 예시도이다.
도 28은 본 발명의 실시예에 따른 화면 내 예측을 수행하는 영상 부호화 방법을 나타내는 흐름도이다.
1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
3 is a configuration diagram of an image decoding apparatus according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating an inter-picture prediction of a P slice in an image encoding and decoding method according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an inter-picture prediction of a B slice in an image encoding and decoding method according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating an example of generating a prediction block in a unidirectional manner in the image encoding and decoding method according to an embodiment of the present invention. Referring to FIG.
FIG. 7 is a diagram illustrating a reference picture list constructed in a method of encoding and decoding images according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 8 is a diagram illustrating an example of performing inter-picture prediction from a reference picture list in an image encoding and decoding method according to an embodiment of the present invention.
9 is an exemplary diagram for explaining intra prediction in the image encoding method according to an embodiment of the present invention.
10 is an exemplary diagram for explaining a prediction principle in a P slice or a B slice in the image encoding method according to an embodiment of the present invention.
11 is an exemplary diagram for explaining a process of acquiring a prediction block.
FIG. 12 is an exemplary diagram illustrating a main process of the image encoding method according to an embodiment of the present invention with a syntax in a coding unit.
FIG. 13 is an exemplary diagram for explaining an example of supporting a symmetric type division or an asymmetric type division as in inter picture prediction when a prediction block is generated through block matching in the current picture.
14 is an exemplary diagram for explaining that 2N x 2N and N x N can be supported in inter-picture prediction (Inter).
15 is an exemplary diagram for explaining an intra-picture prediction mode of the HEVC;
16A is an exemplary diagram for explaining reference pixels used in current block prediction in the reference pixel configuration step.
16B is an exemplary diagram for explaining that additional pixels of a neighboring block are included in a reference pixel candidate group.
FIGS. 17A, 17B, 18A and 18B are exemplary diagrams for explaining various mode directions for a current block having a wider reference pixel obtainable in the reference pixel forming step.
19 is a flowchart showing an optimal mode determination process for a general current prediction unit (or prediction block).
20 is an exemplary diagram for determining a prediction mode for the current prediction unit (or block).
FIG. 21 is an example of grouping the prediction modes. FIG.
FIGS. 22 to 26 illustrate an MPM for the prediction mode using neighboring blocks other than the upper and left blocks.
FIG. 27 is an exemplary diagram illustrating an optimum mode (MPM) as a replacement block when both the current block and neighboring blocks are available.
28 is a flowchart illustrating an image encoding method for performing intra-frame prediction according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

통상적으로 동영상은 일련의 픽쳐(Picture)로 구성될 수 있으며, 각 픽쳐들은 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 또한, 분할된 영역은 블록(Block)뿐 아니라, CTU(Coding Tree Unit), CU(Coding Unit), PU(Prediction Unit), TU(Transform Unit)과 같이 다양한 크기 또는 용어로 지칭할 수 있다. 각 유닛(Unit)은 하나의 휘도 블록과 두 개의 색차 블록으로 구성될 수 있으며, 이는 컬러 포맷에 따라 달리 구성될 수 있다. 또한, 컬러 포맷에 따라 휘도 블록과 색차 블록의 크기가 결정될 수 있다. 예를 들어, 4:2:0인 경우 색차 블록의 크기는 휘도 블록의 가로, 세로가 1/2인 길이를 가질 수 있다. 이 단위에 대해서는 기존의 HEVC 또는 H.264/AVC 등의 용어를 참조할 수 있다. 본 발명에서는 블록과 상기 용어들을 혼용하여 사용하였으나, 표준 기술에 따라 달리 이해될 수 있고, 그러한 표준 기술에 따른 부호화 및 복호화 과정에 따라 상응하는 용어 또는 단위로 이해되어야 한다.In general, a moving picture can be composed of a series of pictures, and each picture can be divided into a predetermined area such as a block. In addition, the divided area may be referred to as various sizes or terms such as a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit (TU) as well as a block. Each unit may consist of one luminance block and two color difference blocks, which may be otherwise configured according to the color format. Further, the size of the luminance block and the color difference block can be determined according to the color format. For example, in the case of 4: 2: 0, the size of the color difference block may have a length of 1/2 of the luminance block. For this unit, terms such as existing HEVC or H.264 / AVC can be referred to. Although blocks and terms are used interchangeably in the present invention, they may be otherwise understood in accordance with standard techniques and should be understood as corresponding terms or units in accordance with the encoding and decoding processes according to such standard techniques.

또한, 현재 블록 또는 현재 화소를 부호화하거나 복호화하는데 참조되는 픽쳐, 블록 또는 화소를 참조 픽쳐(Reference Picture), 참조 블록(Reference Block) 또는 참조 화소(Reference Pixel)라고 한다. 또한, 이하에 기재된 "픽쳐(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다A reference picture, a reference block, or a reference pixel is referred to as a reference picture, a block, or a pixel to be referred to in encoding or decoding a current block or a current pixel. It is also to be understood that the term "picture" described below may be used in place of other terms having equivalent meanings such as image, frame, etc., I can understand if I am a child

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.

도 1을 참조하면, 영상 부호화 장치(12) 및 복호화 장치(11)는 개인용 컴퓨터(PC:Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(memory, 18), 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(processor, 14) 등을 구비하는 다양한 장치를 포함할 수 있다. 또한, 영상 부호화 장치(12)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망(Network) 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.1, the image encoding apparatus 12 and the decryption apparatus 11 may be implemented by a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP) Player, a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV, a server terminal such as an application server and a service server, A communication device such as a communication modem for performing communication with a wired / wireless communication network, a memory (memory) 18 for storing various programs for inter- or intra-prediction for encoding or decoding an image or for encoding or decoding an image, A processor 14 for computing and controlling the operation of the system 10, and the like. The. The video encoded by the video encoding device 12 can be transmitted in real time or in non-real time through a wired or wireless communication network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, a mobile communication network, (Universal Serial Bus) or the like to be decoded in an image decoding apparatus and restored and reproduced as an image.

또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 부호화 장치에서 복호화 장치로 전달될 수도 있다.In addition, an image encoded by a video encoding apparatus by a bit stream may be transferred from a coding apparatus to a decoding apparatus via a computer-readable recording medium.

도 2는 본 발명의 일실시예에 따른 영상 부호화 장치에 대한 블록도이다. 도 3은 본 발명의 일실시예에 따른 영상 복호화 장치에 대한 블록도이다.2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention. 3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.

본 실시예에 따른 영상 부호화 장치(20)는, 도 2에 나타낸 바와 같이, 예측부(200), 감산부(205), 변환부(210), 양자화부(215), 역양자화부(220), 역변환부(225), 가산부(230), 필터부(235), 복호화 픽쳐 버퍼(240) 및 엔트로피 부호화부(245)를 포함할 수 있다.2, the image encoding apparatus 20 according to the present embodiment includes a predictor 200, a subtractor 205, a transformer 210, a quantizer 215, an inverse quantizer 220, An inverse transform unit 225, an adder 230, a filter unit 235, a decoded picture buffer 240, and an entropy encoding unit 245.

또한, 본 실시예에 따른 영상 복호화 장치(30)는, 도 3에 나타낸 바와 같이, 엔트로피 복호화부(305), 예측부(310), 역양자화부(315), 역변환부(320), 가산부(325), 필터부(330) 및 복호화 픽쳐 버퍼(335)를 포함할 수 있다.3, the image decoding apparatus 30 according to the present embodiment includes an entropy decoding unit 305, a predicting unit 310, an inverse quantizing unit 315, an inverse transforming unit 320, A decoded picture buffer 325, a filter unit 330, and a decoded picture buffer 335.

전술한 영상 부호화 장치(20)와 영상 복호화 장치(30)는 각각 별도의 장치들일 수 있으나, 구현에 따라서 하나의 영상 부호화 및 복호화 장치로 만들어질 수 있다. 그 경우, 영상 부호화 장치(20)의 예측부(200), 역양자화부(220), 역변환부(225), 가산부(230), 필터부(235) 및 메모리(240)는 기재된 순서대로 영상 복호화 장치(30)의 예측부(310), 역양자화부(315), 역변환부(320), 가산부(325), 필터부(330) 및 메모리(335)와 실질적으로 동일한 기술요소로서 적어도 동일한 구조를 포함하거나 적어도 동일한 기능을 수행하도록 구현될 수 있다. 또한, 엔트로부 부호화부(245)는 그 기능을 역으로 수행할 때, 엔트로피 복호화부(305)에 대응될 수 있다. 따라서 이하의 기술요소들과 이들의 작동 원리 등에 대한 상세 설명에서는 대응 기술요소들의 중복되는 설명을 생략하기로 한다.The image encoding apparatus 20 and the image decoding apparatus 30 may be separate apparatuses, but may be implemented as one image encoding and decoding apparatus according to an implementation. In this case, the prediction unit 200, the inverse quantization unit 220, the inverse transformation unit 225, the addition unit 230, the filter unit 235, and the memory 240 of the image encoding apparatus 20 are arranged in the order At least the same technical elements as the prediction unit 310, the inverse quantization unit 315, the inverse transformation unit 320, the addition unit 325, the filter unit 330 and the memory 335 of the decoding apparatus 30 Structure or at least perform the same function. In addition, the entropy coding unit 245 may correspond to the entropy decoding unit 305 when performing its function inversely. Therefore, a detailed description of the following technical elements and their operating principles will not be repeated.

그리고 영상 복호화 장치(30)는 영상 부호화 장치(20)에서 수행되는 영상 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응하므로, 이하의 설명에서는 영상 부호화 장치(20)를 중심으로 설명하기로 한다.Since the image decoding apparatus 30 corresponds to a computing apparatus that applies the image encoding method performed in the image encoding apparatus 20 to decryption, the following description will be made with reference to the image encoding apparatus 20 as an example.

컴퓨팅 장치는 영상 부호화 방법 및/또는 영상 복호화 방법을 구현하는 프로그램이나 소프트웨어 모듈을 저장하는 메모리와 메모리에 연결되어 프로그램을 수행하는 프로세서를 포함할 수 있다. 그리고 영상 부호화 장치는 부호화기로, 영상 복호화 장치는 복호화기로 각각 지칭될 수 있다.The computing device may include a memory for storing a program or a software module implementing the image encoding method and / or the image decoding method, and a processor connected to the memory for executing the program. The video encoding apparatus may be referred to as an encoder, and the video decoding apparatus may be referred to as a decoder.

본 실시예의 영상 부호화 장치의 각 구성요소를 좀더 구체적으로 설명하면 다음과 같다.Each component of the image encoding apparatus of the present embodiment will be described in more detail as follows.

여기서, 영상 부호화 장치(20)는, 분할부를 더 포함할 수 있다. 분할부는 입력 영상을 정해진 크기의 블록(M×N)으로 분할한다. 여기서, M 또는 N은 1 이상의 임의의 자연수이다. 상세하게는, 분할부은 픽쳐 분할부와 블록 분할부로 구성될 수 있다. 블록은 영상의 특성 및 해상도 등에 따라 크기 또는 형태가 결정될 수 있고, 픽쳐 분할부를 통해 지원되는 블록의 크기 또는 형태는 가로 및 세로의 길이가 2의 지수승으로 표현되는 M×N 정사각 형태(256×256, 128×128, 64×64, 32×32, 16×16, 8×8, 4×4 등)이거나, M×N 직사각 형태일 수 있다. 예를 들어, 해상도가 높은 8k UHD급 영상의 경우 256×256, 1080p HD급 영상의 경우 128×128, WVGA급 영상의 경우 16×16 등 크기로 입력 영상을 분할할 수 있다.Here, the image encoding apparatus 20 may further include a division unit. The dividing unit divides the input image into blocks (MxN) of a predetermined size. Here, M or N is an arbitrary natural number of 1 or more. Specifically, the dividing section may be composed of a picture dividing section and a block dividing section. The size or shape of the block can be determined according to the characteristics and resolution of the image, and the size or shape of the block supported through the picture partitioning unit is M × N square shape in which the length and the length are represented by an exponent of 2 (256 X 256, 128 x 128, 64 x 64, 32 x 32, 16 x 16, 8 x 8, 4 x 4, etc.), or an M x N rectangular shape. For example, an input image can be divided into 256 × 256 for an 8 k UHD image having a high resolution, 128 × 128 for a 1080p HD image, and 16 × 16 for a WVGA image.

이러한 블록의 크기 또는 형태에 대한 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위에서 설정이 가능하며, 관련 정보를 복호화기에 전송할 수 있다. 즉, 시퀀스 파라미터 셋, 픽쳐 파라미터 셋, 슬라이스 헤더 또는 이들의 조합 단위에서 설정될 수 있다.Information on the size or shape of such a block can be set in units of a sequence, picture, slice, or the like, and related information can be transmitted to the decoder. That is, a sequence parameter set, a picture parameter set, a slice header, or a combination thereof.

여기서, 시퀀스(sequence)는 몇 개의 관련 장면을 모아서 구성되는 구성단위를 가리킨다. 그리고 픽쳐(picture)는 하나의 장면 또는 픽쳐에서 일련의 휘도(Y) 성분 혹은 휘도 + 색차(Y, Cb, Cr) 성분 전체를 일컫는 용어로서, 한 픽쳐의 범위는 경우에 따라서 한 프레임 혹은 한 필드가 될 수 있다.Here, a sequence indicates a constituent unit formed by collecting a number of related scenes. A picture is a term that refers to a whole series of luminance (Y) components or luminance + chrominance (Y, Cb, Cr) components in one scene or picture. The range of one picture is one frame or one field .

슬라이스(slice)는 동일 액세스 유닛(access unit) 안에 존재하는 하나의 독립 슬라이스 세그먼트와 다수의 종속 슬라이스 세그먼트를 말할 수 있다. 액세스 유닛은 한 장의 코딩된 픽쳐와 관련된 NAL(network abstraction layer) 유닛의 집합(set)을 의미한다. NAL 유닛은 H.264/AVC와 HEVC 표준에서 비디오 압축 비트스트림을 네트워크 친화적인 형식으로 구성한 구문 구조(syntax structure)이다. 한 슬라이스 단위를 하나의 NAL 유닛으로 구성하는 것이 일반적이며, 시스템 표준에서는 일반적으로 한 프레임을 구성하는 NAL 혹은 NAL 집합을 하나의 액세스 유닛으로 간주한다.A slice can refer to one independent slice segment and a number of dependent slice segments that are in the same access unit. An access unit means a set of network abstraction layer (NAL) units associated with a single coded picture. The NAL unit is a syntax structure composed of a video compression bitstream in a network-friendly format in the H.264 / AVC and HEVC standards. It is common to configure one slice unit as one NAL unit, and system standards generally regard a set of NALs or NALs constituting one frame as one access unit.

다시 픽쳐 분할부의 설명으로 되돌아가서, 블록 크기 또는 형태(M×N)에 대한 정보는 명시적 플래그로 이루어질 수 있는데, 구체적으로 블록 형태 정보, 블록이 정사각형인 경우에 하나의 길이 정보, 직사각형일 경우에는 각각의 길이 정보, 또는 가로와 세로 길이의 차이값 정보 등을 포함할 수 있다. 예를 들어, M과 N이 k의 지수승(k를 2라 가정)으로 구성되어 있을 경우(M=2m, N=2n), m과 n에 대한 정보를 단항 이진화, 절삭형 단항 이진화 등의 다양한 방법으로 부호화하여 관련 정보를 복호화장치에 전달할 수 있다. 또는, 픽쳐 분할부에서 지원하는 분할 허용 최소 크기(Minblksize)가 I×J(설명의 편의상 I=J라고 가정. I=2i,J=2j 일 경우), m-i 또는 n-j에 대한 정보를 전달할 수 있다. 다른 예로, M과 N이 다를 경우, m과 n의 차이값(|m-n|)을 전달할 수 있다. 또는, 픽쳐 분할부에서 지원하는 분할 허용 최대 크기(Maxblksize)가 I×J(설명의 편의상 I=J라고 가정. I=2i,J=2j 일 경우), i-m 또는 n-j에 대한 정보를 전달할 수 있다.Returning to the description of the picture division section, the information on the block size or type (M × N) can be made up of explicit flags, specifically block type information, one length information when the block is square, The length information, or the difference value information between the horizontal and vertical lengths. For example, if M and N are composed of exponential powers of k (assuming k is 2) (M = 2 m , N = 2 n ), information on m and n can be unary binarization, Or the like, and transmit the related information to the decoding apparatus. Alternatively, if the division allowable minimum size (Minblksize) supported by the picture division unit is IxJ (assuming I = J for convenience of explanation, I = 2 i , J = 2 j ), information about mi or nj . As another example, when M and N are different, it is possible to convey the difference value (| mn |) between m and n. Alternatively, information about im or nj may be conveyed if the division allowable maximum size (Maxblksize) supported by the picture division unit is IxJ (assuming I = J for convenience of explanation, I = 2 i , J = 2 j ) .

묵시적인 상황일 경우 예컨대, 관련 정보에 대한 신택스는 존재하나 부호화기 또는 복호화기에서 확인할 수 없는 경우에는, 부호화기나 복호화기는 미리 준비된 기본 설정을 따를 수 있다. 예를 들어, 블록 형태 정보를 확인하는 단계에서 관련 신택스를 확인할 수 없는 경우 블록 형태는 기본 설정인 정사각 형태로 둘 수 있다. 또는, 블록 크기 정보를 확인하는 단계, 상세하게는 상기 예와 같이 분할 허용 최소 크기(Minblksize)로부터의 차이값을 통해 블록 크기 정보를 확인하는 단계에서 차이값 관련 신택스는 확인할 수 있으나 분할 허용 최소 크기(Minblksize) 관련 신택스는 확인할 수 없는 경우 미리 준비된 분할 허용 최소 크기(Minblksize) 관련 기본 설정값으로부터 얻을 수 있다. In case of an implied situation, for example, if a syntax for related information exists but can not be confirmed by an encoder or a decoder, the encoder or decoder may follow preset default settings. For example, if the related syntax can not be confirmed at the step of confirming the block type information, the block type may be set to a square shape, which is the default setting. Alternatively, the step of checking the block size information may be confirmed in the step of checking the block size information through the difference value from the minimum allowable minimum size (Minblksize) as in the above example. However, (Minblksize) related syntax can be obtained from the preliminarily set default values for the Minblksize.

이와 같이, 픽쳐 분할부에서 블록의 크기 또는 형태는 부호화기 또는 복호화기에서 관련 정보를 명시적으로 전송하거나 또는 영상의 특성 및 해상도 등에 따라 묵시적으로 결정될 수 있다.As described above, the size or shape of the block in the picture division unit can be implicitly determined by explicitly transmitting the related information in the encoder or the decoder or according to the characteristics and resolution of the image.

상기와 같이 픽쳐 분할부를 통해 분할 및 결정된 블록은 기본 부호화 단위로 사용될 수 있다. 또한, 픽쳐 분할부를 통해 분할 및 결정된 블록은 픽쳐, 슬라이스, 타일(tile) 등의 상위 레벨 단위를 구성하는 최소 단위일 수 있고, 부호화(Coding Block), 예측(Prediction Block), 변환(Transform Block), 양자화(Quantization Block), 엔트로피(Entropy Block), 인루프 필터(Inloopfiltering Block) 등의 블록의 최대 단위일 수 있으나, 일부 블록은 이에 한정되지 않고 예외도 가능하다.As described above, a block divided and determined through the picture division unit can be used as a basic encoding unit. A block divided and determined by the picture division unit may be a minimum unit constituting a high level unit such as a picture, a slice, and a tile, and may be a unit such as a coding block, a prediction block, a transform block A quantization block, an entropy block, and an inloopfiltering block. However, some blocks are not limited to this and some exceptions are possible.

예컨대, 인루프 필터링 블록과 같이 일부는 위에서 설명한 블록 크기보다 더 큰 단위로 적용될 수 있다.For example, some such as an in-loop filtering block may be applied in units larger than the block sizes described above.

블록 분할부는 부호화, 예측, 변환, 양자화, 엔트로피, 인루프 필터 등의 블록에 대한 분할을 수행한다. 분할부는 각 구성에 포함되어 기능을 수행하기도 한다. 예컨대, 변환부(210)에 변환블록 분할부, 양자화부(215)에 양자화블록 분할부를 포함할 수 있다. 블록 분할부의 초기 블록의 크기 또는 형태는 이전 단계 또는 상위 레벨 블록의 분할 결과에 의해 결정될 수 있다. 예를 들어, 부호화 블록의 경우 이전 단계인 픽쳐 분할부를 통해 획득된 블록을 초기 블록으로 설정할 수 있다. 또는, 예측 블록의 경우 예측 블록의 상위 레벨인 부호화 블록의 분할 과정을 통해 획득된 블록을 초기 블록으로 설정할 수 있다. 또는, 변환 블록의 경우 변환 블록의 상위 레벨인 부호화 블록의 분할 과정을 통해 획득된 블록을 초기 블록으로 설정할 수 있다. 상기 초기 블록의 크기 또는 형태를 결정하는 조건은 항상 고정적이지 않으며 일부가 변경되거나 예외인 경우가 존재할 수 있다. 또한, 이전 단계 또는 상위 레벨 블록의 분할 상태(예를 들어, 부호화 블록의 크기, 부호화 블록의 형태 등)와 현재 레벨의 설정 조건(예를 들어, 지원되는 변환 블록의 크기, 변환 블록의 형태 등) 각각 최소 하나 이상의 요인의 조합에 따라 현재 레벨의 분할 동작(분할 가능 여부, 분할 가능한 블록 형태 등)에 영향을 줄 수도 있다. The block division unit performs division on blocks such as coding, prediction, conversion, quantization, entropy, and in-loop filter. The divider may be included in each configuration to perform its functions. For example, the transforming unit 210 may include a transform block dividing unit and the quantizing unit 215 may include a quantization block dividing unit. The size or shape of the initial block of the block partition may be determined by the result of division of the previous level or higher level block. For example, in the case of a coded block, a block obtained through a picture division unit which is a previous stage can be set as an initial block. Alternatively, in the case of a prediction block, a block obtained through a division process of a coding block which is a higher level of the prediction block may be set as an initial block. Alternatively, in the case of a transform block, a block obtained through the division process of an encoding block, which is a higher level of the transform block, may be set as an initial block. The condition for determining the size or type of the initial block is not always fixed, and there may be a case where a part is changed or an exception is made. In addition, it is also possible to set the setting level of the current level (for example, the size of the supported conversion block, the type of the conversion block, etc.) of the previous level or the higher level block (for example, the size of the encoding block, ) May affect the division operation of the current level (division possibility, divisible block type, etc.) according to a combination of at least one or more factors.

블록 분할부는 쿼드트리(Quad tree) 기반의 분할 방식을 지원할 수 있다. 즉, 분할 전 블록에서 가로 및 세로가 1/2씩의 길이를 갖는 4개의 블록으로 분할할 수 있다. 이는 최초 블록 기준(dep_0)으로 분할 허용 깊이 한계(dep_k, k는 분할 허용 횟수를 의미하고, 분할 허용 깊이 한계(dep_k)일 때의 블록 크기는 (M >> k, N >> k)임)까지 분할을 반복적으로 할 수 있다.The block partition may support a quad tree based partitioning scheme. That is, the block may be divided into four blocks each having a length of 1/2 in the horizontal and vertical directions in the block before division. This means that the block size limit (dep >> k, n >> k) means the allowable division depth limit (dep >> k, k >>) while the block size limit (dep_k) Can be repeatedly performed.

또한, 바이너리 트리 기반의 분할 방식을 지원할 수 있다. 이는 가로 또는 세로 중 하나의 길이가 분할 전 블록과 비교하여 1/2의 길이를 갖는 2개의 블록으로 분할할 수 있음을 나타낸다. 상기 쿼드 트리 분할과 바이너리 트리의 분할의 경우 대칭 분할(Symmetric Partition)이나 비대칭 분할(Asymmetric Partition)일 수 있으며, 이는 부호화기 또는 복호화기의 설정에 따라 어느 분할 방식을 따를지 정할 수 있다. 본 발명의 영상 부호화 방법에서 대칭 분할 방식 위주로 설명을 할 것이다.In addition, a binary tree-based partitioning scheme can be supported. This indicates that the length of one of the horizontal and vertical lengths can be divided into two blocks having a length of 1/2 as compared with the pre-division block. In the case of quad tree partitioning and binary tree partitioning, symmetric partitioning or asymmetric partitioning may be used, and it may be determined according to a partitioning scheme depending on the setting of an encoder or a decoder. In the image encoding method of the present invention, a symmetric division method will be mainly described.

분할 플래그(div_flag)를 통해 각 블록의 분할 여부를 나타낼 수 있으며, 해당 값이 1이면 분할을 수행하고, 값이 0이면 분할을 수행하지 않는다. 또는, 해당 값이 1이면 분할을 수행하고 추가 분할이 가능하며, 값이 0이면 분할을 수행하지 않고 더 이상의 분할을 허용하지 않을 수 있다. 분할 허용 최소 크기, 분할 허용 깊이 한계 등의 조건에 의해 상기 플래그는 분할 여부에 대해서만 고려하고 추가 분할 여부에 대해서는 고려하지 않을 수 있다.The division flag (div_flag) indicates whether or not each block is divided. If the corresponding value is 1, the division is performed. If the value is 0, the division is not performed. Alternatively, if the value is 1, the segmentation is performed and further segmentation is possible. If the value is 0, the segmentation is not performed, and the segmentation is not allowed any more. Depending on the conditions such as the minimum allowable division size and the limit of the allowable division depth, the flag may be considered only for the division, and the additional division may not be considered.

분할 플래그는 쿼드트리 분할에서 사용 가능하고, 바이너리 트리 분할에서도 사용 가능하다. 바이너리 트리 분할에서는 분할 방향이 블록의 분할 깊이, 부호화 모드, 예측 모드, 크기, 형태, 종류(부호화, 예측, 변환, 양자화, 엔트로피, 인루프 필터 등 중 하나일 수 있음. 또는, 휘도, 색차 중 하나일 수 있음) 그리고 슬라이스 타입, 분할 허용 깊이 한계, 분할 허용 최소 및 최대 크기 등의 요인 중 최소 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있다. The split flag can be used in a quadtree partition, and also in a binary tree partition. In binary tree segmentation, the dividing direction may be one of the block depth, encoding mode, prediction mode, size, type, and type (encoding, prediction, And may be determined based on at least one of factors such as a slice type, a division allowable depth limit, a division allowable minimum and maximum size, or a combination thereof.

그 경우 분할 플래그에 따라 해당 분할 방향에 따라 즉, 블록의 가로만 1/2로 분할되거나 또는 세로만 1/2로 분할될 수 있다. 예를 들어, 블록이 M×N(M>N)으로 M이 N보다 클 때 가로 분할을 지원하며, 현재 분할 깊이(dep_curr)는 분할 허용 깊이 한계보다 작아서 추가 분할이 가능하다고 가정하면, 위의 분할 플래그는 1비트로 할당되어 해당 값이 1이면 가로 분할을 수행하고, 0이면 더 이상 분할하지 않을 수 있다. 분할 깊이는 쿼드 트리와 바이너리 트리 분할에 하나의 분할 깊이를 둘 수도 있고, 쿼드 트리와 바이너리 트리 분할에 각각의 분할 깊이를 둘 수도 있다. 또한, 분할 허용 깊이 한계는 쿼드 트리와 바이너리 트리 분할에 하나의 분할 허용 깊이 한계를 둘 수도 있고, 쿼드 트리와 바이너리 트리 분할에 각각의 분할 허용 깊이 한계를 둘 수도 있다. In this case, the divided flag may be divided according to the dividing direction, that is, divided into a width of only 1/2 of the block or a length of 1/2. For example, suppose that a block supports M × N (M> N) and M is greater than N, and that the current partition depth (dep_curr) is smaller than the partitioning allowable depth limit, The division flag is allocated with 1 bit. If the corresponding value is 1, the horizontal division is performed. If the division value is 0, the division flag can be no longer divided. The split depth can be one divide depth for quad tree and binary tree divisions, and one divide depth for quad tree and binary tree divisions. In addition, the allowable depth limit may have one partition allowable depth limit for the quadtree and the binary tree partition, or a respective partition allowable depth limit for the quadtree and binary tree partition.

다른 예로, 블록이 M×N (M>N)이고 N이 미리 설정된 분할 허용 최소 크기와 같아서 가로 분할을 지원하지 않는다면, 위의 분할 플래그는 1비트로 할당되어 해당 값이 1이면 세로 분할을 수행하고, 0이면 분할을 수행하지 않는다. As another example, if the block is M × N (M> N) and N is equal to the predetermined minimum allowable division size, and the horizontal division is not supported, the division flag is allocated to 1 bit. If the value is 1, If it is 0, no division is performed.

또한, 가로 분할 또는 세로 분할을 위한 플래그(div_h_flag, div_v_flag)를 각각 지원할 수 있으며, 상기 플래그에 따라 바이너리 분할을 지원할 수 있다. 가로 분할 플래그(div_h_flag) 또는 세로 분할 플래그(div_v_flag)를 통해 각 블록의 가로 또는 세로 분할 여부를 나타낼 수 있으며, 가로 분할 플래그(div_h_flag) 또는 세로 분할 플래그(div_v_flag)가 1이면 가로 또는 세로 분할을 수행하며, 0이면 가로 또는 세로 분할을 수행하지 않는다. 또는, 각 플래그가 1이면 가로 또는 세로 분할을 수행하며 가로 또는 세로의 추가 분할이 가능하고, 값이 0이면 가로 또는 세로 분할을 수행하지 않으며 더 이상의 가로 또는 세로의 추가 분할은 허용하지 않을 수 있다. 분할 허용 최소 크기, 분할 허용 깊이 한계 등의 조건에 의해 상기 플래그는 분할 여부에 대해서 고려하고 추가 분할 여부에 대해서는 고려하지 않을 수 있다. 또는, 가로 분할 또는 세로 분할을 위한 플래그(div_flag/h_v_flag)를 지원할 수 있으며, 상기 플래그에 따라 바이너리 분할을 지원할 수 있다. 분할 플래그(div_flag)는 가로 또는 세로 분할 여부를 나타낼 수 있으며 분할 방향 플래그(h_v_flag)는 가로 또는 세로의 분할 방향을 나타낼 수 있다. 분할 플래그(div_flag)가 1이면 분할을 수행하며 분할 방향 플래그(h_v_flag)에 따라 가로 또는 세로 분할을 수행하며, 0이면 가로 또는 세로 분할을 수행하지 않는다. 또는, 해당 값이 1이면 분할 방향 플래그(h_v_flag)에 따라 가로 또는 세로 분할을 수행하며 가로 또는 세로의 추가 분할이 가능하고, 값이 0이면 가로 또는 세로 분할을 수행하지 않으며 더 이상의 가로 또는 세로 분할을 허용하지 않는 것으로 간주할 수 있다. 분할 허용 최소 크기, 분할 허용 깊이 한계 등의 조건에 의해 상기 플래그는 분할 여부에 대해서 고려하고 추가 분할 여부에 대해서는 고려하지 않을 수 있다.Also, flags (div_h_flag, div_v_flag) for horizontal division or vertical division can be respectively supported, and binary division can be supported according to the flags. It is possible to indicate whether each block is horizontally or vertically divided through the horizontal division flag (div_h_flag) or the vertical division flag (div_v_flag). If the horizontal division flag (div_h_flag) or the vertical division flag (div_v_flag) If 0, no horizontal or vertical division is performed. Or, if each flag is 1, horizontal or vertical division is performed and horizontal or vertical division is possible. If the value is 0, horizontal division or vertical division is not performed and further division of horizontal or vertical division may not be allowed . The flag may be considered for the division depending on the conditions such as the division allowable minimum size and the division allowable depth limit, and the flag may not be considered. Alternatively, a flag (div_flag / h_v_flag) for horizontal division or vertical division may be supported, and binary division may be supported according to the flag. The division flag div_flag may indicate whether it is horizontally or vertically divided, and the division direction flag h_v_flag may indicate a horizontal or vertical division direction. If the division flag (div_flag) is 1, the division is performed and the horizontal or vertical division is performed according to the division direction flag (h_v_flag). If 0, the horizontal or vertical division is not performed. If the value is 1, horizontal or vertical division is performed according to the division direction flag (h_v_flag), and horizontal or vertical division is possible. If the value is 0, horizontal or vertical division is not performed. It can be regarded as not permitting. The flag may be considered for the division depending on the conditions such as the division allowable minimum size and the division allowable depth limit, and the flag may not be considered.

이러한 분할 플래그 또한 가로, 세로 분할을 위해 각각 지원할 수 있으며, 상기 플래그에 따라 바이너리 트리 분할을 지원할 수 있다. 또한, 분할 방향이 미리 결정되어 있는 경우, 상기 예와 같이 둘 중의 하나의 분할 플래그만 사용되거나, 두 분할 플래그 모두가 사용될 수 있다.These division flags can also support for horizontal and vertical division, respectively, and can support binary tree division according to the flags. When the dividing direction is predetermined, only one of the two division flags may be used, or both of the two division flags may be used as in the above example.

예를 들어, 상기의 플래그가 다 허용되면 가능한 블록의 형태는 M×N, M/2×N, M×N/2, M/2×N/2 중 어느 하나로 분할이 될 수 있다. 이 경우, 플래그는 (div_h_flag/div_v_flag순으로) 00, 01, 10, 11로 부호화될 수 있다. 위의 경우 상기 분할 플래그가 중첩되어 사용될 수 있는 설정에서의 예시이고, 상기 분할 플래그가 중첩되어 사용될 수 없는 설정 또한 가능하다. 예를 들어, 분할 블록 형태가 M×N, M/2×N, M×N/2로 분할 될 수 있으며, 이 경우 위의 플래그는 (div_h_flag/div_v_flag순으로) 00, 01, 10로 부호화되거나, (div_flag/h_v_flag순으로. h_v_flag는 분할 방향이 가로 또는 세로를 나타내는 플래그) 0, 10, 11로 부호화될 수 있다. 여기에서 중첩의 의미는 가로 분할과 세로 분할을 동시에 수행하는 것을 의미할 수 있다. 전술한 쿼드트리 분할 및 바이너리 트리 분할은 부호화기 또는 복호화기의 설정에 따라 어느 하나가 단독으로 사용되거나 혼용되어 사용될 수 있다. 예컨대, 블록 크기 또는 형태에 따라서 쿼드트리 또는 바이너리 트리 분할이 결정될 수 있다. 즉, 블록 형태가 M×N이고, M이 N보다 큰 경우에는 가로 분할, 블록 형태가 M×N이고, N이 M보다 큰 경우에는 세로 분할에 따라 바이너리 트리 분할이 지원될 수 있고, 블록 형태가 M×N이고, N과 M인 동일한 경우에는 쿼드트리 분할이 지원될 수 있다.For example, if the above flags are allowed, the possible block types can be divided into any one of M × N, M / 2 × N, M × N / 2, and M / 2 × N / 2. In this case, the flags can be encoded as 00, 01, 10, and 11 (in order of div_h_flag / div_v_flag). In the above case, it is an example of a setting in which the division flag can be used in a superimposed manner, and a setting in which the division flag can not be used overlapping is also possible. For example, the split block type may be divided into M × N, M / 2 × N, and M × N / 2, where the above flags are encoded as 00, 01, 10 (in order of div_h_flag / div_v_flag) , (in the order of div_flag / h_v_flag, h_v_flag can be encoded as 0, 10, and 11 flags indicating the horizontal or vertical direction of division). Here, the meaning of the overlap may mean that the horizontal division and the vertical division are performed at the same time. The quad tree division and the binary tree division described above can be used singly or in combination according to the setting of the encoder or the decoder. For example, a quadtree or binary tree partition may be determined depending on the block size or type. That is, when the block type is M x N and M is larger than N, the horizontal division, the block type is M x N, and if N is larger than M, the binary tree division can be supported according to the vertical division, Is M x N, and quad tree partitioning is supported if N and M are the same.

다른 예로, 블록(M×M)의 크기가 블록 분할 경계값(Thrblksize)보다 크거나 같은 경우는 바이너리 트리 분할이 지원될 수 있고, 그보다 작은 경우에는 쿼드트리 분할이 지원될 수 있다.In another example, binary tree partitioning may be supported if the size of the block (MxM) is greater than or equal to the block partitioning boundary value (Thrblksize), and quad tree partitioning may be supported if the size is smaller.

다른 예로, 블록(M×N)의 M 또는 N이 제 1 분할 허용 최대 크기 (Maxblksize1)보다 작거나 같고 제 1 분할 허용 최소 크기(Minblksize1)보다 크거나 같을 경우에는 쿼드 트리 분할을 지원하고, 블록(M×N)의 M 또는 N이 제 2 분할 허용 최대 크기(Maxblksize2)보다 작거나 같고 제 2 분할 허용 최소 크기(Minblksize2)보다 크거나 같을 경우에는 바이너리 트리 분할이 지원될 수도 있다. 만약 상기 분할 허용 최대 크기와 분할 허용 최소 크기로 정의할 수 있는 제 1 분할 지원 범위와 제 2 분할 지원 범위가 중복되는 경우에는, 부 또는 복호화기의 설정에 따라 제 1 또는 제 2 분할 방법 중의 우선순위가 주어질 수 있다. 본 예에서는 제 1의 분할 방법은 쿼드트리 분할, 제 2 분할 방법은 바이너리 트리 분할로 예를 들 수 있다. 예를 들어, 제 1 분할 허용 최소 크기(Minblksize1)이 16이고 제 2 분할 허용 최대 크기(Maxblksize2)가 64이며 분할 전 블록이 64×64 일 경우, 제 1 분할 지원 범위와 제 2 분할 지원 범위에 모두 속하므로 쿼드 트리 분할과 바이너리 트리 분할이 가능하다. 기설정에 따라 제 1 분할 방법(본 예에서는 쿼드 트리 분할)으로 우선 순위가 주어진다면, 분할 플래그 (div_flag)가 1일 경우에는 쿼드 트리 분할을 수행하며 추가 쿼드 트리 분할이 가능하고, 0일 경우에는 쿼드 트리 분할을 수행하지 않으며 더 이상 쿼드 트리 분할을 수행하지 않는 것으로 간주할 수 있다. 분할 허용 최소 크기, 분할 허용 깊이 한계 등의 조건에 의해 상기 플래그는 분할 여부에 대해서만 고려하고 추가 분할 여부에 대해서는 고려하지 않을 수 있다. 만약, 상기 분할 플래그(div_flag)가 1일 경우에는 32×32의 크기를 갖는 4개의 블록으로 분할이 되어 제 1 분할 허용 최소 크기(Minblksize1) 보다 크기 때문에 쿼드 트리 분할을 계속 수행할 수 있다. 만약, 0일 경우에는 추가적인 쿼드 트리 분할을 수행하지 않으며, 현재 블록 크기(64×64)가 상기 제 2 분할 지원 범위에 속하게 되므로 바이너리 트리 분할을 수행할 수 있다. 분할 플래그(div_flag/h_v_flag순으로)가 0일 경우에는 더 이상 분할을 수행하지 않으며, 10 또는 11인 경우에는 가로 분할 또는 세로 분할을 수행할 수 있다. 만약 분할 전 블록이 32×32이며 분할 플래그(div_flag)가 0이라 더 이상 쿼드 트리 분할을 하지 않고 제 2 분할 허용 최대 크기(Maxblksize2)가 16일 경우, 현재 블록의 크기(32×32)가 제 2 분할 지원 범위에 속하지 않으므로 더 이상의 분할을 지원하지 않을 수 있다. 위 설명에서 분할 방법의 우선순위는 슬라이스 타입, 부호화 모드, 휘도 및 색차 성분 등 중에서 최소 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있다. As another example, if M or N of the block (MxN) is equal to or smaller than the first allowable maximum size (Maxblksize1) and equal to or greater than the first allowable minimum size (Minblksize1), quad tree partitioning is supported, Binary tree segmentation may be supported when M or N of (M x N) is less than or equal to the second allowable maximum size (Maxblksize2) and greater than or equal to the second allowable minimum size (Minblksize2). If the first division supporting range and the second division supporting range, which can be defined by the division allowable maximum size and the division allowable minimum size, overlap, the priority of the first or second division method Rank can be given. In this example, quad tree partitioning is used for the first partitioning method, and binary tree partitioning is used for the second partitioning method. For example, when the first division allowable minimum size (Minblksize1) is 16, the second division allowable maximum size (Maxblksize2) is 64, and the pre-division block is 64x64, the first division support range and the second division support range Quad tree partitioning and binary tree partitioning are possible because it belongs to all. If divide flag (div_flag) is 1, quad tree partitioning is performed and additional quadtree partitioning is possible, if the priority is given by the first partitioning method (quad tree partitioning in this example) according to the setting, Can be regarded as not performing a quadtree partition and no longer performing a quadtree partition. Depending on the conditions such as the minimum allowable division size and the limit of the allowable division depth, the flag may be considered only for the division, and the additional division may not be considered. If the division flag div_flag is 1, it is divided into 4 blocks having a size of 32x32 and is larger than the first division allowable minimum size (Minblksize1), so that the quadtree partitioning can be continued. If it is 0, no additional quadtree partitioning is performed, and the current block size (64x64) belongs to the second partitioning support range, so that the binary tree partitioning can be performed. When the division flag (in the order of div_flag / h_v_flag) is 0, no further division is performed, and in the case of 10 or 11, a horizontal division or a vertical division can be performed. If the size of the current block (32x32) is smaller than the size of the current block (32x32) if the block before division is 32x32 and the division flag (div_flag) is 0, Since it is not in the scope of 2-partition support, it may not support further partitioning. In the above description, the priority of the division method may be determined according to at least one of a slice type, a coding mode, a luminance and chrominance components, or a combination thereof.

다른 예로, 휘도 및 색차 성분에 따라 다양한 설정을 지원할 수 있다. 예를 들어, 휘도 성분에서 결정된 쿼드 트리 또는 바이너리 트리 분할 구조를 색차 성분에서는 추가적인 정보 부 또는 복호화없이 그대로 사용할 수 있다. 또는, 휘도 성분과 색차 성분의 독립적인 분할을 지원할 경우, 휘도 성분에는 쿼드 트리 + 바이너리 트리, 색차 성분에는 쿼드 트리 분할을 지원할 수도 있다. 또는, 휘도와 색차 성분에서 쿼드 트리 + 바이너리 트리 분할을 지원하되, 상기 분할 지원 범위가 휘도와 색차 성분에도 동일 또는 비례할 수도 있고, 그렇지 않을 수도 있다. 예를 들어, 컬러 포맷이 4:2:0인 경우일 경우, 색차 성분의 분할 지원 범위가 휘도 성분의 분할 지원 범위의 N/2일 수 있다.As another example, various settings can be supported depending on the luminance and chrominance components. For example, a quadtree or binary tree division structure determined from the luminance component can be used as it is without further information or decoding in the chrominance component. Alternatively, if independent division of the luminance component and the chrominance component is supported, quad tree + binary tree may be included in the luminance component, and quad tree division may be supported in the chrominance component. Alternatively, the quad tree + binary tree division is supported in the luminance and chrominance components, but the division support range may or may not be the same or proportional to the luminance and chrominance components. For example, when the color format is 4: 2: 0, the division support range of the chrominance component may be N / 2 of the division support range of the luminance component.

다른 예로, 슬라이스 타입에 따라 다른 설정을 둘 수 있다. 예를 들어, I 슬라이스에서는 쿼드 트리 분할을 지원할 수 있고, P 슬라이스에서는 바이너리 트리 분할을 지원할 수 있고, B 슬라이스에서는 쿼드 트리 + 바이너리 트리 분할을 지원할 수 있다.As another example, different settings can be made depending on the slice type. For example, I slices can support quadtree partitioning, P slices can support binary tree partitioning, and B slices can support quadtree + binary tree partitioning.

상기 예와 같이 쿼드 트리 분할 및 바이너리 트리 분할이 다양한 조건에 따라 설정 및 지원될 수 있다. 상기 예들은 전술한 경우에만 특정하는 것은 아니며 서로의 조건이 뒤바뀌는 경우도 포함할 수 있고, 상기 예에서 언급된 하나 이상의 요인 또는 이들의 조합되는 경우도 포함할 수 있고, 다른 경우의 예로 변형 또한 가능하다. 위의 분할 허용 깊이 한계는 분할 방식(쿼드트리, 바이너리 트리), 슬라이스 타입, 휘도 및 색차 성분, 부호화 모드 등에서 최소 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있다. 또한, 상기 분할 지원 범위는 분할 방식(쿼드트리, 바이너리 트리), 슬라이스 타입, 휘도 및 색차 성분, 부호화 모드 등에서 최소 하나 이상의 요인에 또는 이들의 조합에 따라 결정될 수 있으며, 관련 정보는 분할 지원 범위의 최대값, 최소값으로 표현할 수 있다. 이에 대한 정보를 명시적 플래그로 구성할 경우, 최대값 및 최소값 각각의 길이 정보, 또는 최소값과 최대값의 차이값 정보 등을 표현할 수 있다. 예를 들어, 최대값과 최소값이 k의 지수승(k를 2라 가정)으로 구성되어 있을 경우, 최대값과 최소값의 지수 정보를 다양한 이진화를 통해 부호화하여 복호화 장치에 전달할 수 있다. 또는, 최대값과 최소값의 지수의 차이값을 전달할 수 있다. 이 때 전송되는 정보는 최소값의 지수 정보와 지수의 차이값 정보일 수 있다Quad tree partitioning and binary tree partitioning can be set and supported according to various conditions as in the above example. It should be noted that the above-described examples are not limited to the above-described cases and may include cases where the conditions of each other are reversed, and may include one or more factors mentioned in the above examples or combinations thereof. Do. The above allowable division depth limit can be determined according to at least one factor or a combination of at least one of division method (quad tree, binary tree), slice type, luminance and chrominance components, encoding mode and the like. The division support range may be determined according to at least one factor or a combination thereof in a division mode (quad tree, binary tree), a slice type, a luminance and color difference component, a coding mode, Maximum value, and minimum value. When information on this is configured with an explicit flag, length information of each of the maximum value and the minimum value, or difference value information between the minimum value and the maximum value can be expressed. For example, when the maximum value and the minimum value are composed of exponentiation powers of k (assuming k is 2), the exponential information of the maximum and minimum values can be encoded through various binarization and transmitted to the decoding apparatus. Alternatively, the difference value between the maximum value and the minimum value can be transmitted. The information transmitted at this time may be the difference information of the exponent information and the exponent of the minimum value

전술한 설명에 따라 플래그와 관련한 정보들은 시퀀스, 픽쳐, 슬라이스, 타일, 블록 등의 단위에서 생성되고 전송될 수 있다.In accordance with the above description, information related to flags can be generated and transmitted in units of sequences, pictures, slices, tiles, blocks, and the like.

상기 예시로 제시된 분할 플래그들로 쿼드 트리 또는 바이너리 트리 또는 두 트리 방식의 혼합을 통해 블록 분할 정보를 나타낼 수 있으며, 분할 플래그는 단항 이진화, 절삭형 단항 이진화 등의 다양한 방법으로 부호화하여 관련 정보를 복호화 장치에 전달할 수 있다. 상기 블록의 분할 정보를 표현하기 위한 분할 플래그의 비트스트림 구조는 1개 이상의 스캔 방법 중 선택할 수 있다. 예를 들어, 분할 깊이 순서(dep0에서 dep_k순서로) 기준으로 분할 플래그들의 비트스트림을 구성할 수 있고, 분할 여부 기준으로 분할 플래그들의 비트스트림을 구성할 수도 있다. 분할 깊이 순서 기준 방법에서는 최초 블록 기준으로 현 수준의 깊이에서의 분할 정보를 획득한 후 다음 수준의 깊이에서의 분할 정보를 획득하는 방법이며, 분할 여부 기준 방법에서는 최초 블록 기준으로 분할된 블록에서의 추가 분할 정보를 우선적으로 획득하는 방법을 의미하며, 이 외에도 위의 예에서 제시되지 않은 다른 스캔 방법이 포함되어 선택될 수 있다.The block division information may be represented by a quad tree, a binary tree, or a combination of two tree schemes with the division flags shown in the above examples. The division flags may be encoded by various methods such as unary binarization and cutting type unary binarization, Device. The bitstream structure of the division flag for representing the division information of the block may be selected from one or more scanning methods. For example, a bitstream of division flags can be configured based on the division depth order (from dep0 to dep_k), and a bitstream of division flags can be configured based on division. In the division depth order reference method, division information at the current level is acquired on the basis of the first block, and division information is acquired at the next level. In the division method, It means a method of preferentially acquiring additional division information, and other scanning methods not shown in the above example may be included and selected.

또한, 구현에 따라서, 블록 분할부는 전술한 분할 플래그가 아닌 미리 정의된 소정 형태의 블록 후보군에 대한 인덱스 정보를 생성하여 이를 표현할 수 있다. 블록 후보군의 형태는, 예를 들어, 분할 전 블록에서 가질 수 있는 분할 블록의 형태로서 M×N, M/2×N, M×N/2, M/4×N, 3M/4×N, M×N/4, M×3N/4, M/2×N/2 등을 포함할 수 있다. 위와 같이 분할 블록의 후보군이 결정되면 상기 분할 블록 형태에 대한 인덱스 정보를 고정 길이 이진화, 단삭 절단형 이진화, 절단형 이진화 등과 같은 다양한 방법을 통해 부호화할 수 있다. 위에서 설명한 분할 플래그와 같이 블록의 분할 깊이, 부호화 모드, 예측 모드, 크기, 형태, 종류 그리고 슬라이스 타입, 분할 허용 깊이 한계, 분할 허용 최소 및 최대 크기 등의 요인 중 최소 하나 이상의 요인 또는 이들의 조합에 따라 분할 블록 후보군이 결정될 수 있다. 다음 설명을 위해서 (M×N, M/2×N/2)를 후보 list1, (M×N, M/2×N, M×N/2, M/2×N/2)를 후보 list2, (M×N, M/2×N, M×N/2)를 후보 list3, (M×N, M/2×N, M×N/2, M/4×N, 3M/4×N, M×N/4, M×3N/4, M/2×N/2)를 후보 list4라 가정한다. 예를 들어, M×N을 기준으로 설명할 때, (M=N)일 경우에는 후보 list2의 분할 블록 후보를, (M≠N)일 경우에는 후보 list3의 분할 블록 후보를 지원할 수 있다.Also, according to the implementation, the block dividing unit may generate index information for a block candidate group of a predetermined type, which is not the division flag described above, and express it. M × N, M × N, M × N / 2, M / 4 × N, 3M / 4 × N, and M × N are the types of block candidates, M × N / 4, M × 3N / 4, M / 2 × N / 2, and the like. When the candidate group of the divided block is determined as described above, the index information for the divided block type can be encoded by various methods such as fixed length binarization, truncated binarization, truncated binarization, and the like. As with the division flag described above, at least one factor or a combination of factors such as a block depth, a coding mode, a prediction mode, a size, a type, a type and a slice type, a division allowable depth limit, The divided block candidate group can be determined. (M × N, M / 2 × N, M × N / 2, and M / 2 × N / 2) to the candidate lists 2, (M × N, M / 2 × N, M × N / 2, M / 4 × N, 3M / 4 × N, M × N / 4, M × 3N / 4, and M / 2 × N / 2) are assumed to be candidate list4. For example, when describing M × N as a reference, a divided block candidate of candidate list 2 can be supported when (M = N), and a divided block candidate of candidate list 3 if (M ≠ N).

다른 예로, M×N의 M 또는 N이 경계값(blk_th)보다 크거나 같을 경우에는 후보 list2의 분할 블록 후보를, 그보다 작을 경우에는 후보 list4의 분할 블록 후보를 지원할 수 있다. 또는, M또는 N이 제 1 경계값(blk_th_1)보다 크거나 같을 경우에는 후보 list1의 분할 블록 후보를, 제 1 경계값(blk_th_1)보다는 작지만 제 2 경계값(blk_th_2)보다는 크거나 같을 경우에는 후보 list2의 분할 블록 후보를, 제 2 경계값(blk_th_2)보다 작을 경우에는 후보 list4의 분할 블록 후보를 지원할 수 있다.As another example, if M × N of M or N is greater than or equal to the boundary value blk_th, the divided block candidate of the candidate list 2 can be supported, and if it is smaller than that, the divided block candidate of the candidate list 4 can be supported. Alternatively, when the M or N is equal to or greater than the first threshold value blk_th_1, if the divided block candidate of the candidate list 1 is smaller than the first threshold value blk_th_1 but equal to or greater than the second threshold value blk_th_2, If the divided block candidate of list2 is smaller than the second boundary value blk_th_2, the divided block candidate of the candidate list 4 can be supported.

다른 예로, 부호화 모드가 화면 내 예측인 경우 후보 list2의 분할 블록 후보를, 화면 간 예측인 경우 후보 list4의 분할 블록 후보를 지원할 수 있다.As another example, it is possible to support a divided block candidate of the candidate list 2 when the coding mode is intra-picture prediction and a divided block candidate of the candidate list 4 when inter prediction is performed.

상기와 같은 분할 블록 후보가 지원된다 하더라도 각각의 블록에서 이진화에 따른 비트 구성은 같을 수도, 다를 수도 있다. 예를 들어, 위의 분할 플래그에서의 적용과 같이 블록 크기 또는 형태에 따라 지원되는 분할 블록 후보가 제한된다면 해당 블록 후보의 이진화에 따른 비트 구성이 달라질 수 있다. 예컨대, (M>N)일 경우에는 가로 분할에 따른 블록 형태 즉, M×N, M×N/2, M/2×N/2를 지원할 수 있고, 분할 블록 후보군(M×N, M/2×N, M×N/2, M/2×N/2)에서의 M×N/2과 현재 조건의 M×N/2에 따른 인덱스의 이진 비트가 서로 다를 수 있다. 블록의 종류 예컨대 부호화, 예측, 변환, 양자화, 엔트로피, 인루프필터링 등에 사용되는 블록의 종류에 따라 분할 플래그 또는 분할 인덱스 방식 중 하나를 사용하여 블록의 분할 및 형태에 대한 정보를 표현할 수 있다. 또한, 각 블록 종류에 따라 분할 및 블록의 형태 지원에 대한 블록 크기 제한 및 분할 허용 깊이 한계 등이 다를 수 있다.Even if the divided block candidates are supported, the bit configuration according to the binarization in each block may be the same or different. For example, if the divided block candidates are limited according to the block size or type as in the case of the division flag, the bit configuration according to the binarization of the corresponding block candidate may be changed. M × N, M × N / 2 and M / 2 × N / 2 in the case of (M> N) The binary bits of the index according to the M × N / 2 of the current condition and the M × N / 2 of the current condition may be different from each other. Information on the segmentation and type of the block can be expressed using one of the segmentation flag or the segmentation index method according to the type of the block used for coding, prediction, conversion, quantization, entropy, in-loop filtering, and the like. In addition, block size limitation and division allowable depth limit for the partitioning and block type support may be different depending on each block type.

블록 단위의 부호화 또는 복호화 과정은 우선 부호화 블록이 결정된 후, 예측 블록 결정, 변환 블록 결정, 양자화 블록 결정, 엔트로피 블록 결정, 인루프 필터 결정 등의 과정에 따라 부호화 또는 복호화를 진행할 수 있다. 상기의 부호화 또는 복호화 과정에 대한 순서는 항상 고정적이지 않으며, 일부 순서가 변경되거나 제외될 수 있다. 상기 블록의 크기 및 형태의 후보별 부호화 비용에 따라 각 블록의 크기 및 형태가 결정되고, 결정된 각 블록의 영상 데이터 및 결정된 각 블록의 크기 및 형태 등의 분할 관련 정보들을 부호화할 수 있다.In the encoding or decoding process on a block-by-block basis, after the encoding block is determined, the encoding or decoding can be performed according to a process such as a prediction block determination, a transform block determination, a quantization block determination, an entropy block determination, and an in-loop filter determination. The order of the encoding or decoding process is not always fixed, and some of the sequences may be changed or excluded. The size and shape of each block are determined according to the coding cost of each candidate of the size and the shape of the block, and coding related information such as image data of each determined block and size and type of each determined block can be encoded.

예측부(200)는 소프트웨어 모듈인 예측 모듈(prediction module)을 이용하여 구현될 수 있고, 부호화할 블록에 대하여 화면 내 예측 방식이나 화면 간 예측 방식으로 예측 블록을 생성할 수 있다. 여기서, 예측 블록은 화소 차이의 관점에서, 부호화할 블록과 가깝게 일치하는 것으로 이해되는 블록이며, SAD(Sum of Absolute Difference), SSD(Sum of Square Difference)를 포함하는 다양한 방법으로 결정될 수 있다. 또한, 이때 영상 블록들을 복호화시에 사용될 수 있는 각종 구문(Syntax)들을 생성할 수도 있다. 예측 블록은 부호화 모드에 따라 화면 내 블록과 화면 간 블록으로 분류될 수 있다.The prediction unit 200 can be implemented using a prediction module, which is a software module, and can generate a prediction block using an intra-picture prediction scheme or an inter-picture prediction scheme for a block to be encoded. Here, the prediction block is a block which is understood to closely match the block to be encoded in terms of pixel difference, and can be determined by various methods including a Sum of Absolute Difference (SAD) and a Sum of Square Difference (SSD). At this time, various syntaxes that can be used in decoding the image blocks may be generated. The prediction block can be classified into an in-picture block and an inter-picture block according to an encoding mode.

화면 내 예측(intra prediction)은 공간적인 상관성을 이용하는 예측 기술로, 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 참조 화소들을 이용하여 현재 블록을 예측하는 방법을 말한다. 즉, 화면 내 예측은 예측과 복원으로 재구성된 밝기 값을 부호화기 및 복호화기에서 참조 화소로 사용할 수 있다. 화면 내 예측은 연속성을 갖는 평탄한 영역 및 일정한 방향성을 가진 영역에 대해 효과적일 수 있으며, 공간적인 상관성을 이용하기 때문에 임의 접근(random access)을 보장하고, 오류 확산을 방지하는 목적으로 사용될 수 있다.Intra prediction refers to a prediction technique that uses spatial correlation and predicts a current block using reference pixels of previously reconstructed and decoded blocks in the current picture. That is, the intra-picture prediction can use the reconstructed brightness value as prediction and restoration as reference pixels in the encoder and the decoder. Intra prediction can be effective for flat areas with continuity and areas with constant directionality, and it can be used for the purpose of guaranteeing random access and preventing error diffusion because it uses spatial correlation.

화면 간 예측(inter prediction)은 하나 이상의 과거 또는 미래 픽쳐에서 부호화된 영상을 참조하여 시간적인 상관성을 이용하여 데이터의 중복을 제거하는 압축 기법을 이용한다. 즉, 화면 간 예측은 하나 이상의 과거 또는 미래 픽쳐를 참조함으로써 높은 유사성을 갖는 예측 신호를 생성할 수 있다. 화면 간 예측을 이용하는 부호화기에서는 참조 픽쳐에서 현재 부호화하려는 블록과 상관도가 높은 블록을 탐색하고, 선택된 블록의 위치 정보와 잔차(residue) 신호를 복호화기로 전송할 수 있고, 복호화기는 전송된 영상의 선택 정보를 이용하여 부호화기와 동일한 예측 블록을 생성하고 전송된 잔차 신호를 보상하여 복원 영상을 구성할 수 있다.Inter prediction uses a compression technique that removes redundancy of data by using temporal correlation with reference to an image encoded in one or more past or future pictures. That is, the inter picture prediction can generate a prediction signal having high similarity by referring to one or more past or future pictures. In the encoder using inter-picture prediction, a block having a high degree of correlation with a block to be currently coded is searched in the reference picture, and the position information and residue signal of the selected block can be transmitted to the decoder. A reconstructed image can be constructed by generating the same prediction block as the encoder and compensating the transmitted residual signal.

도 4는 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 P 슬라이스의 화면 간 예측을 나타낸 예시도이다. 도 5는 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 B 슬라이스의 화면 간 예측을 나타낸 예시도이다.FIG. 4 is a diagram illustrating an inter-picture prediction of a P slice in an image encoding and decoding method according to an embodiment of the present invention. FIG. 5 is a diagram illustrating an inter-picture prediction of a B slice in an image encoding and decoding method according to an embodiment of the present invention.

본 실시예의 영상 부호화 방법에서, 화면 간 예측은 시간적으로 높은 상관성이 있는 이전에 부호화된 픽쳐로부터 예측 블록을 생성하기 때문에 부호화 효율을 높일 수 있다. Current(t)는 부호화할 현재 픽쳐를 의미할 수 있고, 영상 픽쳐의 시간적인 흐름 혹은 픽쳐 오더 카운트(Picture Order Count, POC)기준으로 할 때 현재 픽쳐의 POC보다 이전의 제1 시간적인 거리(t-1)를 가지는 제1 참조픽쳐(t-1)와 제1 시간적인 거리보다 이전의 제2 시간적인 거리(t-2)를 가지는 제2 참조픽쳐(t-2)를 포함할 수 있다. In the image coding method of this embodiment, the inter picture prediction generates a prediction block from a previously coded picture having a high temporal correlation, so that the coding efficiency can be increased. Current (t) may refer to a current picture to be coded and may be a temporal flow of a picture or a first temporal distance t (t) prior to the POC of the current picture on the basis of a picture order count 2 having a first temporal distance t-1 and a second temporal distance t-2 preceding the first temporal distance by a first reference picture t-1.

즉, 도 4에 도시한 바와 같이, 본 실시예의 영상 부호화 방법에 채용할 수 있는 화면 간 예측은 현재 픽쳐(current(t))의 현재 블록과 참조 픽쳐들(t-1, t-2)의 참조 블록들의 블록 매칭을 통해 상관성이 높은 블록을 이전에 부호화가 완료된 참조 픽쳐들(t-1, t-2)로부터 최적의 예측 블록을 찾는 움직임 추정을 수행할 수 있다. 정밀한 추정을 위해 필요에 따라 인접한 두 화소들 사이에 적어도 하나 이상의 부화소가 배열된 구조에 기반하는 보간(interpolation) 과정을 수행한 후, 최적의 예측 블록을 찾은 후에 움직임 보상을 하여 최종적인 예측 블록을 찾을 수 있다.4, inter-picture prediction that can be employed in the video coding method of this embodiment is the same as that of the current block of the current picture (current (t)) and that of the reference pictures (t-1, t-2) It is possible to perform motion estimation for finding an optimal prediction block from reference pictures (t-1, t-2) that have been previously encoded with a block having a high correlation through block matching of reference blocks. An interpolation process is performed based on a structure in which at least one or more sub-pixels are arranged between two adjacent pixels as necessary for accurate estimation, and after an optimal prediction block is found, motion compensation is performed, Can be found.

또한, 도 5에 도시한 바와 같이, 본 실시예의 영상 부호화 방법에 채용할 수 있는 화면 간 예측은 현재 픽쳐(current(t))을 기준으로 시간적으로 양방향에 존재하는 이미 부호화가 완료된 참조 픽쳐들(t-1, t+1)로부터 예측 블록을 생성할 수 있다. 또한, 1개 이상의 참조 픽쳐에서 2개의 예측 블록을 생성할 수 있다.5, inter-picture prediction that can be used in the image coding method of the present embodiment is based on the already-coded reference pictures (" current (t) " t-1, t + 1). In addition, two prediction blocks can be generated from one or more reference pictures.

화면 간 예측을 통해 영상의 부호화를 수행할 경우, 최적의 예측 블록에 대한 움직임 벡터 정보와 참조 픽쳐에 대한 정보를 부호화한다. 본 실시예에서는 단방향 또는 양방향으로 예측 블록을 생성할 경우 참조 픽쳐 리스트를 달리 구성하여 해당 참조 픽쳐 리스트로부터 예측 블록을 생성할 수 있다. 기본적으로 시간적으로 현재 픽쳐 이전에 존재하는 참조 픽쳐는 리스트 0에 할당되고 현재 픽쳐 이후에 존재하는 참조 픽쳐는 리스트 1에 할당되어 관리될 수 있다. 참조 픽쳐 리스트 0를 구성할 때, 참조 픽쳐 리스트 0의 참조 픽쳐 허용 개수까지 채우지 못할 경우 현재 픽쳐 이후에 존재하는 참조 픽쳐를 할당할 수 있다. 이와 비슷하게 참조 픽쳐 리스트 1을 구성할 때, 참조 픽쳐 리스트 1의 참조 픽쳐 허용 개수까지 채우지 못할 경우 현재 픽쳐 이전에 존재하는 참조 픽쳐를 할당할 수 있다.When encoding an image through inter-picture prediction, motion vector information for the optimal prediction block and information about the reference picture are encoded. In this embodiment, when a prediction block is generated in a unidirectional or bidirectional direction, a reference block list may be configured differently to generate a prediction block from the corresponding reference picture list. Basically, the reference pictures temporally present before the current picture are allocated to the list 0, and the reference pictures existing after the current picture are allocated to the list 1 and can be managed. The reference pictures existing after the current picture can be allocated when the reference picture list 0 can not be filled up to the reference picture list number 0 of the reference picture list 0. Similarly, when the reference picture list 1 is constructed, if the reference picture list 1 can not satisfy the reference picture list, the reference pictures existing before the current picture can be allocated.

도 6은 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 단방향으로 예측 블록을 생성하는 경우를 설명하기 위한 예시도이다.FIG. 6 is a diagram illustrating an example of generating a prediction block in a unidirectional manner in the image encoding and decoding method according to an embodiment of the present invention. Referring to FIG.

도 6을 참조하면, 본 실시예에 따른 영상 부호화 및 복호화 방법에서는 기존과 같이 이전에 부호화된 참조 픽쳐(t-1, t-2)로부터 예측 블록을 찾을 수 있고, 이에 더하여 현재 픽쳐(current(t))에 이미 부호화가 완료된 영역으로부터 예측 블록을 찾을 수 있다.Referring to FIG. 6, in the image encoding and decoding method according to the present embodiment, a prediction block can be found from a previously encoded reference picture t-1, t-2. In addition, a current picture t) from the region where coding has already been completed.

즉, 본 실시예에 따른 영상 부호화 및 복호화 방법에서는, 시간적으로 높은 상관성이 있는 이전에 부호화된 픽쳐(t-1, t-2)로부터 예측 블록을 생성한 것뿐만 아니라 공간적으로 상관성이 높은 예측 블록을 함께 찾도록 구현될 수 있다. 그러한 공간적으로 상관성이 높은 예측 블록을 찾는 것은 화면 내 예측의 방식으로 예측 블록을 찾는 것에 대응할 수 있다. 현재 픽쳐에서 부호화가 완료된 영역으로부터 블록 매칭을 수행하기 위해, 본 실시예의 영상 부호화 방법은 화면 내 예측 모드와 혼합하여 예측 후보와 관련된 정보에 대한 신택스(syntax)를 구성할 수 있다.That is, in the image encoding and decoding method according to the present embodiment, not only a prediction block is generated from a previously coded picture (t-1, t-2) having a temporally high correlation, but also a prediction block having a high spatial correlation As shown in FIG. Finding such a spatially highly correlated prediction block can correspond to finding a prediction block in a manner of intra prediction. In order to perform block matching from an area where coding is completed in the current picture, the image coding method of the present embodiment can construct a syntax for information related to the prediction candidate in combination with the intra-picture prediction mode.

예를 들어, n(n은 임의의 자연수) 가지의 화면 내 예측 모드를 지원하는 경우, 한 가지 모드를 화면 내 예측 후보군에 추가하여 n+1가지 모드를 지원하며 2M-1≤n+1<2M 를 만족시키는 M개의 고정 비트를 사용하여 예측 모드를 부호화할 수 있다. 또한, HEVC(high efficiency video coding)의 MPM(most probable mode)와 같이 가능성 높은 예측 모드의 후보군 중에서 선택하도록 구현될 수 있다. 또한, 예측 모드 부호화의 상위 단계에서 우선적으로 부호화할 수도 있다.For example, when n (n is an arbitrary natural number) branch prediction mode is supported, one mode is added to the intra prediction prediction candidate to support n + 1 modes and 2M-1? N + 1 &Lt; 2 &lt; M &gt; can be used to encode the prediction mode. In addition, it can be implemented to select among candidates of possible prediction modes such as MPM (most probable mode) of HEVC (high efficiency video coding). It is also possible to preferentially encode at a higher stage of prediction mode encoding.

현재 픽쳐에서 블록 매칭을 통해 예측 블록을 생성할 경우, 본 실시예의 영상 부호화 방법은 화면 간 예측 모드와 혼합하여 관련된 정보에 대한 신택스를 구성할 수도 있다. 추가적인 관련 예측 모드 정보로는 움직임 또는 이동(motion or displacement) 관련 정보가 이용될 수 있다. 움직임 또는 이동 관련 정보는 여러 벡터 후보 중 최적의 후보 정보, 최적의 후보 벡터와 실제 벡터와의 차분치, 참조 방향, 참조 픽쳐 정보 등을 포함할 수 있다.When a prediction block is generated through block matching in the current picture, the image coding method of the present embodiment may form a syntax for information related to mixing with the inter-picture prediction mode. Additional associated prediction mode information may be motion or displacement related information. The motion or motion-related information may include optimal candidate information among various vector candidates, a difference value between an optimal candidate vector and an actual vector, a reference direction, reference picture information, and the like.

도 7은 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 참조 픽쳐 리스트로부터 구성하는 예시도이다. 도 8은 본 발명의 일실시예에 따른 영상 부호화 및 복호화 방법에서 참조 픽쳐 리스트로부터 화면 간 예측을 수행하는 경우의 다른 예를 나타낸 예시도이다.FIG. 7 is a diagram illustrating a reference picture list constructed in a method of encoding and decoding images according to an exemplary embodiment of the present invention. Referring to FIG. FIG. 8 is a diagram illustrating an example of performing inter-picture prediction from a reference picture list in an image encoding and decoding method according to an embodiment of the present invention.

도 7을 참조하면, 본 실시예에 따른 영상 부호화 방법은, 현재 픽쳐(current(t))의 현재 블록에 대하여 각기 참조 픽쳐 리스트(reference list 0, reference list 1)로부터 화면 간 예측을 수행할 수 있다.7, an image encoding method according to an embodiment of the present invention can perform inter-picture prediction from a reference picture list (reference list 0) to a current block of a current picture current (t) have.

도 7 및 도 8을 참조하면, 참조 픽쳐 리스트 0은 현재 픽쳐(t) 이전의 참조 픽쳐로 구성할 수 있는데, t-1, t-2는 각각 현재 픽쳐(t)의 픽쳐 오더 카운트(Picture Order Count, POC)보다 이전의 제1 시간적인 거리(t-1), 제2 시간적인 거리(t-2)를 가지는 참조 픽쳐들을 지시한다. 또한, 참조 픽쳐 리스트 1은 현재 픽쳐(t) 이후의 참조 픽쳐로 구성할 수 있는데, t+1, t+2는 각각 현재 픽쳐(t)의 POC보다 이후의 제1 시간적인 거리(t+1), 제2 시간적인 거리(t+2)를 가지는 참조 픽쳐들을 지시한다.Referring to FIGS. 7 and 8, the reference picture list 0 may be composed of reference pictures before the current picture t, where t-1 and t-2 are the picture order counts of the current picture t The first temporal distance t-1 and the second temporal distance t-2, which are earlier than the reference picture P0, Count, POC. The reference picture list 1 can be composed of a reference picture after the current picture t and t + 1 and t + 2 respectively represent a first temporal distance t + 1 after the POC of the current picture t ) And a second temporal distance (t + 2).

참조 픽쳐 리스트 구성에 관한 전술한 예들은 시간적인 거리(본 예에서는 POC 기준)의 차이가 1인 참조 픽쳐들로 참조 픽쳐 리스트를 구성하는 예를 나타내고 있으나, 참조 픽쳐간의 시간적인 거리 차이를 다르게 구성할 수도 있다. 즉, 참조 픽쳐들의 인덱스 차이와 참조 픽쳐들의 시간적인 거리 차이가 비례하지 않을 수 있다는 것을 의미한다. 또한, 리스트 구성 순서를 시간적인 거리 기준으로 구성되지 않을 수도 있다. 이에 대한 내용은 후술할 참조 픽쳐 리스트 구성 예에서 확인할 수 있다.Although the above-described examples of the reference picture list construction show an example in which the reference picture list is composed of the reference pictures having the difference of the temporal distance (POC standard in this example), the difference in temporal distance between the reference pictures is configured differently You may. That is, the index difference of the reference pictures and the temporal distance difference of the reference pictures may not be proportional. In addition, the list arrangement order may not be constituted based on temporal distance. This can be confirmed in an example of the reference picture list construction to be described later.

슬라이스 타입(I, P 또는 B)에 따라 리스트에 있는 참조 픽쳐로부터 예측을 수행할 수 있다. 그리고 현재 픽쳐(current(t))에서 블록 매칭을 통해 예측 블록을 생성할 경우, 참조 픽쳐 리스트(reference list 0, reference list 1)에 현재 픽쳐를 추가하여 화면 간 예측 방식으로 부호화를 수행할 수 있다. The prediction can be performed from the reference picture in the list according to the slice type (I, P, or B). When a prediction block is generated by block matching in the current picture (current (t)), a current picture is added to a reference list (reference list 0), and coding is performed using an inter picture prediction scheme .

도 8에 도시한 바와 같이 참조 픽쳐 리스트 0(reference list 0)에 현재 픽쳐(t)를 추가하거나 또는 참조 픽쳐 리스트 1(reference list 1)에 현재 픽쳐(t)를 추가할 수 있다. 즉, 참조 픽쳐 리스트 0은 현재 픽쳐(t) 이전의 참조 픽쳐에 시간적인 거리(t)인 참조 픽쳐를 추가하여 구성할 수 있고, 참조 픽쳐 리스트 1은 현재 픽쳐(t) 이후의 참조 픽쳐에 시간적인 거리(t)인 참조 픽쳐를 추가하여 구성할 수도 있다. The current picture t can be added to the reference list 0 or the current picture t can be added to the reference list 1 as shown in FIG. That is, the reference picture list 0 can be constructed by adding a reference picture which is a temporal distance (t) to the reference picture before the current picture (t), and the reference picture list 1 is composed of time A reference picture that is a distance t may be added.

예를 들어, 참조 픽쳐 리스트 0를 구성할 때 현재 픽쳐 이전의 참조 픽쳐를 참조 픽쳐 리스트 0에 할당하고 이어 현재 픽쳐(t)를 할당할 수 있고, 참조 픽쳐 리스트 1을 구성할 때 현재 픽쳐 이후의 참조 픽쳐를 참조 픽쳐 리스트 1에 할당하고 이어 현재 픽쳐(t)를 할당할 수 있다. 또는, 참조 픽쳐 리스트 0를 구성할 때 현재 픽쳐(t)를 할당하고 이어 현재 픽쳐 이전의 참조 픽쳐를 할당할 수 있고, 참조 픽쳐 리스트 1을 구성할 때 현재 픽쳐(t)를 할당하고 이어 현재 픽쳐 이후의 참조 픽쳐를 할당할 수 있다. 또는, 참조 픽쳐 리스트 0을 구성할 때 현재 픽쳐 이전의 참조 픽쳐를 할당하고 이어 현재 픽쳐 이후의 참조 픽쳐를 할당하고 현재 픽쳐(t)를 할당할 수 있다. 이와 비슷하게 참조 픽쳐 리스트 1을 구성할 때 현재 픽쳐 이후의 참조 픽쳐를 할당하고 이어 현재 픽쳐 이전의 참조 픽쳐를 할당하고 현재 픽쳐(t)를 할당할 수 있다. 위의 예들은 전술한 경우에만 특정하는 것은 아니며 서로의 조건이 뒤바뀌는 경우도 포함할 수 있고, 다른 경우의 예로 변형 또한 가능하다. For example, when the reference picture list 0 is constructed, the reference picture prior to the current picture can be assigned to the reference picture list 0, and the current picture t can be allocated. When the reference picture list 1 is constructed, The reference picture can be assigned to the reference picture list 1 and then the current picture t can be allocated. Alternatively, when the reference picture list 0 is constructed, the current picture t can be allocated and the reference picture prior to the current picture can be allocated. When the reference picture list 1 is constructed, the current picture t is allocated, It is possible to assign subsequent reference pictures. Alternatively, when configuring the reference picture list 0, the reference picture prior to the current picture can be allocated, the reference picture after the current picture can be allocated, and the current picture t can be allocated. Similarly, when constructing the reference picture list 1, reference pictures after the current picture can be allocated, reference pictures before the current picture can be allocated, and the current picture t can be allocated. The above examples are not specific to the above-mentioned case, but may include cases where the conditions of each other are reversed, and examples of other cases may also be modified.

각 참조 픽쳐 리스트에 현재 픽쳐를 포함할 지 여부(예를 들어, 어떤 리스트에도 추가하지 않음 또는 리스트 0에만 추가 또는 리스트 1에만 추가 또는 리스트 0와 1에 같이 추가)는 부호화기 또는 복호화기에 동일한 설정이 가능하고, 이에 대한 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송이 가능하다. 이에 대한 정보는 고정 길이 이진화, 단삭 절단형 이진화, 절단형 이진화 등의 방법을 통해 부호화될 수 있다.Whether or not to include the current picture in each reference picture list (for example, not adding to any list, adding to list 0 only, or adding to list 1 or adding to lists 0 and 1) Information can be transmitted in units of sequences, pictures, slices, and the like. The information on this can be encoded by a method such as fixed-length binarization, truncation-type binarization, truncation-type binarization, and the like.

본 실시예의 영상 부호화 및 복호화 방법은, 도 7의 방법과 달리, 현재 픽쳐(t)에서 블록 매칭을 수행하여 예측 블록을 선택하고, 이러한 예측 블록에 대한 관련 정보를 포함하는 참조 픽쳐 리스트를 구성하며, 이러한 참조 픽쳐 리스트를 영상 부호화 및 복호화에 이용하는데 차이가 있다. The image encoding and decoding method of this embodiment differs from the method of FIG. 7 in that block matching is performed on the current picture t to select a prediction block, and a reference picture list including related information about the prediction block is constructed , There is a difference in that such a reference picture list is used for image coding and decoding.

참조 픽쳐 리스트 구성에 있어서 각 리스트 구성 순서 및 규칙, 각 리스트의 참조 픽쳐 허용 개수에 대한 설정을 달리할 수 있는데, 이는 현재 픽쳐의 리스트 포함여부(현재 픽쳐를 화면 간 예측에서의 참조 픽쳐로 포함할지 여부), 슬라이스 타입, 리스트 재구성 파라미터(리스트 0, 1에 각각 적용될 수도 있고, 리스트 0, 1에 같이 적용될 수도 있음), 픽쳐 집합(Group of Picture, GOP) 내의 위치, 시간적 계층 정보(temporal id) 등의 여러 요인 중 최소 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수도 있고, 명시적으로 관련 정보를 시퀀스, 픽쳐 등의 단위로 전송할 수 있다. 예를 들어, P 슬라이스인 경우 현재 픽쳐를 리스트에 포함하는 것과 관계없이 참조 픽쳐 리스트 0은 리스트 구성 규칙 A에 따를 수 있고, B 슬라이스인 경우 현재 픽쳐를 리스트에 포함하는 참조 픽쳐 리스트 0에는 리스트 구성 규칙 B, 참조 픽쳐 리스트 1에는 리스트 구성 규칙 C를 따를 수 있고, 현재 픽쳐를 포함하지 않는 참조 픽쳐 리스트 0에는 리스트 구성 규칙 D, 참조 픽쳐 리스트 1에는 리스트 구성 규칙 E에 따를 수 있으며, 리스트 구성 규칙 중 B와 D, C와 E는 같을 수도 있다. 리스트 구성 규칙은 상기 참조 픽쳐 리스트 구성 예에서 설명된 것과 같거나 변형된 방식으로 구성될 수 있다. 다른 예로, 현재 픽쳐를 리스트에 포함하는 경우에는 제 1 참조 픽쳐 허용 개수, 포함하지 않는 경우에는 제 2 참조 픽쳐 허용 개수를 설정할 수 있다. 제 1 참조 픽쳐 허용 개수와 제 2 참조 픽쳐 허용 개수는 같을 수도 있고 다를 수도 있으며, 제 1 참조 픽쳐 허용 개수와 제 2 참조 픽쳐 허용 개수의 차이가 1인 것을 기본 설정으로 둘 수도 있다. 다른 예로, 현재 픽쳐를 리스트에 포함하며 리스트 재구성 파라미터가 적용될 경우, 슬라이스 A에서는 모든 참조 픽쳐가 리스트 재구성 후보군이 될 수 있고, 슬라이스 B에서는 리스트 재구성 후보군에 일부 참조 픽쳐만 포함될 수 있다. 이 때, 슬라이스 A 또는 B는 현재 픽쳐의 리스트 포함여부, 시간적 계층 정보, 슬라이스 타입, 픽쳐 집합(Group of Picture, GOP) 내의 위치 등에 구분될 수 있고, 후보군에 포함 여부를 나누는 요인으로 참조 픽쳐의 픽쳐 오더 카운트(Picture Order Count, POC) 또는 참조 픽쳐 인덱스, 참조 예측 방향(현재 픽쳐 전후), 현재 픽쳐 여부 등에 의해 결정될 수 있다. In the reference picture list configuration, it is possible to set the order and the rule of each list and the allowable number of the reference pictures of the respective lists differently. This includes whether the current picture is included in the list (whether the current picture is included as a reference picture in inter- , A slice type, a list reconstruction parameter (which may be applied to lists 0 and 1 respectively, and may be applied to lists 0 and 1 respectively), a position in a group of pictures (GOP) And the like, or a combination of these factors, and can explicitly transmit related information in units of a sequence, a picture, or the like. For example, in the case of a P slice, the reference picture list 0 can follow the list construction rule A, regardless of whether the current picture is included in the list, and the reference picture list 0 that includes the current picture in the list in the case of B slice, Rule B and the reference picture list 1 can follow the list construction rule C, and the list construction rule D for the reference picture list 0 that does not include the current picture and the list construction rule E for the reference picture list 1, B and D, C and E may be the same. The list configuration rules may be configured in the same or modified manner as described in the above-described reference picture list configuration example. As another example, when the current picture is included in the list, the first reference picture allowable number can be set, and when not included, the second reference picture allowable number can be set. The first reference picture allowable number and the second reference picture allowable number may be equal to or different from each other and the difference between the first reference picture allowable number and the second reference picture allowable number may be set to 1 by default. As another example, if the current picture is included in the list and the list reconstruction parameter is applied, all the reference pictures in the slice A can be the list reconstruction candidates, and the slice B can include only some reference pictures in the list reconstruction candidate group. At this time, the slice A or B can be classified into whether or not the current picture is included in a list, temporal layer information, slice type, position in a group of pictures (GOP), and the like. A picture order count (POC) or a reference picture index, a reference prediction direction (before and after the current picture), whether or not the current picture is present, and the like.

전술한 구성에 의하면, 현재 픽쳐에서 화면 간 예측으로 부호화된 참조 블록을 이용할 수 있으므로, I 슬라이스의 움직인 예측에서도 화면 간 예측을 허용 또는 이용할 수 있게 된다.According to the above-described structure, the reference block encoded with the inter-picture prediction can be used in the current picture, so that inter-picture prediction can be allowed or utilized even in the moving prediction of the I-slice.

또한, 참조 픽쳐 리스트를 구성할 때, 슬라이스 타입에 따라 인덱스 할당 또는 리스트 구성 순서를 달리할 수 있다. I 슬라이스의 경우, 현재 픽쳐(current(t))에서 상기 참조 픽쳐 리스트 구성 예와 같이 우선순위를 높게 하여 더 적은 인덱스(예를 들어, idx=0, 1, 2와 같이)를 사용하고, 해당 참조 픽쳐 리스트의 참조 픽쳐 허용 개수(C)를 최대값으로 하는 이진화(고정 길이 이진화, 단삭 절단형 이진화, 절단형 이진화 등) 통해 영상 부호화에서의 비트량을 줄일 수 있다. 또한, P 또는 B 슬라이스의 경우, 현재 픽쳐에서 블록 매칭을 수행하여 현재 블록의 참조 픽쳐를 예측 후보로 선택할 확률이 다른 참조 픽쳐를 통해 예측 후보를 선택하는 확률보다 낮다고 판단되는 상황이라 하면, 현재 픽쳐의 블록 매칭에 대한 우선순위를 뒤로 설정하여 더 높은 인덱스(예를 들어, idx= C, C-1와 같이)를 사용하여 해당 참조 픽쳐 리스트의 참조 픽쳐 허용 개수를 최대값으로 하는 다양한 방법의 이진화를 통해 영상 부호화에서의 비트량을 줄일 수 있다. 위의 예에서 현재 픽쳐의 우선순위 설정은 상기 참조 픽쳐 리스트 구성 예에서 설명된 것과 같거나 변형된 방식으로 구성될 수 있다. 또한, 슬라이스 타입에 따라(예를 들어, I 슬라이스) 참조 픽쳐 리스트를 구성하지 않음으로써 참조 픽쳐에 대한 정보를 생략하는 것이 가능하다. 예컨대, 기존의 화면 간 예측을 통해 예측 블록을 생성하되 화면 간 예측 모드에서의 움직임 정보에서 참조 픽쳐 정보를 제외한 나머지로 화면간 예측 정보를 표현할 수 있다. Further, when constructing the reference picture list, the index allocation or the list construction order may be different according to the slice type. In the case of the I-slice, a lower index (for example, idx = 0, 1, 2) is used in the current picture (current (t)) with a higher priority as in the reference picture list structure example, It is possible to reduce the bit amount in the image encoding through the binarization (fixed length binarization, chopping-type binarization, truncation-type binarization, etc.) with the maximum allowable reference picture number C of the reference picture list. In the case of the P or B slice, when it is judged that the block matching is performed in the current picture and it is judged that it is lower than the probability of selecting the prediction candidate through the reference picture having a different probability of selecting the reference picture of the current block as the prediction candidate, The binarization of various methods of setting the priority for the block matching of the reference picture list to the maximum value using a higher index (for example, idx = C, C-1) The amount of bits in the image encoding can be reduced. In the above example, the priority setting of the current picture can be configured in the same or modified manner as that described in the reference picture list configuration example. In addition, it is possible to omit the information on the reference picture by not constructing the reference picture list according to the slice type (for example, I slice). For example, it is possible to generate a prediction block through the existing inter-view prediction, but to display the inter-view prediction information with the remainder excluding the reference picture information in the motion information in the inter-picture prediction mode.

현재 픽쳐에서 블록 매칭을 수행하는 방식은 슬라이스 타입에 따라 지원 여부를 결정할 수 있다. 예를 들어, 현재 블록에서의 블록 매칭을 I 슬라이스에서는 지원하지만 P 슬라이스나 B 슬라이스에서는 지원하지 않도록 설정할 수도 있고, 다른 예로의 변형 또한 가능하다. 또한, 현재 픽쳐에서 블록 매칭을 지원하는 방식은 픽쳐, 슬라이스, 타일 등 단위로 지원 여부를 결정할 수도 있고, 픽쳐 집합(Group of Picture, GOP) 내의 위치, 시간적 계층 정보(temporal ID) 등에 따라 결정할 수도 있다. 이러한 설정 정보는 영상 부호화 과정이나 부호화기에서 복호화기로 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송될 수 있다. 또한, 상위 레벨 단위에서 위와 관련된 설정 정보 또는 신택스가 존재하며 설정 관련 동작이 온(on)되는 상황이라도 하위 레벨 단위에서 위와 동일한 설정 정보 또는 신택스가 존재할 때, 하위 레벨 단위에서의 설정 정보가 상위 레벨 단위에서의 설정 정보를 우선할 수 있다. 예를 들어, 동일 또는 유사한 설정 정보를 시퀀스, 픽쳐, 슬라이스에서 처리한다면, 시퀀스 단위보다는 픽쳐 단위가, 픽쳐 단위보다는 슬라이스 단위가 우선순위를 가질 수 있다.The method of performing block matching in the current picture can determine whether or not to support according to the slice type. For example, block matching in the current block is supported by I slices, but not P slices or B slices, or other variations are possible. In addition, the method of supporting block matching in the current picture may determine whether to support in units of pictures, slices, tiles, etc., or may be determined based on positions in a group of pictures (GOP), temporal layer information have. Such setting information may be transmitted in units of a sequence, a picture, a slice, or the like in an image encoding process or a decoder in an encoder. Further, even when the above setting information or syntax exists in the upper level unit and the setting related operation is turned on, when the same setting information or syntax exists in the lower level unit, the setting information in the lower level unit is changed to the upper level The setting information in the unit can be prioritized. For example, if the same or similar setting information is processed in a sequence, a picture, or a slice, a picture unit may have priority rather than a sequence unit, and a slice unit may have priority rather than a picture unit.

도 9는 본 발명의 일실시예에 따른 영상 부호화 방법에서 화면 내 예측을 설명하기 위한 예시도이다.9 is an exemplary diagram for explaining intra prediction in the image encoding method according to an embodiment of the present invention.

도 9를 참조하면, 본 실시예에 따른 화면 내 예측 방법은, 참조 화소 채움(reference sample padding), 참조 화소 필터링(reference sample filtering), 화면 내 예측(intra prediciton) 및 경계 필터링(boundary filtering)의 일련의 단계들을 포함할 수 있다.Referring to FIG. 9, the intra-frame prediction method according to the present embodiment includes a reference sample padding, a reference sample filtering, an intra predicting, and a boundary filtering. May comprise a series of steps.

참조 화소 채움 단계는 참조 화소 구성 단계의 예시일 수 있고, 참조 화소 필터링 단계는 참조 화소 필터부로 지칭될 수 있고, 화면 내 예측은 예측 블록 생성 단계와 예측 모드 부호화 단계를 포함할 수 있으며, 경계 필터링은 후처리 필터 단계의 일실시예에 대한 예시일 수 있다.The reference pixel filling step may be an example of a reference pixel forming step, the reference pixel filtering step may be referred to as a reference pixel filter section, the intra prediction may include a prediction block generating step and a prediction mode coding step, May be an example for one embodiment of the post-processing filter step.

즉, 본 실시예의 영상 부호화 장치에서 실행되는 화면 내 예측은 참조 화소 구성 단계, 참조 화소 필터링 단계, 예측 블록 생성 단계, 예측 모드 부호화 단계 및 후처리 필터링 단계를 포함할 수 있다. 여러 가지 환경 요인 예컨대, 블록 크기, 블록의 형태, 블록 위치, 예측 모드, 예측 방법, 양자화 파라미터 등에 따라서 전술한 과정들 중 하나 또는 일부는 생략될 수 있고, 다른 과정이 추가될 수도 있으며, 위에 기재된 순서가 아닌 다른 순서로 변경될 수 있다.That is, the intra-picture prediction performed in the image encoding apparatus of the present embodiment may include a reference pixel configuration step, a reference pixel filtering step, a prediction block generation step, a prediction mode encoding step, and a post-processing filtering step. Depending on various environmental factors such as block size, block type, block location, prediction mode, prediction method, quantization parameter, etc., one or a part of the above processes may be omitted and another process may be added, It can be changed in a different order than the order.

전술한 참조 화소 구성 단계, 참조 화소 필터링 단계, 예측 블록 생성 단계, 예측 모드 부호화 단계 및 후처리 필터링 단계는 메모리에 저장되는 소프트웨어 모듈들을 메모리에 연결되는 프로세서가 실행하는 형태로 구현될 수 있다. 따라서 이하의 설명에서는 설명의 편의상 각 단계를 구현하는 소프트웨어 모듈과 이를 실행하는 프로세서의 조합에 의해 생성되는 기능부 또는 이러한 기능부의 기능을 수행하는 구성부로서 각각 참조 화소 구성부, 참조 화소 필터부, 예측 블록 생성부, 예측 모드 부호화부 및 후처리 필터부를 각 단계의 실행 주체로서 지칭하기로 한다.The reference pixel construction step, the reference pixel filtering step, the prediction block generation step, the prediction mode encoding step, and the post-processing filtering step may be implemented by a processor connected to a memory by executing software modules stored in the memory. Therefore, in the following description, for convenience of explanation, a functional unit generated by a combination of a software module implementing each step and a processor executing the function, or a constituent unit performing the function of the functional unit is referred to as a reference pixel unit, The prediction block generation unit, the prediction mode encoding unit, and the post-processing filter unit will be referred to as the execution subject of each step.

각 구성요소를 좀더 구체적으로 설명하면, 참조 화소 구성부는 참조 화소 채움을 통해 현재 블록의 예측에 사용될 참조 화소를 구성한다. 참조 화소가 존재하지 않거나 이용 불가한 경우, 참조 화소 채움은 이용가능한 가까운 화소로부터 값을 복사 등의 방법을 하여 참조 화소에 사용할 수 있다. 값의 복사에는 복원된 픽쳐 버퍼(decoded picture buffer, DPB)가 이용될 수 있다.More specifically, the reference pixel forming unit forms a reference pixel to be used for predicting the current block through reference pixel filling. If the reference pixel does not exist or is unavailable, the reference pixel filling can be used for the reference pixel by a method such as copying the value from the nearest usable pixel. A decoded picture buffer (DPB) may be used for copying the value.

즉, 화면 내 예측은 현재 픽쳐의 이전에 부호화가 완료된 블록들의 참조 화소를 사용하여 예측을 수행한다. 이를 위해, 참조 화소 구성 단계에서는 현재 블록의 이웃 블록 즉, 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위 블록들 등과 같은 인접한 화소들을 주로 참조 화소로 사용한다. 상기 참조 화소를 위한 이웃 블록의 후보군은 블록의 부호화 순서를 래스터 스캔(raster scan) 또는 제트 스캔(z-scan)를 따를 경우의 예시일 뿐, 역 제트 스캔(inverse z-scan) 등과 같은 스캔이 부호화 순서 스캔 방식으로 사용될 경우에는 위의 블록들에 추가로 오른쪽, 오른쪽 아래, 아래 블록 등과 같은 인접 화소들도 참조 화소로 사용할 수 있다.That is, the intra prediction uses the reference pixels of the blocks that have been encoded before the current picture to perform the prediction. To this end, adjacent pixels such as left, top, bottom left, top, and top right blocks of the current block are mainly used as reference pixels in the reference pixel configuration step. A candidate block of a neighboring block for the reference pixel is an example of a case where a coding sequence of a block is followed by a raster scan or a z-scan, and a scan such as an inverse z-scan In case of using the coding order scanning method, adjacent pixels such as right, lower right, and lower blocks in addition to the above blocks can be used as reference pixels.

또한, 구현에 따라서 화면 내 예측의 단계별 구성에 따라 바로 인접한 화소 외의 추가적인 화소들이 대체 또는 기존 참조 화소와 혼합되어 사용될 수 있다.Further, according to the implementation, additional pixels other than immediately adjacent pixels may be used as a substitute or mixed with an existing reference pixel according to the stepwise configuration of the intra prediction.

또한, 화면 내 예측의 모드 중 방향성을 갖는 모드로 예측이 되는 경우, 정수 단위의 참조 화소를 선형 보간을 통해 소수 단위의 참조 화소를 생성할 수 있다. 정수 단위 위치에 존재하는 참조 화소를 통해 예측을 수행하는 모드는 수직, 수평, 45도, 135도를 갖는 일부 모드를 포함하며, 위 예측 모드들에 대해서는 소수 단위의 참조 화소를 생성하는 과정은 필요하지 않을 수 있다. 상기 예측 모드를 제외한 다른 방향성을 가진 예측 모드들은 보간되는 참조 화소는 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 와 같이 1/2의 지수승의 보간 정밀도를 가질 수도 있고, 1/2의 배수의 정밀도를 가질 수도 있다. 이는 지원되는 예측 모드의 개수 또는 예측 모드의 예측 방향 등에 따라 보간 정밀도가 결정될 수 있기 때문이다. 픽쳐, 슬라이스, 타일, 블록 등에서 항상 고정적인 보간 정밀도를 지원할 수도 있고, 블록의 크기, 블록의 형태, 지원되는 모드의 예측 방향 등에 따라 적응적인 보간 정밀도가 지원될 수도 있다. 이 때, 모드의 예측 방향은 특정 선 기준(예를 들어, 좌표평면 상의 양<+>의 x축)으로 상기 모드가 가리키는 방향의 기울기 정보 또는 각도 정보로 표현될 수 있다.In addition, in the case of predicting a mode having a directionality among the modes of intra-picture prediction, it is possible to generate a reference pixel in decimal units through linear interpolation of reference pixels in integer units. The mode for performing the prediction through the reference pixel existing in the integer unit position includes some modes having vertical, horizontal, 45 degrees, and 135 degrees, and the process of generating reference pixels in decimal units for the above prediction modes is required I can not. In the prediction modes having other directionality except for the prediction mode, the interpolation reference pixels are interpolated at 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, May have precision, and may have a precision of a multiple of 1/2. This is because the interpolation accuracy can be determined according to the number of supported prediction modes or the prediction direction of the prediction mode. A fixed interpolation precision may always be supported in a picture, a slice, a tile, a block, etc., and an adaptive interpolation precision may be supported depending on a block size, a block type, a prediction direction of a supported mode, At this time, the prediction direction of the mode can be expressed by the inclination information or the angle information of the direction indicated by the mode on a specific line reference (for example, x + axis of the positive + on the coordinate plane).

보간 방법으로는 바로 인접한 정수 화소를 통해 선형 보간을 수행하기도 하지만 그 외의 보간 방법을 지원할 수 있다. 보간을 위해 1개 이상의 필터 종류 및 탭의 개수 예를 들어, 6-tap 위너 필터, 8-tap 칼만 필터 등을 지원할 수 있으며, 블록의 크기, 예측 방향 등에 따라 어떤 보간을 수행할 것인지를 결정할 수 있다. 또한, 관련 정보는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 전송될 수 있다. As an interpolation method, linear interpolation can be performed through adjacent integer pixels, but other interpolation methods can be supported. For interpolation, one or more filter types and the number of taps can be supported. For example, a 6-tap Wiener filter, an 8-tap Kalman filter, and so on can be determined. have. Further, the related information may be transmitted in units of a sequence, picture, slice, block, or the like.

참조 화소 필터부는 참조 화소를 구성한 후 부호화 과정에서 남아있는 열화를 줄여줌으로써 예측 효율을 높여줄 목적으로 참조 화소에 필터링을 수행할 수 있다. 참조 화소 필터부는, 블록의 크기, 형태 및 예측 모드에 따라 필터의 종류 및 필터링의 적용 유무를 묵시적 또는 명시적으로 결정할 수 있다. 즉, 같은 탭(tap)의 필터라도 필터 종류에 따라 필터 계수를 다르게 결정할 수 있다. 예를 들어, [1,2,1]/4, [1,6,1]/8과 같은 3 탭 필터를 사용할 수 있다.The reference pixel filter unit can filter the reference pixels for the purpose of improving the prediction efficiency by reducing the deterioration in the encoding process after the reference pixels are constructed. The reference pixel filter unit can implicitly or explicitly determine the type of the filter and the application of the filtering according to the size, type, and prediction mode of the block. That is, even if the filter is the same tap, the filter coefficient can be determined differently depending on the filter type. For example, you can use a 3-tap filter such as [1,2,1] / 4, [1,6,1] / 8.

또한, 참조 화소 필터부는, 추가적으로 비트를 보낼지 안 보낼지를 결정하여 필터링 적용 여부를 결정할 수 있다. 예를 들어, 묵시적인 경우, 참조 화소 필터부는 주변 참조 블록에서의 화소들의 특성(분산, 표준편차 등)에 따라 필터링 적용 여부를 판단할 수 있다.In addition, the reference pixel filter unit can determine whether to apply filtering by determining whether to send additional bits or not. For example, in an implied case, the reference pixel filter unit can determine whether to apply filtering according to the characteristics (dispersion, standard deviation, and the like) of the pixels in the peripheral reference block.

또한, 참조 화소 필터부는, 관련 플래그가 잔차 계수, 화면 내 예측 모드 등에 기설정된 숨김(hiding) 조건을 만족하는 경우, 필터링 적용 여부를 판단할 수 있다. 필터의 탭수는, 예를 들어, 작은 블록(blk)에서는 [1,2,1]/4와 같은 3-tap, 큰 블록(blk)에서는 [2,3,6,3,2]/16과 같은 5-tap으로 설정될 수 있고, 적용 횟수는 필터링을 수행하지 않을 것인지, 1번 필터링할 것인지, 2번 필터링할 것인지 등으로 결정될 수 있다.In addition, the reference pixel filter unit may determine whether or not the filtering is applied when the related flag satisfies a predetermined hiding condition such as a residual coefficient, an intra prediction mode, and the like. The number of taps of the filter is, for example, 3-tap such as [1,2,1] / 4 in a small block (blk), [2,3,6,3,2] / 16 in a large block The same 5-tap may be set, and the number of times of application may be determined by whether to perform filtering, whether to perform filtering once, or to perform filtering twice.

또한, 참조 화소 필터부는 현재 블록의 가장 인접한 참조 화소에 대해 기본적으로 필터링을 적용할 수 있다. 가장 인접한 참조 화소 외에 추가적인 참조 화소들 또한 필터링 과정에 고려될 수 있다. 예를 들어, 가장 인접한 참조 화소를 대체하여 추가적인 참조 화소들에 필터링을 적용할 수도 있고, 가장 인접한 참조 화소에 추가적인 참조 화소들을 혼용하여 필터링을 적용할 수도 있다.Also, the reference pixel filter unit can basically apply filtering to the nearest reference pixel of the current block. Additional reference pixels besides the nearest reference pixel may also be considered in the filtering process. For example, filtering may be applied to additional reference pixels by replacing the nearest reference pixel, or filtering may be applied by mixing additional reference pixels with the nearest reference pixel.

상기 필터링은 고정적 또는 적응적으로 적용될 수 있는데, 이는 현재 블록의 크기 또는 이웃 블록의 크기, 현재 블록 또는 이웃 블록의 부호화 모드, 현재 블록과 이웃 블록의 블록 경계 특성(예를 들어, 부호화 단위의 경계인지 변환 단위의 경계인지 등), 현재 블록 또는 이웃 블록의 예측 모드 또는 방향, 현재 블록 또는 이웃 블록의 예측 방식, 양자화 파라미터 등의 요인 중에서 최소 하나 이상의 요인 또는 이들의 조합에 따라 결정이 될 수 있다. 이에 대한 결정은 부호화기 또는 복호화기에 동일한 설정을 가질 수 있고(묵시적), 부호화 비용 등을 고려하여 결정될 수도 있다(명시적). 기본적으로 적용되는 필터는 저역통과 필터(low pass filter)이며, 위에 명시된 여러 요인에 따라 필터 탭수, 필터 계수, 필터 플래그 부호화 여부, 필터 적용 횟수 등이 결정될 수 있으며, 이에 대한 정보는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위에서 설정이 가능하며, 관련 정보를 복호화기에 전송할 수 있다.The filtering may be applied either fixedly or adaptively, depending on the size of the current block or the size of the neighboring block, the encoding mode of the current block or neighboring block, the block boundary property of the current block and the neighboring block (e.g., A prediction mode or direction of a current block or a neighboring block, a prediction method of a current block or a neighboring block, a quantization parameter, and the like, or a combination thereof . The decision may be made on the same setting (implicit) in the encoder or decoder, and in the encoding cost (explicit). Basically, the filter applied is a low pass filter. Depending on various factors described above, the number of filter taps, the filter coefficient, whether or not the filter flag is encoded, and the number of filter application can be determined. Slice, block, or the like, and can transmit the related information to the decoder.

예측 블록 생성부는 화면 내 예측에 있어서 참조 화소를 통해 외삽 또는 보외(extrapolation) 방식이나, 참조 화소의 평균값(DC) 또는 평면(planar) 모드와 같은 내삽(interpolation) 방식이나, 참조 화소의 복사(copy) 방식으로 예측 블록을 생성할 수 있다. 참조 화소의 복사의 경우 하나의 참조 화소를 복사하여 하나의 이상의 예측 화소를 생성할 수도 있고, 하나 이상의 참조 화소를 복사하여 하나 이상의 예측 화소를 생성할 수 있으며, 복사한 참조 화소의 개수는 복사된 예측 화소의 개수와 동일하거나 적을 수 있다. The prediction block generation unit may perform an extrapolation or an extrapolation scheme through a reference pixel in intra-picture prediction, an interpolation scheme such as an average value (DC) or a planar mode of a reference pixel, a copy of a reference pixel ) Prediction block can be generated. In the case of copying a reference pixel, one reference pixel may be copied to generate one or more prediction pixels, one or more reference pixels may be copied to generate one or more prediction pixels, and the number of copied reference pixels may be copied May be equal to or less than the number of prediction pixels.

또한, 상기 예측 방식에 따라 방향성 예측 방식과 비방향성 예측 방식으로 분류가 가능하며, 상세하게는 방향성 예측 방식은 직선 방향성 방식과 곡선 방향성 방식으로 분류가 가능하다. 직선 방향성 방식은 외삽 또는 보외 방식을 차용하나 예측 블록의 화소는 예측 방향 선상에 놓인 참조 화소를 통해 생성하며, 곡선 방향성 방식은 외삽 또는 보외 방식을 차용하나 예측 블록의 화소는 예측 방향 선상에 놓인 참조 화소를 통해 생성하되 블록의 세부 방향성(예를 들어, 에지<Edge>)를 고려하여 화소 단위의 부분적인 예측 방향의 변경이 허용되는 방식을 의미한다. 본 발명의 영상 부호화 및 복호화 방법에서 방향성 예측 모드의 경우 직선 방향성 방식 위주로 설명을 할 것이다. 또한, 상기 방향성 예측 방식의 경우 인접한 예측 모드 간의 간격은 균등하거나 비균등일 수 있으며, 이는 블록의 크기 또는 형태에 따라 결정될 수 있다. 예를 들어, 블록 분할부를 통해 현재 블록이 M×N의 크기와 형태를 갖는 블록을 획득했을 때, M과 N이 같을 경우에는 예측 모드 간의 간격은 균등일 수 있으며, M과 N이 다를 경우에는 예측 모드 간의 간격은 비균등일 수 있다. 다른 예로, M이 N보다 큰 경우에는 수직 방향성을 갖는 모드들은 수직 모드(90도)에 가까운 예측 모드 사이에는 더 세밀한 간격을 할당하고, 수직 모드에 먼 예측 모드에는 넓은 간격을 할당할 수 있다. N이 M보다 큰 경우에는 수평 방향성을 갖는 모드들은 수평 모드(180도)에 가까운 예측 모드 사이에는 더 세밀한 간격을 할당하고, 수평 모드에 먼 예측 모드에는 넓은 간격을 할당할 수 있다. 위의 예들은 전술한 경우에만 특정하는 것은 아니며 서로의 조건이 뒤바뀌는 경우도 포함할 수 있고, 다른 경우의 예로 변형 또한 가능하다. 이 때, 예측 모드 간의 간격은 각 모드의 방향성을 나타내는 수치 기반으로 계산될 수 있으며, 예측 모드의 방향성은 방향의 기울기 정보 또는 각도 정보로 수치화될 수 있다.In addition, according to the prediction method, it is possible to classify into a directional prediction method and a non-directional prediction method. Specifically, the directional prediction method can be classified into a linear directional method and a curved directional method. The linear direction method uses extrapolation or extrapolation but the pixels of the prediction block are generated through the reference pixels lying on the prediction direction line. The curved directional method uses an extrapolation or an extrapolation method, but the pixels of the prediction block are referred to as a reference Means a scheme in which a partial prediction direction of a pixel is allowed to be changed in consideration of a detailed directionality of a block (for example, edge <Edge>). In the case of the directional prediction mode in the image encoding and decoding method of the present invention, a linear directional method will be mainly described. In the case of the directional prediction method, the intervals between adjacent prediction modes may be equal or unequal, and this may be determined according to the size or type of the block. For example, when a block with the size and shape of M × N is acquired by the block division, if the M and N are the same, the intervals between the prediction modes may be uniform. If M and N are different The intervals between the prediction modes may be unequal. As another example, when M is greater than N, modes with vertical orientation may allocate finer intervals between prediction modes close to the vertical mode (90 degrees), and wider spacings may be allocated to far modes in the vertical mode. When N is greater than M, modes with horizontal orientation may allocate finer intervals between prediction modes close to the horizontal mode (180 degrees), and wide spacing may be allocated to horizontal modes with far prediction mode. The above examples are not specific to the above-mentioned case, but may include cases where the conditions of each other are reversed, and examples of other cases may also be modified. In this case, the interval between the prediction modes can be calculated based on numerical values indicating the directionality of each mode, and the directionality of the prediction mode can be numerically expressed as directional inclination information or angle information.

또한, 위의 방법 외에 공간적인 상관성을 이용하는 다른 방법 등을 포함하여 예측 블록을 생성할 수 있다. 예를 들어, 현재 픽쳐를 참조 픽쳐 삼아 움직임 탐색 및 보상과 같은 화면 간 예측 방식을 이용한 참조 블록을 예측 블록으로 생성할 수 있다. 예측 블록 생성 단계는 상기 예측 방식에 따라 참조 화소를 사용하여 예측 블록을 생성할 수 있다. 즉, 상기 예측 방식에 따라 기존의 화면 내 예측 방식의 외삽, 내삽, 복사, 평균 등의 방향성 예측 또는 비방향성 예측 방식을 통해 예측 블록을 생성할 수 있고, 화면 간 예측 방식을 사용하여 예측 블록을 생성할 수 있으며, 그 외의 추가적인 방법도 사용될 수 있다.In addition, a prediction block including other methods using spatial correlation other than the above method can be generated. For example, a reference block using an inter picture prediction method such as motion search and compensation using a current picture as a reference picture can be generated as a prediction block. The prediction block generating step may generate the prediction block using the reference pixel according to the prediction method. That is, it is possible to generate a prediction block through directional prediction or non-directional prediction such as extrapolation, interpolation, copying, and averaging of the existing intra-picture prediction method according to the prediction method, And other additional methods may be used.

상기 화면 내 예측 방식은 부호화기 또는 복호화기의 동일한 설정 하에 지원될 수 있으며, 슬라이스 타입, 블록의 크기, 블록의 형태 등에 따라 결정될 수 있다. 화면 내 예측 방식은 상기 언급된 예측 방식 중 최소 하나 이상의 방식 또는 이들의 조합에 따라 지원될 수 있다. 화면 내 예측 모드는 상기 지원되는 예측 방식에 따라 구성될 수 있다. 지원되는 화면 내 예측 모드의 개수는 상기 예측 방식, 슬라이스 타입, 블록의 크기, 블록의 형태 등에 따라 결정될 수 있다. 상기 관련 정보들은 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위에서 설정 및 전송이 가능하다.The intra-picture prediction scheme may be supported under the same settings of an encoder or a decoder, and may be determined according to a slice type, a block size, a block type, and the like. The intra prediction scheme can be supported according to at least one of the above-mentioned prediction schemes or a combination thereof. The intra prediction mode can be configured according to the supported prediction mode. The number of intra prediction modes supported can be determined according to the prediction method, slice type, block size, block type, and the like. The related information can be set and transmitted in units of a sequence, a picture, a slice, and a block.

예측 모드 부호화에 의해 실행되는 예측 모드 부호화 단계는 부호화 비용 측면에서 각 예측 모드에 따른 부호화 비용이 최적인 모드를 현재 블록의 예측 모드로 결정할 수 있다.The prediction mode encoding step performed by the prediction mode encoding can determine the mode in which the encoding cost according to each prediction mode is optimal in terms of encoding cost as the prediction mode of the current block.

일례로, 예측 모드 부호화부는 예측 모드 비트를 줄이기 위한 목적으로 하나 이상의 이웃 블록의 모드를 현재 블록 모드 예측에 이용할 수 있다. 현재 블록의 모드와 동일할 확률이 높은 모드(most_probable_mode, MPM) 후보군으로 포함할 수 있는데, 이웃 블록의 모드들은 위의 후보군에 포함될 수 있다. 예를 들어, 현재 블록의 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위 등의 블록의 예측 모드를 위의 후보군에 포함할 수 있다.For example, the prediction mode encoding unit may use one or more neighboring block modes for current block mode prediction for the purpose of reducing prediction mode bits. (MPM) candidates that are likely to be the same as the current block mode, and the modes of neighboring blocks may be included in the above candidate group. For example, the prediction mode of the block such as the left, top left, bottom left, top, right top of the current block can be included in the above candidate group.

예측 모드의 후보군은 이웃 블록의 위치, 이웃 블록의 우선순위, 분할 블록에서의 우선순위, 이웃 블록의 크기 또는 형태, 기설정된 특정 모드, (색차 블록인 경우) 휘도 블록의 예측 모드 등의 요인 중 최소 하나 이상의 요인 또는 그들의 조합에 따라 구성될 수 있으며, 관련 정보는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 전송할 수 있다.The candidate group of the prediction mode includes the position of the neighboring block, the priority of the neighboring block, the priority in the divided block, the size or type of the neighboring block, the preset specific mode, and the prediction mode of the luminance block And may be configured according to at least one or more factors or combinations thereof, and the related information may be transmitted in units of a sequence, a picture, a slice, a block, or the like.

예를 들어, 현재 블록과 이웃한 블록이 2개 이상의 블록으로 분할되어 있을 경우, 분할된 블록 중 어느 블록의 모드를 현재 블록의 모드 예측 후보로 포함할 지는 부호화기 또는 복호화기의 동일한 설정하에 결정할 수 있다. 예를 들어, 현재 블록(M×M)의 이웃 블록 중 왼쪽 블록은 블록 분할부에서 쿼드 트리 분할을 수행하여 분할 블록이 3개로 구성되어 있으며 위에서 아래 방향으로 M/2×M/2, M/4×M/4, M/4×M/4의 블록을 포함할 경우, 블록 크기 기준으로 M/2×M/2 블록의 예측 모드를 현재 블록의 모드 예측 후보로 포함할 수 있다. 다른 예로, 현재 블록(N×N)의 이웃 블록 중 위쪽 블록은 블록 분할부에서 바이너리 트리 분할을 수행하여 분할 블록이 3개로 구성되어 있으며 왼쪽에서 오른쪽 방향으로 N/4×N, N/4×N, N/2×N의 블록을 포함할 경우, 기설정된 순서(왼쪽에서 오른쪽으로 우선순위가 할당됨)에 따라 왼쪽에서 첫번째 N/4×N 블록의 예측 모드를 현재 블록의 모드 예측 후보로 포함할 수 있다. For example, when a block adjacent to the current block is divided into two or more blocks, it is possible to decide which block mode of the divided blocks is included as a mode prediction candidate of the current block under the same setting of the encoder or the decoder have. For example, the left block among the neighboring blocks of the current block (M × M) is divided into three blocks by performing a quadtree partition in the block division block, and M / 2 × M / 2 and M / 4 × M / 4 and M / 4 × M / 4, the prediction mode of the M / 2 × M / 2 block can be included as the mode prediction candidate of the current block on the basis of the block size. As another example, the upper block among the neighboring blocks of the current block (N × N) is divided into three blocks by performing the binary tree division in the block division block, and N / 4 × N and N / 4 × N, and N / 2 × N blocks, the prediction mode of the first N / 4 × N block on the left according to a predetermined order (priority assigned from left to right) is set as a mode prediction candidate of the current block .

다른 예로, 현재 블록과 이웃한 블록의 예측 모드가 방향성 예측 모드일 경우, 해당 모드의 예측 방향과 인접한 예측 모드(상기 모드의 방향의 기울기 정보 또는 각도 정보 측면)를 현재 블록의 모드 예측 후보군에 포함할 수 있다. 또한, 기설정된 모드(planar, DC, 수직, 수평 등)은 이웃 블록의 예측 모드 구성 또는 조합에 따라 우선적으로 포함될 수 있다. 또한, 이웃 블록의 예측 모드 중 발생 빈도가 높은 예측 모드를 우선적으로 포함할 수 있다. 상기 우선순위는 현재 블록의 모드 예측 후보군에 포함될 가능성뿐만 아니라 상기 후보군 구성에서도 더 높은 우선 순위 또는 인덱스(즉, 이진화 과정에서 적은 비트를 할당 받을 확률이 높음을 의미)를 할당 받을 가능성을 의미할 수 있다.As another example, if the prediction mode of the block adjacent to the current block is the directional prediction mode, the prediction mode adjacent to the prediction direction of the current mode (inclination information of the direction of the mode or angle information side) can do. In addition, the predetermined modes (planar, DC, vertical, horizontal, etc.) may be preferentially included according to the prediction mode configuration or combination of neighboring blocks. In addition, a prediction mode having a high occurrence frequency among the prediction modes of neighboring blocks can be preferentially included. The priority may be a possibility to be allocated not only to the possibility of being included in the mode prediction candidate group of the current block but also a higher priority or index in the candidate group configuration (that is, a higher probability of allocating fewer bits in the binarization process) have.

다른 예로, 현재 블록의 모드 예측 후보군의 최대치가 k개이고, 왼쪽 블록은 현재 블록의 세로 길이보다 길이가 작은 m개의 블록으로 구성되며, 위쪽 블록은 현재 블록의 가로 길이보다 길이가 작은 n개의 블록으로 구성되면, 이웃 블록들의 분할 블록 합(m+n)이 k보다 클 때 기설정된 순서(왼쪽에서 오른쪽, 위쪽에서 아래쪽)에 따라 후보군을 채울 수 있고, 이웃 블록 분할들의 분할 블록 합(m+n)이 후보군의 최대치(k)보다 클 경우, 상기 이웃 블록(왼쪽 블록, 위쪽 블록)의 예측 모드에 상기 이웃 블록 위치 외 다른 이웃 블록(예를 들어, 왼쪽 아래, 왼쪽 위, 오른쪽 위 등)과 같은 블록의 예측 모드도 현재 블록의 모드 예측 후보군에 포함될 수 있다. 위의 예들은 전술한 경우에만 특정하는 것은 아니며 서로의 조건이 뒤바뀌는 경우도 포함할 수 있고, 다른 경우의 예로 변형 또한 가능하다.As another example, the maximum number of mode prediction candidates of the current block is k, the left block is composed of m blocks whose length is smaller than the length of the current block, and the upper block is n blocks whose length is shorter than the width of the current block (M + n) of neighboring blocks can be filled in according to a predetermined order (left to right, top to bottom) when the divided block sum (m + n) of neighboring blocks is larger than k, (E.g., lower left, upper left, upper right, etc.) other than the neighboring block position in the prediction mode of the neighboring block (left block, upper block) The prediction mode of the same block may be included in the mode prediction candidate group of the current block. The above examples are not specific to the above-mentioned case, but may include cases where the conditions of each other are reversed, and examples of other cases may also be modified.

이와 같이, 현재 블록의 모드의 예측을 위한 후보 블록은 특정 블록 위치에만 한정하지 않으며 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위에 위치하는 블록 중 최소 하나 이상의 블록으로부터 예측 모드 정보를 활용할 수 있으며, 상기 예에서와 같이 여러 요인들을 고려하여 현재 블록의 예측 모드 후보군을 구성할 수 있다. As described above, the candidate block for predicting the mode of the current block is not limited to a specific block position, and prediction mode information can be utilized from at least one block among left, upper left, lower left, upper and upper right blocks, The prediction mode candidate group of the current block can be configured in consideration of various factors as in the above example.

예측 모드 부호화부 현재 블록의 모드와 동일할 확률이 높은 모드(MPM) 후보군(본 예에서 후보군 1로 지칭함)과 그렇지 않은 모드 후보군(본 예에서 후보군 2로 지칭함)으로 분류할 수 있으며, 현재 블록의 예측 모드가 상기 후보군들 중 어느 후보군에 속하는지에 따라 예측 모드 부호화 과정이 달라질 수 있다. 전체 예측 모드는 후보군 1의 예측 모드와 후보군 2의 예측 모드의 합으로 구성될 수 있으며, 후보군 1의 예측 모드 개수와 후보군 2의 예측 모드 개수는 전체 예측 모드의 개수, 슬라이스 타입, 블록의 크기, 블록의 형태 등의 요인 중 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있다. 상기 후보군에 따라 동일한 이진화를 적용하거나 다른 이진화를 적용할 수 있다. 예를 들어, 후보군 1에는 고정 길이 이진화를, 후보군 2에는 단삭 절단형 이진화를 적용할 수도 있다. 위의 설명에서 후보군의 개수를 2개로 예를 들었지만, 현재 블록의 모드와 동일할 확률이 높은 모드 제 1 후보군, 현재 블록의 모드와 동일할 확률이 높은 모드 제 2 후보군, 그렇지 않은 모드 후보군 등과 같이 확장이 가능하며, 이의 변형 또한 가능하다.(MPM) candidate group (referred to as candidate group 1 in this example) and a mode candidate group (referred to as candidate group 2 in this example) having a high probability of being the same as the mode of the current block of the prediction mode encoding unit, The prediction mode encoding process may be changed depending on which candidate group among the candidate groups belongs. The total prediction mode may be composed of the sum of the prediction mode of the candidate group 1 and the prediction mode of the candidate group 2. The number of prediction modes of the candidate group 1 and the prediction group of the candidate group 2 may be the sum of the total number of prediction modes, The shape of the block, and the like, or a combination thereof. The same binarization may be applied or another binarization may be applied according to the candidate group. For example, fixed length binarization may be applied to candidate group 1, and truncation type binarization may be applied to candidate group 2. Although the number of candidate groups is exemplified in the above description, it is assumed that the number of the candidate groups is two, but the number of the candidate groups is not limited to the first candidate group having a high probability of being the same as the current block, the second candidate group having a high probability of being the same as that of the current block, It is expandable, and its variants are also possible.

후처리 필터부에 의해 실행되는 후처리 필터링 단계는, 현재 블록과 이웃 블록의 경계에 인접한 참조 화소와 인접한 현재 블록 내의 화소 간에 상관성이 높은 특성을 고려하여 이전 과정에서 생성한 예측 블록 중 일부 예측 화소는 경계에 인접한 하나 이상의 참조 화소와 하나 이상의 상기 예측 화소를 필터링하여 생성된 값으로 대체할 수 있고, 상기 블록의 경계에 인접한 참조 화소들간의 특성을 수치화한 값(예를 들어, 화소값의 차이, 기울기 정보 등)을 필터링 과정에 적용하여 생성된 값으로 상기 예측 화소를 대체할 수 있고, 위의 방법 외에 비슷한 목적(참조 화소를 통해 예측 블록의 일부 예측 화소를 보정)을 갖는 다른 방법 등이 추가될 수 있다. 후처리 필터부에 있어서, 필터의 종류 및 필터링 적용 유무는 묵시적 또는 명시적으로 결정될 수 있으며, 후처리 필터부에 사용되는 참조 화소와 현재 화소의 위치 및 개수, 그리고 적용되는 예측 모드의 종류 등은 부호화기 또는 복호화기에서 설정 가능하고, 관련 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송 가능하다.The post-processing filtering step performed by the post-processing filter unit may include filtering a part of the prediction blocks generated in the previous process in consideration of characteristics having high correlation between the reference block adjacent to the boundary between the current block and the neighboring block, May be replaced with a value generated by filtering one or more reference pixels adjacent to the boundary and one or more of the prediction pixels and a value obtained by digitizing the characteristics of reference pixels adjacent to the boundary of the block (for example, , Slope information, etc.) may be applied to the filtering process to replace the predictive pixel with a generated value, and a similar method (correction of some predictive pixels of the predictive block through a reference pixel) other than the above method Can be added. In the post-processing filter unit, the kind of the filter and whether or not the filtering is applied can be implicitly or explicitly determined. The reference pixel used in the post-processing filter unit, the position and the number of the current pixel, And can be set in an encoder or a decoder, and related information can be transmitted in units of a sequence, a picture, a slice, or the like.

또한, 후처리 필터링 단계에서는 상기 블록 경계 필터링(boundary filtering)과 같이 예측 블록 생성 후 추가적인 후처리 과정을 진행할 수 있다. 또한, 잔차 신호 획득 후 변환, 양자화 과정 및 그 역과정을 거쳐서 얻게된 잔차 신호와 예측 신호를 합하여 복원된 현재 블록을 위의 경계 필터링과 비슷하게 인접한 참조 블록의 화소의 특성을 고려하여 후처리 필터링을 수행할 수도 있다.In the post-processing filtering step, an additional post-processing process may be performed after the prediction block is generated, such as the boundary filtering. In addition, after reconstructing the residual signal obtained by acquiring the residual signal and adding the residual signal and the prediction signal obtained through the inverse process of the quantization process and the inverse process, the reconstructed current block is subjected to post-processing filtering in consideration of the characteristics of the neighboring reference block, .

최종적으로 전술한 과정을 통해 예측 블록을 선택 또는 획득하게 되며, 이 과정에서 나오는 정보는 예측 모드 관련 정보를 포함할 수 있고, 예측 블록의 획득 후 잔차 신호의 부호화를 위해 변환부(210)에 전달할 수 있다.Finally, the prediction block is selected or obtained through the above-described process. Information obtained in this process may include prediction mode related information, and after the prediction block is acquired, it is transmitted to the conversion unit 210 for encoding the residual signal .

도 10은 본 발명의 일실시예에 따른 영상 부호화 방법에서 P 슬라이스나 B 슬라이스에서의 예측 원리를 설명하기 위한 예시도이다.10 is an exemplary diagram for explaining a prediction principle in a P slice or a B slice in the image encoding method according to an embodiment of the present invention.

도 10을 참조하면, 본 실시예에 따른 영상 부호화 방법은, 모션 예측(motion estimation module) 및 보간(interpolation) 단계들을 포함할 수 있다. 모션 예측 단계에서 생성되는 모션 벡터, 참조 픽쳐 인덱스, 참조 방향에 대한 정보는 보간 단계로 전달될 수 있다. 모션 예측 단계와 보간 단계에서는 복원된 픽쳐 버퍼(decoded picture buffer, DPB)에 저장되는 값을 이용할 수 있다.Referring to FIG. 10, the image encoding method according to the present embodiment may include motion estimation module and interpolation steps. Information on the motion vector, the reference picture index, and the reference direction generated in the motion prediction step may be transmitted to the interpolation step. In the motion prediction step and the interpolation step, a value stored in the decoded picture buffer (DPB) can be used.

즉, 영상 부호화 장치는, 이전의 부호화된 픽쳐들에서 현재 블록과 유사한 블록을 찾기 위해 모션 예측(motion estimation)을 실행할 수 있다. 또한, 영상 부호화 장치는 소수 단위의 정밀도보다 정밀한 예측을 위해 참조 픽쳐의 내삽(interpolation)을 실행할 수 있다. 최종적으로 영상 부호화 장치는 예측 변수(predictor)를 통해 예측 블록을 획득하게 되며, 이 과정에서 나오는 정보는 움직임 벡터(motion vector), 참조 픽쳐 인덱스(reference picture index 또는 reference index), 참조 방향(reference direction) 등이 있으며, 이후 잔차 신호 부호화를 진행할 수 있다.That is, the image encoding apparatus can perform motion estimation to find a block similar to the current block in the previous encoded pictures. In addition, the image encoding apparatus can perform interpolation of a reference picture for precise prediction with respect to precision in decimal units. Finally, the image coding apparatus acquires a prediction block through a predictor. The information generated in this process includes a motion vector, a reference picture index, a reference direction, ), And the residual signal coding can be proceeded.

본 실시예에서는 P 슬라이스나 B 슬라이스에서도 화면 내 예측을 수행하기 때문에 화면 간 예측과 화면 내 예측을 지원하는 도 9와 같은 조합 방식의 구현이 가능하다.In this embodiment, the intra-picture prediction is performed on the P-slice or the B-slice, so that it is possible to implement a combination scheme as shown in FIG. 9 that supports inter-picture prediction and intra-picture prediction.

도 11은 예측 블록을 획득하는 과정을 설명하기 위한 예시도이다.11 is an exemplary diagram for explaining a process of acquiring a prediction block.

도 11을 참조하면, 본 실시예에 따른 영상 부호화 방법은, 참조 화소 채움(reference sample padding), 참조 화소 필터링(reference sample filtering), 화면 내 예측(intra prediction), 경계 필터링(boundary filtering), 모션 예측(motion estimation), 및 보간(interpolation)의 단계들을 포함할 수 있다.Referring to FIG. 11, an image encoding method according to an exemplary embodiment of the present invention includes reference sample padding, reference sample filtering, intra prediction, boundary filtering, Prediction, motion estimation, and interpolation.

영상 부호화 장치는, 현재 픽쳐에서 블록 매칭을 지원하는 경우, I 슬라이스에서의 예측 방식은 도 9에 도시한 구성이 아닌 도 11에 도시한 구성으로 구현 가능하다. 즉, 영상 부호화 장치는 I 슬라이스에서 예측 모드뿐만 아니라 P 슬라이스나 B 슬라이스에서만 발생하는 움직임 벡터, 참조 픽쳐 인덱스, 참조 방향 등의 정보를 예측 블록 생성에 이용할 수 있다. 다만, 참조 픽쳐가 현재라는 특성으로 인해 부분 생략 가능한 정보가 존재할 수 있다. 일례로, 참조 픽쳐가 현재 픽쳐인 경우 참조 픽쳐 인덱스, 참조 방향은 생략 가능하다.When the image encoding apparatus supports block matching in the current picture, the prediction method in the I-slice can be implemented by the configuration shown in FIG. 11 instead of the configuration shown in FIG. That is, the image encoding apparatus can use information such as a motion vector, a reference picture index, and a reference direction generated in only P-slice or B-slice as well as a prediction mode in I-slice for generating a prediction block. However, information that can be partially omitted may exist due to the characteristic that the reference picture is current. For example, when the reference picture is the current picture, the reference picture index and the reference direction can be omitted.

또한, 영상 부호화 장치는, 내삽(interpolation)을 적용하는 경우, 영상의 특성상 예컨대 컴퓨터 그래픽 등의 인공적인 영상의 특성상 소수 단위까지의 블록 매칭이 필요하지 않을 수 있기 때문에 이에 대한 수행 여부도 부호화기에서 설정할 수 있고, 이에 대해서 시퀀스, 픽쳐, 슬라이스 등의 단위 설정도 가능하다.In addition, when interpolation is applied, the image encoding apparatus may not be required to perform block matching up to a decimal unit due to the characteristics of an artificial image such as a computer graphic due to characteristics of an image. And a unit such as a sequence, a picture, and a slice can be set.

예를 들어, 영상 부호화 장치는, 부호화기의 설정에 따라 화면 간 예측에 사용되는 참조 픽쳐들의 내삽을 수행하지 않을 수 있고, 현재 픽쳐에서 블록 매칭을 하는 경우에만 내삽을 수행하지 않는 등의 다양한 설정을 할 수 있다. 즉, 본 실시예의 영상 부호화 장치는 참조 픽쳐들의 내삽 수행 여부에 대해 설정할 수 있다. 이 때, 참조 픽쳐 리스트를 구성하는 모든 참조 픽쳐 또는 일부 참조 픽쳐들에 내삽 수행 여부를 결정할 수 있다. 일례로, 영상 부호화 장치는, 어떤 현재 블록에서는 참조 블록이 존재하는 영상의 특성이 인공적인 영상이라 소수 단위로 블록 매칭을 할 필요가 없을 때에는 내삽을 수행하지 않고, 자연 영상이라 소수 단위로 블록 매칭을 할 필요가 있을 때는 내삽을 수행하도록 동작할 수 있다.For example, the image encoding apparatus may not perform interpolation of reference pictures used for inter-view prediction according to the setting of the encoder, and may perform various settings such as not interpolating only when block matching is performed in the current picture can do. That is, the image encoding apparatus of the present embodiment can set whether interpolation of reference pictures is performed or not. At this time, it is possible to determine whether to perform interpolation on all the reference pictures or some reference pictures constituting the reference picture list. For example, the image encoding apparatus does not perform interpolation when it is unnecessary to perform block matching on a fractional unit because the characteristic of an image in which a reference block exists in an existing block is an artificial image, Lt; RTI ID = 0.0 &gt; interpolation. &Lt; / RTI &gt;

또한, 영상 부호화 장치는, 블록 단위로 내삽을 수행한 참조 픽쳐에서 블록 매칭 적용 여부에 대한 설정이 가능하다. 예를 들어, 자연 영상과 인공 영상이 혼합되어 있을 경우 참조 픽쳐에 내삽을 수행하되 인공적인 영상의 부분을 탐색하여 최적의 움직임 벡터를 얻을 수 있는 경우에는 일정 단위(여기에서 정수 단위라고 가정)로 움직임 벡터를 표현할 수 있으며, 또한 선택적으로 자연 영상의 부분을 탐색하여 최적의 움직임 벡터를 얻을 수 있는 경우에는 다른 일정 단위(여기에서는 1/4 단위라고 가정)로 움직임 벡터를 표현할 수 있다.In addition, the image encoding apparatus can set whether or not block matching is applied in a reference picture interpolated on a block-by-block basis. For example, when a natural image and an artificial image are mixed, interpolation is performed on a reference picture, but when an optimal motion vector can be obtained by searching a part of an artificial image, a predetermined unit (here assumed to be an integer unit) A motion vector can be represented. In addition, when an optimal motion vector can be obtained by selectively searching a portion of a natural image, a motion vector can be expressed by another constant unit (here, 1/4 unit is assumed).

도 12는 본 발명의 일실시예에 따른 영상 부호화 방법의 주요 과정을 코딩 단위(coding unit)에서의 신택스로 설명하기 위한 예시도이다.FIG. 12 is an exemplary diagram illustrating a main process of the image encoding method according to an embodiment of the present invention with a syntax in a coding unit.

도 12를 참조하면, curr_pic_BM_enabled_flag는 현재 픽쳐에서 블록 매칭을 허용하는 플래그를 의미하고 시퀀스, 픽쳐 단위에서 정의 및 전송될 수 있으며, 이 때 현재 픽쳐에서 블록 매칭을 수행하여 예측 블록 생성하는 과정은 화면 간 예측을 통해 동작하는 경우를 의미할 수 있다. 그리고 잔차 신호를 부호화하지 않는 화면 간 기술인 cu_skip_flag는, I 슬라이스를 제외한 P 슬라이스나 B 슬라이스에서만 지원되는 플래그라고 가정할 수 있다. 그 경우, curr_pic_BM_enabled_flag가 온(on)이 되는 경우에 I 슬라이스에서도 블록 매칭(block maching, BM)을 화면 간 예측 모드에서 지원할 수가 있다.Referring to FIG. 12, curr_pic_BM_enabled_flag indicates a flag that allows block matching in the current picture, and can be defined and transmitted in units of a sequence and a picture. At this time, a process of generating a prediction block by performing block matching in the current picture It can mean the case of operating through prediction. It can be assumed that cu_skip_flag, which is an inter-screen technique that does not code the residual signal, is a flag that is supported only by the P slice or the B slice excluding the I slice. In this case, when curr_pic_BM_enabled_flag is turned on, block slicing (BM) can be supported in the inter-picture prediction mode also in the I-slice.

즉, 본 실시예의 영상 부호화 장치는 현재 픽쳐에 블록 매칭을 통해 예측 블록을 생성하는 경우에 스킵(skip)을 지원할 수 있으며, 블록 매칭 외의 화면 내 기술의 경우에도 스킵을 지원할 수 있다. 그리고 조건에 따라 I 슬라이스에서 스킵을 지원하지 않을 수도 있다. 이러한 스킵 여부는 부호화기 설정에 따라 결정될 수 있다.That is, the image encoding apparatus of the present embodiment can support skipping when generating a prediction block through block matching on the current picture, and can support skipping in the case of intra-picture description other than block matching. It may not support skipping on I slices depending on the condition. This skipping may be determined according to the encoder setting.

일례로, I 슬라이스에서 스킵을 지원할 경우, 특정 플래그인 if(cu_skip_flag)를 통해 예측 단위인 prediction_unit()으로 연결하여 잔차신호를 부호화하지 않고 블록 매칭을 통해 예측 블록을 복원 블록으로 바로 복원할 수 있다. 또한, 영상 부호화 장치는 현재 픽쳐에서 블록 매칭을 통해 예측 블록을 사용하는 방법을 화면 간 예측 기술로 분류하고, 그러한 구분을 특정 플래그인 pred_mode_flag를 통해 처리할 수 있다.For example, when the I-slice supports skipping, the predicted block may be directly connected to prediction_unit () through a specific flag if (cu_skip_flag) to restore the prediction block to the restoring block through block matching without coding the residual signal . In addition, the image encoding apparatus classifies the method of using the prediction block through block matching in the current picture into the inter-picture prediction technique, and can process the classification through pred_mode_flag, which is a specific flag.

즉, 영상 부호화 장치는, pred_mode_flag가 0이면 예측 모드를 화면 간 예측 모드(MODE_INTER)로 설정하고, 1이면 화면 내 예측 모드(MODE_INTRA)로 설정할 수 있다. 이것은 기존과 유사한 화면 내 기술이지만 기존의 구조와의 구분을 위해 I 슬라이스에서 화면 간 기술 또는 화면 내 기술로 분류될 수 있다. 즉, 본 실시예의 영상 부호화 장치는, I 슬라이스에서 시간적인 상관성을 이용하지 않지만 시간적인 상관성의 구조를 사용할 수 있다. part_mode는 부호화 단위에서 분할되는 블록의 크기 및 형태에 대한 정보를 의미한다.That is, if the pred_mode_flag is 0, the image encoding apparatus sets the prediction mode to the inter-picture prediction mode (MODE_INTER), and if the pred_mode_flag is 1, it can set the intra prediction mode (MODE_INTRA). This is an in-screen technology similar to the existing one, but it can be classified as an inter-screen technique or an in-screen technique in an I-slice to distinguish it from an existing structure. In other words, the image encoding apparatus of the present embodiment can use a temporal correlation structure without using temporal correlation in the I-slice. part_mode indicates information on the size and type of the block divided in the encoding unit.

도 13은 현재 픽쳐에서 블록매칭을 통해 예측 블록을 생성할 경우, 화면 간 예측에서와 같이 대칭형(symmetric type) 분할 또는 비대칭형(asymmetric type) 분할을 지원하는 예를 설명하기 위한 예시도이다.FIG. 13 is an exemplary diagram for explaining an example of supporting a symmetric type division or an asymmetric type division as in inter picture prediction when a prediction block is generated through block matching in the current picture.

도 13을 참조하면, 본 실시예에 따른 영상 부호화 방법은, 현재 픽쳐에서 블록 매칭을 통해 예측 블록을 생성하는 경우, 화면 간 예측에서와 같이 2N×2N, 2N×N, N×2N와 같은 대칭형(symmetric) 분할을 지원하거나, nL×2N, nR×2N, 2N×nU, 2N×nD와 같은 비대칭형(asymmetric) 분할을 지원할 수 있다. 이는 블록 분할부의 분할 방식에 따라 다양한 블록 크기 및 형태가 결정될 수 있다.Referring to FIG. 13, in the case of generating a prediction block through block matching in the current picture, the image encoding method according to the present embodiment generates a predictive block such as 2N × 2N, 2N × N, symmetric partitioning, or support asymmetric partitioning such as nL x 2N, nR x 2N, 2N x nU, and 2N x nD. It is possible to determine various block sizes and types according to the division method of the block dividing unit.

도 14는 화면 간 예측(Inter)에서 2N×2N, N×N을 지원할 수 있음을 설명하기 위한 예시도이다.14 is an exemplary diagram for explaining that 2N x 2N and N x N can be supported in inter-picture prediction (Inter).

도 14를 참조하면, 본 실시예에 따른 영상 부호화 방법은, 기존의 화면 내 예측에 사용하는 예측 블록 형태와 같이 2N×2N 및 N×N을 지원할 수 있다. 이는 블록 분할부에서 쿼드트리 분할 방식 또는 미리 정의된 소정의 블록 후보군에 따른 분할 방식 등을 통해 정사각 형태를 지원한 예이며, 화면 내 예측에서도 바이너리 트리 분할 방식 또는 미리 정의돈 소정의 블록 후보군에 직사각 형태를 추가하여 다른 블록 형태 또한 지원할 수 있으며, 이에 대한 설정은 부호화기에서 설정이 가능하다. 또한, 화면 내 예측 중 현재 픽쳐에 블록 매칭을 할 경우에만 스킵을 적용할 것인지, 기존의 화면 내 예측에도 적용할 것인지, 그 외의 새로운 화면 내 예측에 적용할 것인지 또한 부호화기에서 설정 가능하다. 이에 대한 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송될 수 있다.Referring to FIG. 14, the image encoding method according to the present embodiment can support 2N × 2N and N × N as well as a prediction block form used for intra-picture prediction. This is an example in which a square shape is supported through a quadtree division method in a block division unit or a division method according to a predefined block candidate group. In the case of intra-picture prediction, a binary tree division method or a predefined block Other types of blocks can be added by adding a type, and the setting for this can be set in the encoder. It is also possible to set whether the skip is to be applied to existing intra-picture prediction only or only to a new intra picture prediction when only block matching is to be performed on the current picture in intra-picture prediction. Information on this can be transmitted in units of a sequence, a picture, a slice, and the like.

감산부(205)는 부호화할 현재 블록의 화소값으로부터 예측부(200)로부터 생성되는 예측 블록의 화소값들을 감산하여 화소 차이값을 도출함으로써, 잔차 블록을 생성할 수 있다.The subtraction unit 205 can generate the residual block by subtracting the pixel values of the prediction block generated from the prediction unit 200 from the pixel values of the current block to be encoded to derive the pixel difference value.

변환부(210)는 감산부(205)에서 현재 블록과 화면 내 예측 또는 화면 간 예측을 통해 생성된 예측 블록과의 차분치인 잔차 블록을 전달받아 주파수 영역으로 변환한다. 변환 과정을 통해 잔차 블록의 각 화소는 변환 블록의 변환 계수에 대응된다. 변환 블록의 크기 및 형태는 부호화 단위와 같거나 작은 크기를 가질 수 있다. 또한, 변환 블록의 크기 및 형태는 예측 단위와 같을 수도 있고 작을 수도 있다. 영상 부호화 장치는 여러 예측 단위를 묶어서 변환 처리를 수행할 수 있다.The transforming unit 210 receives the residual block, which is the difference between the current block and the prediction block generated through intra-picture prediction or inter-picture prediction, in the subtracting unit 205, and converts the residual block into the frequency domain. Through the conversion process, each pixel of the residual block corresponds to the transform coefficient of the transform block. The size and shape of the transform block may be the same or smaller than the encoding unit. In addition, the size and shape of the conversion block may be the same as or smaller than the prediction unit. The image encoding apparatus can perform conversion processing by grouping various prediction units.

변환 블록의 크기 또는 형태는 블록 분할부를 통해 결정될 수 있으며, 블록 분할에 따라 정사각 형태 또는 직사각 형태의 변환을 지원할 수 있다. 부호화기 또는 복호화기에서 지원되는 변환 관련 설정 (지원되는 변환 블록의 크기, 형태 등)에 따라 상기 블록 분할 동작에 영향을 줄 수 있다. The size or type of the transform block can be determined through a block divider and can support square or rectangular transform according to the block division. The block dividing operation can be influenced by the conversion related setting (size, type, etc. of the supported conversion block) supported by the encoder or the decoder.

상기 변환 블록의 크기 및 형태의 후보별 부호화 비용에 따라 각 변환 블록의 크기 및 형태가 결정되고, 결정된 각 변환 블록의 영상 데이터 및 결정된 각 변환 블록의 크기 및 형태 등의 분할 정보들을 부호화할 수 있다.The size and the shape of each transform block are determined according to the cost of coding the candidates of the size and the shape of the transform block and the division information such as the determined image data of each transform block and the determined size and type of each transform block can be encoded .

변환은 1차원 변환 매트릭스에 의해 변환될 수 있다. (DCT, DST 등) 수평, 수직 단위로 각 변환 매트릭스가 적응적으로 사용될 수 있다. 적응적 사용의 예로는 블록의 크기, 블록의 형태, 블록의 종류(휘도 및 색차), 부호화 모드, 예측 모드 정보, 양자화 파라미터, 이웃 블록의 부호화 정보 등의 여러 요인으로 결정될 수 있다.The transform can be transformed by a one-dimensional transform matrix. (DCT, DST, etc.) Each transformation matrix can be adaptively used in horizontal and vertical units. Examples of the adaptive use may be determined by various factors such as the size of the block, the type of the block, the type of the block (luminance and chrominance), the encoding mode, the prediction mode information, the quantization parameter, and the encoding information of the neighboring block.

예를 들어, 화면내 예측의 경우, 예측 모드가 수평일 경우에는 수직 방향으로는 DCT 기반의 변환 매트릭스가, 수평 방향으로는 DST 기반의 변환 매트릭스가 사용될 수도 있다. 수직일 경우에는 수평 방향으로는 DCT 기반의 변환 매트릭스가, 수직 방향으로는 DST 기반의 변환 매트릭스가 사용될 수 있다. 변환 매트릭스는 위의 설명에서 나온 것에 한정되지 않는다. 이에 대한 정보는 묵시적 또는 명시적인 방법을 사용하여 결정될 수 있으며, 블록의 크기, 블록의 형태, 부호화 모드, 예측 모드, 양자화 파라미터, 이웃 블록의 부호화 정보 등에 요인 중 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있으며, 상기 관련 정보는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 전송할 수 있다.For example, in the case of intra prediction, if the prediction mode is horizontal, a DCT-based transformation matrix may be used in the vertical direction and a DST-based transformation matrix may be used in the horizontal direction. In the case of vertical, a DCT-based transformation matrix may be used in the horizontal direction and a DST-based transformation matrix may be used in the vertical direction. The transformation matrix is not limited to that shown in the above description. The information on this may be determined using an implicit or explicit method and may be determined according to one or more factors or a combination of factors such as the size of the block, the type of the block, the encoding mode, the prediction mode, the quantization parameter, And the related information can be transmitted in units of a sequence, a picture, a slice, a block, or the like.

여기서, 명시적인 방법을 사용을 할 경우를 고려하면, 수평 및 수직 방향에 대한 2개 이상의 변환 매트릭스를 후보군으로 두고 있을 경우, 각 방향마다 어떤 변환 매트릭스를 사용했는지에 대한 정보를 각각 보낼 수도 있고, 또는 수평, 수직 방향에 대해 각각 어떤 변환 매트릭스를 사용했는지에 대한 각 하나의 쌍으로 묶어 2개 이상의 쌍을 후보군으로 두어 어떤 변환 매트릭스를 수평, 수직 방향에서 사용했는지에 대한 정보를 전송할 수도 있다.Here, considering the case of using an explicit method, when two or more transformation matrices for horizontal and vertical directions are used as candidates, information on which transformation matrix is used for each direction may be respectively sent, Or a conversion matrix used for the horizontal and vertical directions, respectively, so that two or more pairs are set as candidates, and information on which conversion matrix is used in the horizontal and vertical directions may be transmitted.

또한, 영상의 특성을 고려하여 부분적인 변환 또는 전체적인 변환을 생략할 수 있다. 예를 들면, 수평 또는 수직 성분 둘 중 하나 또는 둘다 생략할 수 있다. 화면내 예측 또는 화면간 예측이 잘 이뤄지지 않아 현재 블록과 예측 블록의 차이가 크게 발생할 경우(즉, 잔차 성분이 클 때)에 이를 변환할 시 그에 따른 부호화 손실이 커질 수 있기 때문이다. 이는 부호화 모드, 예측 모드 정보, 블록의 크기, 블록의 형태, 블록의 종류(휘도 및 색차), 양자화 파라미터, 이웃 블록의 부호화 정보 등의 요인 중 최소 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있다. 위의 조건에 따라 묵시적 또는 명시적인 방법을 사용하여 이를 표현할 수 있고, 이에 대한 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송이 가능하다.In addition, the partial conversion or the entire conversion can be omitted in consideration of the characteristics of the image. For example, one or both of the horizontal or vertical components may be omitted. Intra-picture prediction or inter-picture prediction are not performed well, so that a coding loss due to the conversion when the difference between the current block and the prediction block is large (that is, when the residual component is large) may become large. This may be determined according to at least one of factors such as an encoding mode, prediction mode information, a size of a block, a type of a block, a type of a block (luminance and chrominance), a quantization parameter, encoding information of a neighboring block, . This can be expressed using an implicit or explicit method according to the above conditions, and information on this can be transmitted in units of sequence, picture, slice, and the like.

양자화부(215)는 변환부(210)에서 변환된 잔차 성분의 양자화를 수행한다. 양자화 파라미터는 블록 단위로 결정이 되며, 양자화 파라미터는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 설정될 수 있다.The quantization unit 215 performs quantization of the residual component that is transformed by the transform unit 210. The quantization parameter is determined on a block-by-block basis, and the quantization parameter can be set in units of a sequence, a picture, a slice, and a block.

일례로, 양자화부(215)는 현재 블록의 왼쪽, 왼쪽 위, 위쪽, 오른쪽 위, 왼쪽 아래 등의 이웃 블록으로부터 유도된 1개 또는 2개 이상의 양자화 파라미터를 사용하여 현재 양자화 파라미터를 예측할 수 있다.For example, the quantization unit 215 may predict the current quantization parameters using one or more quantization parameters derived from neighboring blocks such as left, top, top, right top, bottom bottom, etc. of the current block.

또한, 양자화부(215)는 이웃 블록으로부터 예측한 양자화 파라미터가 존재하지 않는 경우 즉, 블록이 픽쳐, 슬라이스 등의 경계에 있는 경우, 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송된 기본 파라미터와의 차분치를 출력 혹은 전송할 수 있다. 이웃 블록으로부터 예측한 양자화 파라미터가 존재하는 경우, 해당 블록의 양자화 파라미터를 사용하여 차분치를 전송할 수도 있다.If the quantization parameter predicted from the neighboring block does not exist, that is, if the block is located at the boundary of a picture, a slice, or the like, the quantization unit 215 calculates a difference with respect to a basic parameter transmitted in units of a sequence, a picture, Value can be output or transmitted. When the quantization parameter predicted from the neighboring block exists, the differential value may be transmitted using the quantization parameter of the block.

양자화 파라미터를 유도할 블록의 우선순위는 미리 설정할 수도 있고, 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송할 수 있다. 잔차 블록을 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization weighted matrix) 또는 이를 개량한 기법을 통해 양자화할 수 있다. 이는 1개 이상의 양자화 기법을 후보로 둘 수 있으며 부호화 모드, 예측 모드 정보 등에 의해 결정될 수 있다.The priority of the block from which the quantization parameter is to be derived may be set in advance or may be transmitted in units of a sequence, a picture, a slice, or the like. The residual block can be quantized through a dead zone uniform threshold quantization (DZUTQ), a quantization weighted matrix, or an improved technique. It can be set to one or more quantization schemes as candidates and can be determined by encoding mode, prediction mode information, and the like.

예를 들어, 양자화부(215)는 양자화 가중치 매트릭스를 화면 간 부호화, 화면 내 부호화 단위 등에 적용하기 위해 설정해 둘 수 있고, 또한 화면 내 예측 모드에 따라 다른 가중치 매트릭스를 둘 수도 있다. 양자화 가중치 매트릭스는 M×N의 크기로 블록의 크기가 양자화 블록 크기와 같다고 가정할 때, 각 주파수 성분의 위치마다 양자화 계수를 달리하여 구성할 수 있다. 그리고 양자화부(215)는 기존의 여러 양자화 방법 중 택일할 수도 있고, 부호화기 또는 복호화기의 동일한 설정하에 사용될 수도 있다. 이에 대한 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송 가능하다.For example, the quantization unit 215 may set the quantization weight matrix to be applied to inter picture coding, intra picture coding unit, or the like, or may set another weighting matrix according to the intra picture prediction mode. Assuming that the size of the block is equal to the size of the quantization block and the size of the block is M × N, the quantization weight matrix can be configured by varying the quantization coefficient for each frequency component position. The quantization unit 215 may be one of various existing quantization methods and may be used under the same setting of an encoder or a decoder. Information on this can be transmitted in units of a sequence, a picture, a slice, and the like.

한편, 도 2, 3에 도시한 역양자화부(220,315) 및 역변환부(225,320)는 위의 변환부(210) 및 양자화부(215)에서의 과정을 역으로 수행하여 구현될 수 있다. 즉, 역양자화부(220)는 양자화부(215)에서 생성된 양자화된 변환 계수를 역양자화할 수 있고, 역변환부(225)는 역양자화된 변환 계수를 역변환하여 복원된 잔차 블록을 생성할 수 있다. The inverse quantization units 220 and 315 and the inverse transform units 225 and 320 shown in FIGS. 2 and 3 may be implemented by reversing the processes in the transform unit 210 and the quantization unit 215 described above. That is, the inverse quantization unit 220 can dequantize the quantized transform coefficients generated in the quantization unit 215, and the inverse transform unit 225 can inversely transform the inversely quantized transform coefficients to generate a reconstructed residual block have.

도 2, 3에 도시한 가산부(230, 324)는 상기 복원된 잔차 블록의 화소값에 예측부로부터 생성되는 예측 블록의 화소값을 가산하여 복원 블록이 생성될 수 있다. 복원 블록은 부호화 및 복호화 픽쳐 버퍼(240, 335)에 저장되어 예측부 및 필터부에 제공될 수 있다.The adders 230 and 324 shown in FIGS. 2 and 3 may generate a restored block by adding the pixel values of the restored residual block to the pixel values of the predicted block generated from the predictor. The reconstruction block may be stored in the encoding and decoding picture buffers 240 and 335 and provided to the prediction unit and the filter unit.

필터부는 복원 블록에 디블록킹 필터(Deblocking Filter), 적응적 샘플 오프셋(Sample Adaptive Offset, SAO), 적응적 루프 필터(Adaptive Loop Filter, ALF) 등과 같은 인루프 필터를 적용할 수 있다. 디블록킹 필터는 부호화 및 복호화 과정에서 발생하는 블록 경계 사이의 왜곡을 제거하기 위해, 복원 블록을 필터링할 수 있다. SAO는 잔차 블록에 대하여, 화소 단위로 원본 영상과 복원 영상과의 차이를 오프셋으로 복원해주는 필터 과정이다. ALF는 예측 블록과 복원 블록 사이의 차이를 최소화하기 위해 필터링을 수행할 수 있다. ALF는 디블록킹 필터를 통해 복원된 블록과 현재 블록의 비교값을 기초로 필터링을 수행할 수 있다.An in-loop filter, such as a deblocking filter, an adaptive sample offset (SAO), an adaptive loop filter (ALF), etc., may be applied to the restoration block. The deblocking filter may filter the restoration block to remove distortion between block boundaries that occurs during the encoding and decoding processes. SAO is a filtering process that restores the difference between the original image and the reconstructed image by an offset, on a pixel-by-pixel basis, with respect to the residual block. The ALF can perform filtering to minimize the difference between the prediction block and the restoration block. The ALF can perform filtering based on the comparison value between the restored block and the current block through the deblocking filter.

엔트로피 부호화부(245)는 양자화부(215)를 통해 양자화된 변환 계수들을 엔트로피 부호화할 수 있다. 예를 들어, 컨텐스트 적응 가변 길이 코딩(CAVLC), 컨텍스트 적응 2진 산술 코딩(CABAC), 구문 기반 컨텍스트 적응 2진 산술 코딩(SBAC), 확률 간격 파티셔닝 엔트로피(PIPE) 코딩 등의 기법을 수행할 수 있다.The entropy encoding unit 245 can entropy-encode the transform coefficients quantized through the quantization unit 215. For example, techniques such as context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), syntax based context adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy (PIPE) .

엔트로피 부호화부(245)는 양자화 계수를 부호화한 비트열과 부호화된 비트열을 복호화하는데 필요한 다양한 정보들을 부호화 데이터에 포함할 수 있다. 부호화 데이터는 부호화된 블록 형태, 양자화 계수 및 양자화 블록이 부호화된 비트열 및 예측에 필요한 정보 등을 포함할 수 있다. 양자화 계수의 경우 2차원의 양자화 계수를 1차원으로 스캐닝할 수 있다. 양자화 계수는 영상의 특성에 따라 분포도가 달라질 수 있다. 특히, 화면 내 예측의 경우 계수의 분포가 예측 모드에 따라 특정한 분포를 가질 수 있기 때문에 스캔 방법을 달리 설정할 수 있다.The entropy encoding unit 245 may include various types of information necessary for decoding the quantized coefficient bit stream and the encoded bit stream in the encoded data. The encoded data may include a coded block type, a quantization coefficient, a bit string in which the quantization block is coded, and information necessary for prediction. In the case of the quantization coefficient, the two-dimensional quantization coefficient can be scanned in one dimension. The quantization factor may vary depending on the characteristics of the image. In particular, in the case of the intra prediction, since the distribution of coefficients can have a specific distribution according to the prediction mode, the scanning method can be set differently.

또한, 엔트로피 부호화부(245)는 부호화하는 블록의 크기에 따라 달리 설정될 수 있다. 스캔 패턴은 지그재그, 대각선, 래스터(raster) 등 다양한 패턴들 중 적어도 어느 하나 이상으로 미리 설정하거나 후보로 설정할 수 있으며, 부호화 모드, 예측 모드 정보 등에 의해 결정될 수 있고, 부호화기와 복호화기의 동일한 설정하에 사용될 수 있다. 이에 대한 정보는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송 가능하다.In addition, the entropy encoding unit 245 can be set differently according to the size of a block to be encoded. The scan pattern can be preset or candidate as at least one of various patterns such as zigzag, diagonal, and raster, and can be determined by the encoding mode, the prediction mode information, and the like, Can be used. Information on this can be transmitted in units of a sequence, a picture, a slice, and the like.

엔트로피 부호화부(245)에 입력되는 양자화된 블록(이하, 양자화 블록)의 크기는 변환 블록의 크기와 같거나 작을 수 있다. 또한, 양자화 블록은 2개 이상의 서브 블록으로 분할될 수 있으며, 분할된 경우에 분할 블록에서 스캔 패턴은 기존의 양자화 블록과 동일하게 설정할 수도 있고, 다르게 설정할 수도 있다.The size of a quantized block (hereinafter, a quantization block) input to the entropy encoding unit 245 may be equal to or smaller than the size of the transform block. In addition, the quantization block may be divided into two or more subblocks. In the case of division, the scan pattern in the divided block may be set to be the same as or different from that of the existing quantization block.

예를 들어, 기존의 양자화 블록의 스캔 패턴을 지그재그라고 할 경우, 서브 블록 모두에 지그재그를 적용할 수도 있고, 또는 DC 성분을 포함하는 블록의 좌측 상단에 위치하는 서브블록에 지그재그 패턴을 적용하고, 그 이외의 블록에는 대각선 패턴을 적용할 수 있다. 이 역시 부호화 모드, 예측 모드 정보 등에 따라 결정될 수 있다.For example, when a scan pattern of an existing quantization block is a zigzag, zigzag may be applied to all subblocks, or a zigzag pattern may be applied to a subblock located at the upper left of a block including a DC component, A diagonal pattern can be applied to other blocks. May also be determined according to the encoding mode, the prediction mode information, and the like.

또한, 엔트로피 부호화부(245)에서 스캔 패턴의 시작 위치는 기본적으로 좌측 상단으로부터 시작을 하나, 영상의 특성에 따라 우측 상단, 우측 하단 또는 좌측 하단에서 시작할 수 있으며, 2개 이상의 후보군 중 어느 것을 선택했는지에 대한 정보를 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송할 수 있다. 부호화 기술로서는 엔트로피 부호화 기술이 사용될 수 있으나 이에 한정되지 않는다.The start position of the scan pattern in the entropy encoding unit 245 basically starts from the upper left corner, but may start from the upper right corner, the lower right corner, or the lower left corner depending on the characteristics of the image. Information can be transmitted in units of a sequence, a picture, a slice, or the like. As the encoding technique, an entropy encoding technique may be used, but is not limited thereto.

한편, 도 2 및 도 3에 도시한 역양자화부(220)의 역양자화 및 역변환부(225)의 역변환은 위의 양자화부(215)의 양장화 및 변환부(210)의 변환 구조를 반대로 구성하고 기본적인 필터부(235, 330)를 조합하는 것으로 구현 가능하다.The inverse quantization and inverse transformation of the inverse quantization unit 225 of the inverse quantization unit 220 shown in FIGS. 2 and 3 is performed by reversing the transforming structure of the quantization unit 215 and the transformation unit 210 And the basic filter units 235 and 330 are combined.

이하에서, 화면 내 예측 구성 단계에 대해 좀 더 자세히 설명한다.Hereinafter, the in-picture prediction construction step will be described in more detail.

도 15는 HEVC의 화면내 예측 모드를 설명하는 예시도이다.15 is an exemplary diagram for explaining an intra-picture prediction mode of the HEVC;

도 15를 참조하면, 휘도 성분(Intra_fromLuma, 35)에 대해서는, 총 35개의 예측 모드가 있는데, 플레이너(Intra_planar, 0), 평균(Intra_DC, 1)을 포함하여 다양한 방향성을 가진 예측 모드가 있을 수 있다. 각 화살표 방향은 각각의 예측 모드에 대하여, 참조 화소를 이용하여 예측 블록을 구성하는 구성하는 방향을 지시할 수 있다.Referring to FIG. 15, there are a total of 35 prediction modes for the luminance component (Intra_fromLuma, 35). There may be prediction modes having various directions including a planer (Intra_planar, 0) and an average have. For each prediction mode, each arrow direction can designate a constituent direction constituting a prediction block by using a reference pixel.

도 16a는 참조 화소 구성 단계에서 현재 블록 예측에 사용되는 참조 화소를 설명하기 위한 예시도이다. 16A is an exemplary diagram for explaining reference pixels used in current block prediction in the reference pixel configuration step.

도 16a를 참조하면, 현재 블록을 기준으로 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위의 블록의 화소(A0~P0, X0)들이 참조 화소 후보군에 포함될 수 있다. 예를 들어, M×N 블록의 경우 좌상측 좌표 기준으로 p[0, -1]~p[(2×M) - 1, -1], p[-1,0]~p[-1, (2×N)-1], p[-1, -1]의 화소가 상기 후보군에 포함될 수 있다. 여기서, p[0, -1]은 A0에 상응하고, p[2×M - 1, -1]은 H0에 상응하고, p[-1, -1]은 X0에 상응할 수 있다. 상기 예에서는 2×(M+N)+1개의 참조 화소가 후보군에 포함될 수 있는데, 이는 블록의 크기, 블록의 형태, 예측 모드, 예측 방식, 슬라이스 타입 등의 요인 중 최소 하나 이상 또는 이들의 조합에 따라 결정될 수 있다. 예를 들어, 예측 모드에 따라 일부 참조 화소가 후보군에 추가될 수도 있고, 제외될 수도 있다. 다른 예로, 예측 방식에 따라 일부 참조 화소가 후보군에 추가될 수도 있고, 제외될 수도 있다.Referring to FIG. 16A, pixels (A 0 to P 0 , X 0 ) of the left, upper left, lower left, upper and upper right blocks based on the current block may be included in the reference pixel candidate group. For example, in the case of an M × N block, p [0, -1] to p [(2 × M) -1, -1], p [ (2xN) -1], p [-1, -1] may be included in the candidate group. Where p [0, -1] corresponds to A 0 , p [2 × M -1, -1] corresponds to H 0 , and p [-1, -1] corresponds to X 0 . In the above example, 2 × (M + N) +1 reference pixels may be included in the candidate group. This may be a combination of at least one of factors such as a block size, a block type, a prediction mode, &Lt; / RTI &gt; For example, some reference pixels may be added to the candidate group or excluded depending on the prediction mode. As another example, some reference pixels may be added to the candidate group or excluded depending on the prediction scheme.

도 16b는 이웃 블록의 추가적인 화소가 참조 화소 후보군에 포함된 것을 설명하기 위한 예시도이다.16B is an exemplary diagram for explaining that additional pixels of a neighboring block are included in a reference pixel candidate group.

도 16b를 참조하면, 예를 들어 M×N 블록의 경우 블록 내의 좌상측 좌표 기준으로 p[-1, -2]~p[(2×M) - 1, -2], p[-2, -1]~p[-2, (2×N)-1], p[-1, -1]의 화소를 새로운 참조 화소 후보군에 포함될 수 있다. 기존 참조 화소와의 차이를 나타내기 위해 제 1 참조 화소 라인(A0~P0, X0), 제 2 참조 화소 라인((A1~P1, X0, X10, X01, X11)으로 구분지을 수 있으며, 그 외 추가적인 참조 화소 라인이 새로운 참조 화소 후보군으로 포함될 수 있다. 상기 참조 화소 라인의 순번은 참조 화소와 현재 블록 간의 거리에 기반하여 정해질 수 있다.For example, in the case of an M × N block, p [-1, -2] to p [(2 × M) -1, -2], p [-2, -1] to p [-2, (2xN) -1], p [-1, -1] can be included in the new reference pixel candidate group. (A1 to P1, X0, X10, X01, and X11) to represent the difference from the existing reference pixel, and the first reference pixel line (A0 to P0, X0) An additional reference pixel line may be included as a new reference pixel candidate group. The order of the reference pixel lines may be determined based on the distance between the reference pixel and the current block.

상기 참조 화소 라인은 왼쪽, 왼쪽 위, 왼쪽 아래, 위쪽, 오른쪽 위의 블록의 화소들에 일괄적으로 적용된 경우일 수 있고, 하나의 이웃 블록 또는 둘 이상의 이웃 블록 단위로 참조 화소 라인을 구성할 수도 있다. 예를 들어, 왼쪽 블록의 화소를 대상으로 화소 라인을 구성할 때는 참조 화소 라인 L에 해당 블록의 화소를 구성할 수 있으며, 왼쪽 위, 위쪽, 오른쪽 위의 블록을 대상으로 화소 라인을 구성할 때는 참조 화소 라인 U에 해당 블록들의 화소를 구성할 수도 있다. 본 예에서는 이웃 블록에 일괄 적용되는 참조 화소 라인을 기준으로 설명할 것이다.The reference pixel line may be applied to the pixels of the left, upper left, lower left, upper, and upper right blocks collectively, or may constitute reference pixel lines by one neighboring block or two or more neighboring block units have. For example, when composing a pixel line with respect to the pixels in the left block, pixels of the block can be configured in the reference pixel line L. When constituting the pixel line in the upper left, upper, and upper right blocks, The pixels of the corresponding blocks may be formed in the reference pixel line U. In this example, reference pixel lines to be collectively applied to neighboring blocks will be described.

기존의 참조 화소 라인 외의 추가적인 참조 화소 라인을 추가할지 여부는 블록의 크기, 블록의 형태, 예측 모드, 예측 방식 등의 요인 중 하나 이상의 요인 또는 이들의 조합에 따라 결정될 수 있다. 또한, 기존의 참조 화소 라인의 사용 여부, 추가적인 참조 화소 라인의 사용 여부는 다양한 조합의 구성을 가질 수 있다. 예를 들어, 기존의 참조 화소 라인은 항상 사용하며 이에 추가적인 화소 라인 사용 여부가 결정될 수도 있으며, 기존 참조 화소 라인과 추가적인 화소 라인 사용 여부에 대해 각각 결정될 수도 있다. 이 밖에도 추가적인 화소 라인이 2가지 이상이라면 위의 설정과 관련한 다양한 조합이 가능하다. 또한, 참조 화소 라인이 이웃 블록에 일괄적으로 적용되지 않고 부분적으로 적용된 경우 역시 위의 설정과 관련한 다양한 조합을 가질 수 있다. Whether to add an additional reference pixel line other than the existing reference pixel line can be determined according to one or more factors or a combination of factors such as a size of a block, a shape of a block, a prediction mode, and a prediction method. In addition, whether or not the existing reference pixel line is used and whether or not the additional reference pixel line is used can have various combinations of configurations. For example, the conventional reference pixel line is always used, and the use of the additional pixel line may be determined, and it may be determined whether the existing reference pixel line and the additional pixel line are used or not. In addition, if there are two or more additional pixel lines, various combinations are possible in relation to the above setting. Also, when the reference pixel line is not applied collectively to neighboring blocks but partially applied, it is also possible to have various combinations with respect to the above settings.

또한, 참조 화소 라인의 허용하는 범위를 설정할 수 있다. 즉, 참조 화소 라인을 얼마만큼 추가할지에 대한 정보(최대값)을 부호화기/복호화기에서 설정할 수 있으며, 이는 현재 또는 이웃 블록의 형태, 현재 또는 이웃 블록의 크기 등 중 하나의 요인에 따라 또는 이들의 조합에 따라 결정될 수 있다. 참조 화소 라인의 순번은 작은 숫자일 경우 우선 순위가 높다고 볼 수 있지만, 이에 대한 가정이 관련 정보의 이진화 과정에까지 이어지지 않을 수 있다. 기설정된 조건 하에 상기 참조 화소 라인의 인덱스 정보 또는 식별자 정보가 생성될 수 있다. 상기 참조 화소 라인 인덱스 또는 식별자 정보는 단항 이진화, 절삭 단항 이진화 등과 같은 다양한 방법을 이진화를 수행할 수 있으며, 이와 관련하여 상기 참조 화소 라인 허용 최대값 정보에 따라 이진화가 결정될 수 있다.Further, the allowable range of the reference pixel line can be set. That is, the information (maximum value) about how much the reference pixel line is to be added can be set in the encoder / decoder, depending on one factor such as the current or neighboring block type, current or neighboring block size, As shown in FIG. If the order of the reference pixel lines is a small number, the priority may be high, but the assumption may not lead to the process of binarizing related information. Index information or identifier information of the reference pixel line may be generated under predetermined conditions. The reference pixel line index or identifier information may be binarized by various methods such as unary binarization, cutting unary binarization, and the like, and binarization may be determined according to the reference pixel line allowable maximum value information.

참조 화소 라인 구성에 이웃 블록들이 일괄적으로 적용된 경우와 그렇지 않을 경우 또한 위의 설정과 관련한 다양한 조합을 가질 수 있다. 상기 참조 화소 라인에 관련 정보들은 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 전송될 수 있다. 상기 부호화/복호화되는 정보는 예측 모드 부호화 단계에서 예측 모드 정보에 포함될 수 있다.It is also possible to have various combinations with respect to the above settings if the neighboring blocks are applied to the reference pixel line configuration collectively or not. The related information in the reference pixel line may be transmitted in units of a sequence, a picture, a slice, and a block. The information to be encoded / decoded may be included in the prediction mode information in the prediction mode encoding step.

상기 과정을 통해 참조 화소 후보군을 구성한 후 이웃 블록의 참조 화소 이용 가부 여부를 확인하는 과정을 수행한다. 참조 화소 이용 가부 여부는 이웃 블록의 위치, 이웃 블록의 부호화 모드, 이웃 블록의 참조 픽쳐, 분할 블록 내 현재 블록의 위치, 현재 블록과 이웃 블록의 경계 특성 등의 요인 중 최소 하나 이상의 요인 또는 이들의 조합으로 판단할 수 있다. 참조 화소 후보군 중 상기 과정을 거쳐 이용 가능으로 판단된 화소들과 이용 불가로 판단된 화소 위치의 대체된 화소값들을 이용하여 현재 블록의 예측을 수행할 수 있다.After the reference pixel candidate group is formed through the above process, the process of checking whether the neighboring block can use the reference pixel is performed. At least one of the factors such as the position of the neighboring block, the encoding mode of the neighboring block, the reference picture of the neighboring block, the position of the current block in the divided block, and the boundary characteristics of the current block and the neighboring block, It can be judged by a combination. Prediction of the current block can be performed using the pixels determined to be usable through the process and the replaced pixel values of the pixel position determined to be unavailable through the process of the reference pixel candidate group.

화면 내 예측 모드 중 방향성을 갖는 모드로 예측이 된 경우, 정수 단위의 참소 화소를 다양한 보간 방식을 통해 소수 단위의 참조 화소를 생성할 수 있다. 상기 예와 같이 참조 화소 라인이 추가가 될 경우, 둘 이상의 참조 화소 라인의 참조 화소들이 상기 보간 과정에 지원될 수 있다. 기존의 두 화소 사이의 소수 화소를 보간하는 1D-필터링 뿐만 아니라, 네 화소 사이의 소수 화소를 보간하는 2D-필터링 또한 적용될 수 있다. In the case of predicting a directional mode among intra-picture prediction modes, it is possible to generate a reference picture of a decimal unit by using various interpolation methods on an integer pixel of an error pixel. When the reference pixel line is added as in the above example, reference pixels of two or more reference pixel lines may be supported in the interpolation process. In addition to 1D-filtering for interpolating fractional pixels between the existing two pixels, 2D-filtering interpolating the fractional pixels between the four pixels can also be applied.

참조 화소 필터링 단계에서는 상기 참조 화소 구성 단계로부터 획득한 참조 화소에 필터링을 적용하는 과정을 상기 더 넓은 참조 화소를 갖는 경우에 맞춰 설명할 것이다.In the reference pixel filtering step, the process of applying the filtering to the reference pixels acquired from the reference pixel forming step will be described according to the case of having the wider reference pixel.

도 17a, 도 17b, 도 18a 및 도 18b는 상기 참조 화소 구성 단계에서 획득 가능한 더 넓은 참조 화소를 갖는 현재 블록에 대하여, 다양한 모드 방향을 설명하기 위한 예시도이다. 이것은, 앞서 설명한 다양한 예측 모드의 방향을 설명하기 위한 것으로 이에 한정되지 않는다. 또한, 제 1 참조 화소 라인(A0~P0, X0), 제 2 참조 화소 라인((A1~P1, X0, X10, X01, X11)을 참조 화소 후보군으로 구성한 가정 하에서의 설명일 수 있다.FIGS. 17A, 17B, 18A and 18B are diagrams for explaining various mode directions for a current block having a wider reference pixel obtainable in the reference pixel forming step. FIG. This is for the purpose of describing the directions of the various prediction modes described above and is not limited thereto. The explanation may be made under the assumption that the first reference pixel lines A0 to P0 and X0 and the second reference pixel lines A1 to P1, X0, X10, X01 and X11 are configured as reference pixel candidate groups.

제 1 참조 화소 라인만 참조 화소 후보군에 포함되어 있을 경우, 참조 화소 후보군에 포함된 화소들, 즉 현재 블록의 가장 인접한 화소들에 필터링을 적용할 수 있다. 추가적인 참조 화소 라인이 참조 화소 후보군에 포함될 경우에는 추가된 참조 화소를 고려한 필터링이 적용될 수 있다.When only the first reference pixel line is included in the reference pixel candidate group, filtering can be applied to the pixels included in the reference pixel candidate group, that is, the closest pixels of the current block. When an additional reference pixel line is included in the reference pixel candidate group, filtering considering the added reference pixel may be applied.

도 17a를 참조하면, 제 2 참조 화소 라인의 참조 화소들, 상세하게는 현재 블록의 상단에서 두 번째 줄에 위치한 참조 화소들(A1, B1, C1, D1)을 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드(수직, vertical)의 예시 일 수 있고, 제 1 참조 화소 라인의 참조 화소들, 상세하게는 첫 번째 줄에 위치한 참조 화소들(A0, B0, C0, D0)도 함께 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드의 예시일 수도 있다.Referring to FIG. 17A, the reference pixels of the second reference pixel line, more specifically, the reference pixels A1, B1, C1, and D1 located at the second row from the top of the current block, (Vertical, vertical) mode in which pixels generated by applying the generated reference pixels to the prediction are applied to the reference pixels of the first reference pixel line, specifically, the reference pixels A0, B0, C0 , And D0) may also be an example of a mode in which the pixel generated by applying filtering to the reference pixels is applied to the prediction.

도 17b를 참조하면, 제 2 참조 화소 라인의 참조 화소들, 상세하게는 현재 블록의 좌에서 두번째 줄에 위치한 참조 화소들(I1, J1, K1, L1)을 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드(수평, horizontal)의 예시 일 수 있고, 제 1 참조 화소 라인의 참조 화소들, 상세하게는 첫번째 줄에 위치한 참조 화소들(I0, J0, K0, L0)도 함께 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드의 예시일 수도 있다. Referring to FIG. 17B, the reference pixels of the second reference pixel line, specifically, the reference pixels I1, J1, K1, and L1 located in the second row from the left of the current block are referred to, (Horizontal, horizontal) mode for applying the generated pixel to the prediction, and the reference pixels of the first reference pixel line, specifically, reference pixels (I0, J0, K0, L0 ) May also be an example of a mode in which a pixel generated by applying filtering to the reference pixels is applied to a prediction.

도 18a를 참조하면, 제 2 참조 화소 라인의 참조 화소들, 상세하게는 현재 블록의 우상단에 두번째 줄에 위치한, 참조 화소들(C1, D1, E1, F1, G1, H1)을 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드(좌하단으로 이어지는 방향성 모드)일 수 있고, 제 1 참조 화소 라인의 참조 화소들, 상세하게는 현재 블록 우상단에 첫번? 줄에 위치한, 참조 화소들(B0, C0, D0, E0, F0, G0, H0)도 함께 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드의 예시일 수도 있다. Referring to FIG. 18A, referring to the reference pixels of the second reference pixel line, specifically, the reference pixels C1, D1, E1, F1, G1 and H1 located on the second row on the upper right side of the current block, (Directional mode leading to the lower left end) to apply the generated pixel to the prediction by applying filtering to the pixels, and the reference pixels of the first reference pixel line, more specifically, The reference pixels B0, C0, D0, E0, F0, G0, and H0 located on the line may also be referred to and the filtering may be applied to the reference pixels to apply the generated pixels to the prediction.

도 18b를 참조하면, 제 2 참조 화소 라인의 참조 화소들, 상세하게는 현재 블록의 좌상단에 두번째 줄에 위치한 참조 화소들(J1, I1, X01, X11, X10, A1, B1)을 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드(우하단으로 이어지는 방향성 모드)일 수 있고, 제 1 참조 화소 라인의 참조 화소들, 상세하게는 현재 블록의 좌상단에 첫번째 줄에 위치한 참조 화소들(K0, J0, I0, X0, A0, B0, C0)도 함께 참조하여 상기 참조 화소들에 필터링을 적용하여 생성된 화소를 예측에 적용하는 모드의 예시일 수도 있다.Referring to FIG. 18B, the reference pixels of the second reference pixel line, more specifically, reference pixels (J1, I1, X01, X11, X10, A1, B1) (The directional mode leading to the lower right end) to which the pixel generated by applying the filtering to the reference pixels is applied to the prediction, and the reference pixels of the first reference pixel line, more specifically, the upper left corner of the current block The reference pixels (K0, J0, I0, X0, A0, B0, and C0) located at the reference pixels are also referenced to apply the filtering to the reference pixels.

제 1 참조 화소 라인의 참조 화소로 필터링을 적용할 경우, 현재 블록의 모드에 따라 적응적인 필터링을 수행할 수 있다. 제 2 참조 화소 라인의 참조 화소도 필터링에 적용될 경우, 현재 블록의 모드에 따라 적응적인 필터링을 수행할 뿐 아니라, 필터링에 적용되는 참조 화소 또한 적응적일 수 있다. 즉, 현재 블록의 인접한 화소에 필터링은 예측 모드 방향과 무관할 수 있으며, 제 2 참조 화소 라인의 참조 화소도 함께 필터링 과정에 포함시킬 경우 도 16a, 도 16b, 도 17a, 도 17b와 같이 모드의 방향선상에 놓인 화소들이 필터링에 적용될 수 있다.When filtering is applied to the reference pixels of the first reference pixel line, adaptive filtering may be performed according to the mode of the current block. When the reference pixel of the second reference pixel line is also applied to filtering, not only the adaptive filtering is performed according to the mode of the current block, but the reference pixel to be applied to the filtering may also be adaptive. That is, the filtering on the adjacent pixels of the current block may be independent of the prediction mode direction, and when the reference pixels of the second reference pixel line are also included in the filtering process, the direction of the mode as shown in Figs. 16A, 16B, 17A, Pixels placed on the line can be applied for filtering.

예측 블록 생성단계에서는 상기 구성된 참조 화소 구성 단계로부터 획득한 참조 화소에 필터링을 적용하는 과정을 상기 더 넓은 참조 화소를 갖는 경우에 맞춰 설명할 것이다. In the prediction block generation step, the process of applying the filtering to the reference pixels acquired from the configured reference pixel configuration step will be described according to the case of having the wider reference pixels.

제 1 참조 화소 라인을 참조 화소 후보군으로 갖는 방향성 예측 방식의 경우, 가장 인접한 참조 화소를 예측 블록 생성에 사용할 수 있다. 제 1 참조 화소 라인 외에 추가적인 참조 화소 라인이 지원될 경우 예측 블록 생성에 사용되는 참조 화소가 정해질 수 있다. 예를 들어, 예측 모드에 따라 제 1 참조 화소로 예측 블록을 생성할 수 있고, 제 2 참조 화소로 예측 블록에 생성할 수 있고, 제 1 참조 화소 라인과 제 2 참조 화소 라인의 참조 화소로 예측 블록에 생성할 수 있다.In the case of the directional prediction scheme having the first reference pixel line as a reference pixel candidate group, the nearest reference pixel can be used for generating a prediction block. If an additional reference pixel line other than the first reference pixel line is supported, a reference pixel used for generating a prediction block can be determined. For example, it is possible to generate a prediction block with a first reference pixel according to a prediction mode, generate a prediction block with a second reference pixel, and generate a prediction block with a reference pixel of the first reference pixel line and a second reference pixel line Block.

이하에서, 예측 모드 부호화 단계에 대하여 좀 더 자세히 설명한다.Hereinafter, the prediction mode encoding step will be described in more detail.

이때, 후술되는 예에서 HEVC 기준으로 설명될 것이며, 관련 설정(예측 모드 개수, 예측 모드 방향 등)이 후술되는 예에 한정되지 않는다. HEVC의 경우 모드가 35가지이기 때문에 최적의 모드를 결정한 후 이에 대해 효율적인 모드 정보의 부호화가 필요하다. 이를 위해 영상과 예측 모드의 통계적 특성을 이용한다. 일반적으로 영상을 여러 블록으로 나누었을 경우 이웃하는 블록들은 비슷한 특성을 갖는 경우가 많기 때문에, 현재 블록의 모드를 부호화할 경우에는 이웃 블록의 정보를 활용한다. HEVC는 왼쪽과 위쪽 블록의 예측 모드를 기반으로 현재 블록의 예측 모드를 부호화한다.In this case, the HEVC standard will be described in the following example, and the related settings (the number of prediction modes, the prediction mode direction, and the like) are not limited to the following examples. Since the HEVC has 35 modes, it is necessary to encode efficient mode information after determining the optimal mode. To do this, we use the statistical properties of the image and prediction mode. In general, when an image is divided into several blocks, neighboring blocks often have similar characteristics. Therefore, when coding a mode of a current block, information of a neighboring block is used. HEVC encodes the prediction mode of the current block based on the prediction mode of the left and upper blocks.

도 19는 일반적인 현재 예측 유닛(또는 예측 블록)에 대한 최적 모드 결정 과정을 나타낸 흐름도이다. 여기서, 최적 모드(Most Probable Mode, MPM)는 현재 예측 유닛의 예측 모드가 될 가능성이 높은 예측 모드로서, 현재 예측 유닛 주변에 있는 예측 유닛의 모드가 현재 예측 유닛의 모드와 비슷한 모드를 가질 확률이 높기 때문에 주변 블록의 모드 중에서 선택될 수 있다.19 is a flowchart illustrating an optimal mode determination process for a general current prediction unit (or prediction block). Herein, the most probable mode (MPM) is a prediction mode having a high probability of being a prediction mode of the current prediction unit. The probability that the mode of the prediction unit around the current prediction unit has a mode similar to that of the current prediction unit It can be selected from among the modes of the neighboring blocks.

도 19를 참조하면, 현재 예측 유닛(PU)을 기준으로 왼쪽에 있는 예측 유닛의 예측 모드를 left_PU_MPM 이라 하고, 상단에 있는 예측 유닛의 예측 모드를 Above_PU_MPM으로 표현하였다. 구체적으로, 왼쪽 예측 유닛의 예측 모드와 위쪽 예측 유닛의 예측 모드가 다르면, 첫번째 최적 모드(MPM[0])는 왼쪽 예측 유닛의 예측 모드를, 두번째 최적 모드(MPM[1])를 위쪽 예측 유닛의 예측 모드로 정할 수 있고, 세번째 최적 모드(MPM[2])은 플레이너(Planar), DC, 수직(Vertical) 모드 중에서 중복이 없는 하나가 설정될 수 있다. 반면, 왼쪽 예측 유닛의 예측 모드와 위쪽 예측 유닛의 예측 모드가 같으면, 같은 예측 모드가, 모드 2보다 작은지 판단하여, 작다면, 첫번째부터 플레이너(Planar), DC, 수직(Vertical) 모드를 설정하고, 크거나 같다면, 왼쪽 예측 유닛의 예측 모드를 첫번째, 그보다 하나 작거나 큰 모드를 각각 두 번째, 세 번째 최적 모드(MPM)으로 설정할 수 있다.Referring to FIG. 19, the prediction mode of the prediction unit on the left side is referred to as left_PU_MPM and the prediction mode of the prediction unit located on the upper side is expressed as Above_PU_MPM based on the current prediction unit (PU). Specifically, when the prediction mode of the left prediction unit and the prediction mode of the upper prediction unit are different, the first best mode (MPM [0]) stores the prediction mode of the left prediction unit and the second best mode (MPM [ , And the third optimal mode (MPM [2]) can be set to one of Planer, DC, and Vertical modes without overlapping. On the other hand, if the prediction mode of the left prediction unit and the prediction mode of the upper prediction unit are the same, it is determined whether the same prediction mode is smaller than the mode 2. If the prediction mode is smaller than Plane, DC and Vertical mode The prediction mode of the left prediction unit may be set to the first, and the mode that is smaller than or larger than the prediction mode may be set to the second and third optimal modes (MPM), respectively.

정리하면, 도 19와 같이 현재 블록의 예측 모드로 가능성이 높아 보이는 모드를 최적 모드(most probable mode, MPM) 집합 또는 그룹으로 분류하여 부호화할 수 있다. 만약 현재 블록과 이웃 블록의 특성이 비슷해 이웃 블록의 예측 모드가 현재 블록의 예측 모드와 같거나 비슷할 경우가 발생한다면, MPM 그룹 중 하나의 모드로 선택될 확률이 높으며 짧은 비트를 할당하여 효율적인 부호화를 수행할 수 있다. 만약 발생하지 않는다면, 전체 모드 중 최적 모드(MPM)를 제외한 나머지의 모드를 이진화 하여 그 중 하나를 택하여 현재 블록의 예측 모드를 부호화할 수 있다. HEVC의 경우 최적 모드(MPM)의 그룹 내 모드 개수를 3개로 하여 1 또는 2 비트를 사용하여 부호화할 수 있다. 최적 모드(MPM) 그룹 중에서 선택되지 않을 경우에는 고정길이 5비트를 사용하여 부호화할 수 있다. 본 발명에 따른 실시예는 최적 모드(MPM)로 활용될 모드를 왼쪽, 위쪽 예측 유닛에 한정하지 않으며 왼쪽, 왼쪽 위, 위쪽, 오른쪽 위, 왼쪽 아래에 있는 블록 중 하나 이상의 블록으로부터 모드 정보를 활용할 수 있다. 또한, 이 중 하나가 2개 이상의 블록으로 분할되어 있는 경우 어느 분할된 블록 중 어떤 블록의 정보를 참조할 지에 대해 우선순위를 설정할 수도 있다. 예를 들어, 현재 블록을 2N×2N이고 왼쪽이 N×N으로 두 개의 분할된 블록이 위치해 있을 경우, 설정된 규칙에 따라 그 중 위쪽 N×N의 모드를 활용할 수도 있고, 아래쪽 N×N의 모드를 활용할 수도 있다.In summary, as shown in FIG. 19, a mode in which the probability of a prediction mode of the current block is high can be categorized into a most probable mode (MPM) group or a group. If the prediction mode of the neighboring block is the same as or similar to the prediction mode of the current block due to the characteristics of the current block and the neighboring block are similar to each other, the probability of selecting one mode of the MPM group is high. Can be performed. If it does not occur, the prediction mode of the current block can be encoded by binarizing the remaining modes except for the optimal mode (MPM) among all the modes, and selecting one of them. In case of HEVC, the number of modes in the group of the optimum mode (MPM) can be encoded by using one or two bits with three. If it is not selected among the optimum mode (MPM) group, it can be encoded using 5 fixed-length bits. The embodiment according to the present invention does not limit the mode to be utilized as the optimal mode (MPM) to the left and upper prediction units, and utilizes the mode information from one or more blocks in the left, upper left, upper, . If one of the divided blocks is divided into two or more blocks, it is also possible to set priorities as to which block of the divided blocks to refer to. For example, if the current block is 2Nx2N and the left block is NxN, the upper NxN mode may be used according to the set rule, and the lower NxN mode .

최적 모드(MPM)로 선택되는 모드의 개수 또한 부, 복호화 장치에서 미리 설정하거나 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송할 수도 있다. 또한, 이를 표현하기 위한 이진화는 고정 길이 또는 가변 길이 등의 다양한 이진화 방법을 사용할 수도 있다. 그리고 최적 모드(MPM)로 분류되지 않은 모드의 이진화 또한 다양한 이진화 방법을 사용할 수 있다. 또한, 최적 모드(MPM)로 분류되지 않는 모드의 효율적인 이진화를 위해 최적 모드(MPM)의 후보군을 설정할 수 있다. 예를 들어, 총 M개의 모드 중 M - 2N개는 최적 모드(MPM) 그룹으로, 2N개는 최적 모드(MPM)로 분류되지 않는 후보군으로 두어 이를 각각 이진화할 수 있다. 예를 들면, 19개의 모드가 존재한다고 할 경우 N은 1, 2, 3, 4 중 하나로 선택이 가능하며, 최적 모드(MPM) 그룹에 있는 모드는 가변 길이로(N은 4라 가정하면 3개가 가능), 최적 모드(MPM)으로 분류되지 않는 후보군은 고정 길이로(4 비트)로 표현할 수 있다.The number of modes selected by the optimum mode (MPM) may also be set in advance in the subtraction, decoding apparatus, or in units of a sequence, picture, slice, or the like. Also, various binarization methods such as fixed length or variable length may be used for binarization to express this. In addition, binarization of modes not classified as optimal mode (MPM) can also use various binarization methods. In addition, a candidate group of the optimal mode (MPM) can be set for efficient binarization of a mode not classified as an optimal mode (MPM). For example, M-2 N of the total M modes can be classified into an optimal mode (MPM) group and 2N candidates that are not classified as the optimal mode (MPM), and each of them can be binarized. For example, if there are 19 modes, N can be selected as 1, 2, 3, or 4, and the mode in the optimum mode (MPM) group is variable length , And the candidate group not classified as the optimum mode (MPM) can be represented by a fixed length (4 bits).

이하에서, 본 발명의 실시예에 따른, 현재 예측 유닛(또는 블록)에 대해 최적 모드(MPM, Most Probable Mode)를 결정하기 위한 구체적인 예를 살펴본다. 설명의 편의를 위해 이웃 블록에 위치하는 블록은 현재 블록과 같은 블록 형태 및 크기를 갖는 블록이 위치한다고 가정한다. 또한, 이웃 블록의 참조 화소 이용 가부(availability)에 따라 이용 불가로 판단되는 블록의 모드는 DC로 가정하자.Hereinafter, a specific example for determining an optimal mode (MPM, Most Probable Mode) for a current prediction unit (or block) according to an embodiment of the present invention will be described. For convenience of explanation, it is assumed that a block located in a neighboring block is located in the same block shape and size as the current block. It is also assumed that the mode of the block determined to be unavailable according to availability of the reference pixel of the neighboring block is DC.

먼저, 이웃 블록의 모드 정보를 얻기 위해서는 해당 블록의 경계 화소를 참조 화소로 이용 가능한지 여부(availability)를 확인해야 한다. 예를 들어, 픽쳐나 슬라이스 등의 경계선에 위치하지 않았는지, 부호화 모드는 같은지 등을 확인해야 한다. 본 예에서는 참조 픽쳐가 무엇이든 간에 부호화 모드가 화면 간 예측 모드이면 해당 블록의 참조 화소는 이용 불가로 설정한다. (HEVC와 같이 왼쪽과 위쪽 모드를 MPM으로 활용) 왼쪽 블록이 블록 매칭을 통해 현재 픽쳐에서 예측 블록을 생성하고 화면 간 예측 방법으로 부호화 되었을 경우, 해당 블록의 참조 화소는 이용 불가로 결정될 수 있다. 위쪽 블록의 경우 화면 내 예측으로 부호화되었을 경우, 해당 블록의 모드(Vertical)을 MPM 후보로 포함할 수 있다. 왼쪽 블록의 참조 화소는 이용 불가이므로 해당 블록의 모드는 DC로 설정하고 이를 MPM 후보로 포함할 수 있다. First, in order to obtain the mode information of the neighboring block, it is necessary to check availability of the boundary pixel of the block as a reference pixel. For example, it is necessary to check whether it is located at the boundary of a picture or a slice, whether the encoding mode is the same, and the like. In this example, whatever the reference picture is, if the encoding mode is the inter-picture prediction mode, the reference pixel of the block is set as unavailable. When the left block generates a prediction block in the current picture through block matching and is coded by the inter-picture prediction method, the reference pixel of the corresponding block can be determined as unavailable. In the case of the upper block, when it is encoded by the intra prediction, the mode of the corresponding block (Vertical) can be included as the MPM candidate. Since the reference pixels in the left block are unavailable, the mode of the corresponding block can be set to DC and included as an MPM candidate.

이웃 블록의 참조 화소 이용 가부(availability) 확인 과정을 통해 이용 가능한 참조 화소와 이용 불가한 참조 화소를 분류할 수 있다. 상기 이용 불가로 판단된 참조 화소는 기설정된 값(예를 들어, 비트 심도가 갖는 화소값의 범위의 중간값) 또는 이용 가능으로 판단된 참조 화소로부터 유도된 대체값을 각 참조 화소 위치에 채울 수 있다. 화면 내 예측에 이용 가능한 참조 화소의 화소값과 이용 불가한 참조 화소의 대체값을 사용하여 예측 블록을 생성할 수 있다.The available reference pixels and the unavailable reference pixels can be classified through the reference pixel availability check process of the neighboring block. The reference pixel determined to be unavailable can be set to a value (for example, a middle value of a range of pixel values of bit depth) or a replacement value derived from a reference pixel determined to be available at each reference pixel position have. The prediction block can be generated by using the pixel value of the reference pixel usable in the intra prediction and the substitute value of the unavailable reference pixel.

도 20은, 현재 예측 유닛(또는 블록)에 대한 예측 모드를 결정하기 위한 예시도이다.20 is an exemplary diagram for determining a prediction mode for the current prediction unit (or block).

도 20을 참조하면, 이용 가능한 참조 화소는 검은색으로, 그렇지 않은 참조 화소는 무색으로 표시할 수 있다. 이용 불가한 참조 화소는 기설정된 값 또는 이용 가능한 화소로부터 유도된 값으로 대체할 수 있다. 도 20에서는 블록 E의 우측 상단 화소값을 복사하여 블록 A, B, C, D의 이용 불가한 참조 화소들의 화소값으로 채울 수 있다. 즉, 블록 A, B, C, D의 모든 참조 화소는 블록 E의 우측 상단 화소랑 같은 값일 수 있다. 예를 들어, 블록 B와 C를 참조 화소로 예측 블록을 생성하는 모든 모드는 동일 화소값(블록 E의 우측 상단 화소값)으로 예측 블록의 모든 예측 화소를 구성할 수 있다. Referring to FIG. 20, available reference pixels can be displayed in black, while reference pixels that are not available can be displayed in colorless. An unavailable reference pixel can be replaced with a value derived from a predetermined value or an available pixel. In FIG. 20, the upper right pixel value of the block E can be copied and filled with the pixel values of the unavailable reference pixels of the blocks A, B, C, and D. That is, all the reference pixels of the blocks A, B, C, and D may be the same value as the upper right pixel of the block E. For example, all the modes for generating a prediction block using blocks B and C as reference pixels can constitute all the prediction pixels of the prediction block by the same pixel value (the upper right pixel value of the block E).

여기서, 블록 A나 블록 B는 이용 불가능한 것으로 판단되었기 때문에, 앞서 가정한 바와 같이, DC 모드를 가질 수 있다. 이 경우 블록 A의 예측 모드도 DC, 블록 B이 모드도 DC로 설정되기 때문에, 최적 모드(MPM)로 결정되는 모드(DC가 두개나 발생)가 현재 블록의 예측 모드일 확률이 줄어들 수 있다. 따라서 현재 블록과 이웃한 이용 가능(available)한 블록의 예측 모드로 대체하여 사용할 수 있다.Here, since it is determined that the block A or the block B is unavailable, it is possible to have the DC mode, as previously assumed. In this case, since the prediction mode of the block A is set to DC and the mode of the block B is also set to DC, the probability that the mode determined by the optimal mode (MPM) (two DCs occur) is the prediction mode of the current block can be reduced. Therefore, the prediction mode of the available block adjacent to the current block can be used instead.

도 20을 참조하면, 블록 A는 블록 E의 예측 모드를 대체하여 사용할 수 있는데, 블록 E의 예측 모드 및 블록 B 예측 모드인 DC를 활용하면 현재 블록의 예측 모드가 MPM의 하나의 모드로 선택될 확률을 높일 수 있다. 이것은 일반적인 방법인 도 19의 흐름도에 따르면, MPM[0] = 플레이너(planar) 모드, MPM[1] = DC 모드, MPM[2] = 수직(vertical) 모드로 설정이 가능한데, 블록 E에서 우측 경계 화소들(도면의 검은 부분)이 이용 가능(available)하고 그 경계 화소들 중 최상단에 있는 화소 값을 위의 이용 불가능(unavailable)한 블록의 경계 화소에 복사하여 화면내 예측을 수행한다고 가정하면, 플레이너(planar), DC, 수직(vertical)으로부터 모두 같은 예측 블록을 생성하므로 모드의 중복성이 발생할 수 있기 때문이다. 따라서, 상기 설명한 바와 같이 대체 블록의 예측 모드를 사용하면 더 유리한 효과가 있을 수 있다.Referring to FIG. 20, the block A can be used in place of the prediction mode of the block E. When the DC, which is the prediction mode of the block E and the block B prediction mode, is used, the prediction mode of the current block is selected as one mode of the MPM The probability can be increased. This can be set in MPM [0] = planar mode, MPM [1] = DC mode, MPM [2] = vertical mode, Assuming that boundary pixels (black portions in the figure) are available and the pixel value at the top of the boundary pixels is copied to the boundary pixels of the above unavailable block to perform intra prediction , The planar, the DC, and the vertical, so that the redundancy of the mode may occur. Therefore, as described above, a more advantageous effect may be obtained by using the prediction mode of the replacement block.

다시, 도 20를 참조하여 구체적으로 설명하면, 만약 제한된 화면 내 예측(constrained Intra prediction)이 수행되었다고 할 경우, 도 20에 어둡게 표시된, 블록 E의 경계 화소들 중에서 우측 상단의 화소 값을, 블록 A의 경계 화소에 복사하여 화면 내 예측을 수행할 수 있다. 또한, 여기서 블록 E의 모드는 DC가 아니라고 가정한다. 이러한 가정 하에서, 플레이너(Planar), DC를 포함하여 수직(vertical), 수평(horizontal), 그룹2(group 2), 그룹3(group 3), 그룹4(group 4)의 모드로(각 예측 모드 그룹에 대해서는 후술하는 도 21을 참조) 예측 블록을 생성하면 상기 예측 모드로 생성되는 모든 예측 블록의 화소값은 하나(블록 E의 우측 상단 화소값)인 예측 블록을 생성할 수 있다. 왜냐하면 모두 같은 화소 값으로 복사하였기 때문일 수 있다. 따라서, 블록 E의 예측 모드가 블록 A를 대체하여 선택이 되고, 최적 모드(MPM)를 구성하여 부호화 할 경우, 도 19의 흐름도에 따라가보면, left_PU_MPM은 블록 E의 예측 모드, Above_PU_MPM은 블록 B의 예측 모드(즉 DC)이고 Left_PU_MPM과 Above_PU_MPM이 다르므로, MPM[0] = 블록 E의 예측 모드, MPM[1] = DC, MPM[2] = 플레이너(Planar) 또는 수직(vertical)(E 모드에 따라 결정되므로) 으로 후보군이 분류가 될 수 있다.Referring to FIG. 20 again, if constrained intra prediction is performed, the upper right pixel value of the boundary pixels of the block E, which is darkened in FIG. 20, And intra-picture prediction can be performed. It is also assumed that the mode of block E is not DC. Under these assumptions, in the modes of Planar, DC including vertical, horizontal, group 2, group 3, and group 4 (each prediction 21), a prediction block can be generated in which all the pixel values of all the prediction blocks generated in the prediction mode are one (the upper right pixel value of the block E). This is because they all copied to the same pixel value. Accordingly, when the prediction mode of the block E is selected by replacing the block A and coding is performed by constructing the optimum mode (MPM), the left_PU_MPM is the prediction mode of the block E, Above_PU_MPM is the prediction mode of the block B MPM [1] = DC, MPM [2] = Planar or Vertical (E mode), because MPM [0] = prediction mode of block E, And thus the candidate group can be classified.

여기서 블록 E의 예측 모드가 플레이너(Planar), DC, 수직(vertical), 수평(horizontal), 그룹(group) 2 내지 4 중 하나의 모드라면 MPM[0]은 플레이너(Planar), DC, 수직(vertical), 수평(horizontal), 그룹 2 내지 4(group 2, 3, 4) 중에 하나가 되고, MPM[1]은 DC가 되며, MPM[2]는 블록 E의 모드가 플레이너(Planar)가 아니라면, 플레이너(Planar)이고, 플레이너(Planar)라면 수직(vertical)으로 분류될 수 있다. 그러나 위에 언급한 바와 같이 planar, DC, vertical, horizontal, group, 2, 3, 4의 모드로 예측 블록이 생성되었을 경우 같은 예측 블록(만약 100이라는 화소값으로 참조화소가 구성되었다면 이를 통해 위에 어떤 모드를 사용하여 예측 블록을 생성하더라도 모든 화소가 100일테니)이 생성되므로 중복적인 모드로 MPM을 꾸린 것과 같은 의미가 된다.Here, if the prediction mode of block E is one of Planar, DC, vertical, horizontal, group 2 to 4, MPM [0] is Planar, DC, MPM [1] becomes one of DC, and MPM [2] becomes one of groups 2 to 4 (group 2, 3, 4) If it is not a planar, it can be classified as a planar, and if it is a planar, it can be classified as a vertical. However, if a prediction block is generated in the modes of planar, DC, vertical, horizontal, group, 2, 3, and 4 as described above, the same prediction block (if a reference pixel is configured with a pixel value of 100, Is used to generate a prediction block, all pixels will be 100 days), which means that the MPM is packed in a redundant mode.

그렇기 때문에 만약 블록 E의 예측 모드가 플레이너(planar), DC, 수직(vertical), 수평(horizontal), 그룹 2 내지 4(group, 2, 3, 4) 중 하나의 모드가 된다면, MPM[0]은, 플레이너(planar), DC, 수직(vertical), 수평(horizontal), 그룹 2 내지 4(group, 2, 3, 4) 중에서 결정되고, MPM[1]은 그룹 1(group 1)에 속하는 모드 중 하나가 되며, MPM[2]는 그룹 1(group 1)에 속하는 MPM[1]과 중복되지 않는 블록 중 하나로 분류할 수 있다. 왜냐하면 E 블록의 경계에 있는 참조 화소가 모두 똑같은 화소값으로 구성되어 있지 않은 한 각각 모드마다 예측 블록이 조금(최소 1 화소)이라도 다를 수 있기 때문이다. 여기서, 최적 모드(MPM)로 선택되지 않은 예측 모드에 대해서는 기존의 고정 5비트를 사용하여 이진화를 할 수도 있고, 또는 그룹 1(group 1)에 있는 모드만을 대상으로 이진화를 하여 부호화할 수도 있다. 예를 들어, 모드 2부터 9까지(group 1) 8가지의 수를 가지므로(MPM에 포함된 2개를 빼면 6가지로 줄일 수 있음) 고정 5비트보다 더 짧은 비트로 다양한 이진화 방법을 통해 부호화할 수 있다.Therefore, if the prediction mode of block E is one of planar, DC, vertical, horizontal, group 2 to 4 (group, 2, 3, 4) Is determined from planar, DC, vertical, horizontal, group 2 to group 4 (group 2, 3, 4), and MPM [1] MPM [2] can be classified into MPM [1] belonging to group 1 (group 1) and one block not overlapping. This is because even if the reference pixels at the boundary of the E block are not all made up of the same pixel values, the prediction blocks may be slightly different (at least one pixel) for each mode. Here, for the prediction mode not selected as the optimal mode (MPM), the existing fixed 5 bits may be used for binarization, or binarization may be performed for only the mode in group 1 (group 1). For example, if you have 8 numbers in modes 2 through 9 (group 1), you can reduce them to six by subtracting the two included in the MPM. .

또한, 만약 블록 E의 모드가 그룹 1(group 1)의 모드 중 하나라고 한다면, MPM[0]은 블록 E의 예측 모드, MPM[1]는 DC, MPM[2]는 그룹 1(group 1) 중 블록 E의 예측 모드와 중복되지 않는 하나의 모드로 구성할 수 있다(DC로 생성된 예측 블록이나 planar, vertical, horizontal, group, 2, 3, 4로 생성된 예측블록은 같으므로 group 1에서 가져옴). 이 경우 또한 위와 같은 방식으로 이진화하여 부호화할 수 있다.If the mode of block E is one of the modes of group 1, MPM [0] is the prediction mode of block E, MPM [1] is DC, MPM [2] (The prediction block generated by DC, or the prediction block generated by planar, vertical, horizontal, group, 2, 3, 4 are the same) fetch). In this case, coding can also be performed by binarizing in the same manner as described above.

도 21은 예측 모드에 대하여, 그룹화한 예시도이다.FIG. 21 is an example of grouping the prediction modes. FIG.

도 21을 참조하면, 예측 모드는, 플레이너(Planar), DC, 수직(vertical), 수평(horizontal), 그룹 1(group 1), 그룹 2(group 2), 그룹 3(group 3), 그룹 4(group 4)로 분류된다고 가정할 수 있다. 예측 모드를 2개 이상 그룹으로 묶기 위한 다양한 설정이 가능하며, 아래의 그룹화는 비슷한 방향성을 갖는 설정 하에 분류된 것이다.Referring to FIG. 21, the prediction mode includes a Planar, a DC, a vertical, a horizontal, a group 1, a group 2, a group 3, 4 (group 4). Various settings for grouping two or more prediction modes are possible, and the grouping below is classified under a setting having a similar directionality.

여기서 그룹 1(Group 1)은 예측 모드 2 내지 9까지, 그룹 2(Group 2)는 예측 모드 11 내지 17까지, 그룹 3(Group 3)은 예측 모드 18 내지 25까지, 그룹 4(Group 4)는 예측 모드 27 내지 34까지라고 할 수 있다. 또한 예측 모드 0은 플레이너(Planar), 예측 모드 1은 DC, 예측 모드 10은 수평(horizontal), 예측 모드 26은 수직(vertical)을 의미할 수 있다. In this case, the prediction modes 2 to 9 are used for the group 1, the prediction modes 11 to 17 are used for the group 2 (Group 2), the prediction modes 18 to 25 are used for the group 3 (Group 3) It can be said that prediction modes 27 through 34 are possible. Also, prediction mode 0 may be Planar, prediction mode 1 may be DC, prediction mode 10 may be horizontal, and prediction mode 26 may be vertical.

이하, 이러한 예측 모드를 전제로 하여 설명한다.Hereinafter, such a prediction mode will be described on the premise.

도 22 내지 도 26은 상단 및 좌측의 블록 이외의 이웃한 블록을 활용하여 예측 모드에 대한 MPM을 구성하는 예시도이다.FIGS. 22 to 26 illustrate an MPM for the prediction mode using neighboring blocks other than the upper and left blocks.

도 22를 참조하면, 블록 A를 대체하여 블록 E의 예측 모드를, 블록 B를 대체하여 블록 D의 예측 모드를 사용할 수 있다.Referring to FIG. 22, the prediction mode of the block E can be substituted for the block A, and the prediction mode of the block D can be used by replacing the block B.

도 23을 참조하면, 블록 A를 대체하여 블록 D의 예측 모드를, 블록 B를 대체하여 블록 C의 예측 모드를 사용할 수 있다.Referring to FIG. 23, the prediction mode of the block D can be substituted for the block A, and the prediction mode of the block C can be used by replacing the block B.

도 24를 참조하면, 블록 A의 예측 모드는 그대로 이용되고, 블록 B를 대체하여 블록 E의 예측 모드를 사용할 수 있다.Referring to FIG. 24, the prediction mode of the block A is used as it is, and the prediction mode of the block E can be used instead of the block B.

도 25를 참조하면, 블록 B의 예측 모드는 그대로 이용되고, 블록 A를 대체하여 블록 C의 예측 모드를 사용할 수 있다.Referring to FIG. 25, the prediction mode of the block B is used as it is, and the prediction mode of the block C can be used instead of the block A.

도 26을 참조하면, 블록 A는 블록 E의 예측 모드로, 블록 B는 블록 D의 예측 모드로 대체할 수 있고, 블록 A는 블록 D의 예측 모드로, 블록 B는 블록 C의 예측 모드로 대체할 수도 있으며, 블록 A는 블록 E의 예측 모드로, 블록 B는 블록 C의 예측 모드로 대체할 수도 있다. 즉, 다양한 조합으로 이용 가능한 블록의 예측 모드로 대체할 수 있다.Referring to FIG. 26, a block A can be replaced with a prediction mode of block E, a block B with a prediction mode of block D, a block A with a prediction mode of block D, and a block B with a prediction mode of block C Block A may be replaced with the prediction mode of block E, and block B may be replaced with the prediction mode of block C. That is, it can be replaced with a prediction mode of available blocks in various combinations.

위에서의 예시들은 제한된 화면 내 예측(constrained Intra prediction)으로 인해 이용 불가능(not available)한 블록이 생겼을 때의 예로 설명을 하였으나 이웃하는 블록이 다 이용 가능(available)할 때에도 적용될 수 있다. 만약 이웃하는 블록의 참조 화소가 비슷하거나 같은 경우라면(예를 들어, 컴퓨터 캡쳐 화면의 경우) 이때에도 최적 모드(MPM)의 후보군 설정을 달리하여 부호화하는 것 또한 가능하다. 이하에서 이러한 경우를 살펴본다. The above examples are described as an example when a block is not available due to constrained intra prediction, but it can also be applied when neighboring blocks are available. If the reference pixels of the neighboring blocks are similar or the same (for example, in the case of a computer captured screen), it is also possible to perform encoding by setting the candidate group setting of the optimum mode (MPM) at this time. This case will be described below.

도 27은 현재 블록과 이웃한 블록이 모두 이용 가능한 경우, 대체 블록으로 최적 모드(MPM)를 구성하는 예시도이다.FIG. 27 is an exemplary diagram illustrating an optimum mode (MPM) as a replacement block when both the current block and neighboring blocks are available.

도 27을 참조하면, 검게 표시된 부분은 참조 화소로 이용되는 화소로서, 블록 A, B, C, D와의 경계에 있는 화소는 화소 값의 변화가 없거나 비슷하고, 블록 E와의 경계에 있는 화소는 변화가 있는 것을 나타낸다.Referring to FIG. 27, a black portion is used as a reference pixel. Pixels at the boundary with blocks A, B, C, and D have no or similar change in pixel value, .

이와 같은 상태에서, 상기 도 21에 표시된 그룹 2 내지 4(Group 2, 3, 4)에 있는 어떤 예측 모드를 사용하더라도 같거나 비슷한 예측 블록을 생성해서 최적 모드(MPM) 후보군의 중복성이 생길 수 있다.In such a state, even if any prediction mode in Groups 2 to 3 (Group 2, 3 and 4) shown in FIG. 21 is used, it is possible to generate prediction blocks that are the same or similar to each other, .

먼저, 각 블록의 참조 화소 값에 대한 분산(σA, σB, σC, σD, σE)이 경계값(Th)보다 작은 블록을 분류할 수 있다. 도 27에서의 분산 σA, σB, σC, σD 는 경계값보다 작고, 블록 E의 분산 σE 는 경계값보다 크다고 가정하자. 이때, 최적 모드(MPM) 후보군의 중복성이 생기는 경우는 2개 이상의 연속하는 블록의 분산이 경계값보다 작은 경우에 발생할 수 있다. 예를 들어, 블록 B와 블록 C의 참조 화소가 같거나 비슷한 값을 가질 경우 블록 B와 블록 C만을 사용하여 생성되는 예측 모드인 그룹 4(group 4)과 수직(vertical)으로 생성되는 예측 블록은 같거나 유사한 값을 가진다고 볼 수 있다. 그래서 그룹 4(group 4)과 수직(vertical) 모드는 중복성 제거 과정을 수행할 수 있다. 만약 블록 A와 블록 C의 참조 화소가 같거나 비슷하다고 할 경우 블록 A와 블록 C만을 사용하여 생성되는 예측 모드가 존재하지 않으므로 고려할 필요가 없다.First, a block having a variance (σ A , σ B , σ C , σ D , σ E ) of the reference pixel values of each block is smaller than the threshold value (Th). It is assumed that the variances σ A , σ B , σ C , and σ D in FIG. 27 are smaller than the boundary value, and the variance σ E of the block E is larger than the boundary value. At this time, when the redundancy of the MPM candidate group occurs, it may occur when the variance of two or more consecutive blocks is smaller than the boundary value. For example, if the reference pixels of the block B and the block C have the same value or a similar value, the prediction block generated by using only the block B and the block C and the prediction block generated by the group 4 (group 4) It can be said that they have the same or similar values. So group 4 (group 4) and vertical mode can perform redundancy removal process. If the reference pixels of the block A and the block C are the same or similar, there is no prediction mode generated by using only the block A and the block C, so there is no need to consider it.

먼저, 블록 A, D, B의 참조 화소를 사용하여 생성되는 예측 모드인 수평(horizontal), 그룹 2(group 2), 그룹 3(group 3), 수직(vertical)로부터 생성되는 예측 블록은 같거나 유사한 값을 가지므로 중복성이 발생한다고 판단할 수 있다.First, prediction blocks generated from horizontal, group 2, group 3, and vertical prediction modes generated using reference pixels of blocks A, D, and B are equal It can be determined that redundancy occurs because it has a similar value.

블록 B, C의 참조 화소를 사용하여 생성되는 예측 모드인 수직(vertical), 그룹 4(group 4)로부터 생성되는 예측 블록이 같은 값을 가진다고 가정할 수 있으므로 이 모드들은 중복성이 존재한다고 판단할 수 있다.It can be assumed that the prediction blocks generated from the reference pixels of the blocks B and C and the prediction blocks generated from the group 4 (group 4) have the same values. Therefore, these modes can be determined as redundancy have.

블록 A, D, B, C의 참조 화소를 사용하여 생성되는 예측 모드인 수평(horizontal), 그룹 2(group 2), 그룹 3(group 3), 수직(vertical), 그룹 4(group 4), DC, 플레이너(Planar)로부터 생성되는 예측 블록이 같은 예측 블록을 가진다고 가정할 수 있으므로 이 모드들은 중복성이 발생한다고 판단할 수 있다. 즉, 연속하는 블록들의 분산을 계산(σADB, σBC, σADBC)하여 경계값보다 작은 경우 임을 확인할 수 있다.Horizontal, group 2, group 3, vertical, group 4, and group 4, which are prediction modes generated using reference pixels of blocks A, D, B, and C, DC, and Planar are assumed to have the same prediction block, it can be determined that redundancy occurs in these modes. That is, it can be confirmed that the variance of consecutive blocks is calculated (σ ADB , σ BC , σ ADBC ), which is smaller than the boundary value.

도 27의 경우 A, D, B, C의 분산이 경계값보다 작을 경우이며 가장 많은 중복성을 발생시키는 경우라 확인할 수 있다. 그리고 위와 같이 중복성을 제거하여 MPM 후보군을 재설정할 수 있다. 분산은 위의 예의 설명을 위해 언급되었지만 이에 한정되지 않는다. In the case of FIG. 27, when the variance of A, D, B and C is smaller than the boundary value, it can be confirmed that the most redundancy occurs. The MPM candidate group can be reset by removing redundancy as described above. Dispersion is mentioned for illustrative purposes in the above example, but is not limited thereto.

만약 블록 A의 예측모드와 블록 B의 예측모드가 다를 경우 위의 도 19을 참조하면, MPM[0] = 블록 A의 예측모드, MPM[1] = 블록 B의 예측모드, MPM[2] = (블록 A의 예측모드, 블록 B의 예측모드에 따라) 플레이너(Planar), DC, 수직(vertical) 중 하나가 설정될 수 있다. 만약, (둘 중에 하나가 group 1에, 나머지는 그 외의 경우) 블록 A의 예측모드가 위의 분산값의 비교를 통해 같은 예측 블록을 만든다고 분류된 수평(horizontal), 그룹(group) 2, 3, 수직(vertical), group 4, DC, 플레이너(Planar) 중 하나이고, 블록 B의 예측모드는 그룹(group) 1의 모드 중 하나이면 MPM[0] = 블록 A의 예측모드, MPM[1] = 블록 B의 예측모드, MPM[2] = group 1의 모드 중 블록 B의 예측모드와 중복되지 않는 모드로 구성이 될 수 있다. 두 모드가 모두 그룹(group) 1에 속할 경우에는 MPM[0] = 블록 A의 예측모드, MPM[1] = 블록 B의 예측모드, MPM[2] = 플레이너(Planar)로 구성될 수 있다. 만약 두 모드가 모두 그룹(group) 1에 속하지 않는다면, MPM[0] = 블록 A의 예측모드, MPM[1] = 그룹(group) 1의 모드 중 하나, MPM[2] = MPM[1]과 중복되지 않는 group 1의 모드 중 하나로 구성이 될 수 있다. 블록 A의 예측모드와 블록 B의 예측모드가 같고 두 모드가 모드 2(mode 2)보다 커서(DC, 플레이너(Planar)가 아닐 때) 도 19의 가운데로 빠질 때, 두 모드가 수평(horizontal), group 2, 3, 수직(vertical), group 4 중 하나라면 MPM[0] = 블록 A의 예측모드, MPM[1] = group 1 모드 중 하나, MPM[2] = MPM[1]과 중복되지 않는 group 1 모드 중 하나로 구성될 수 있다. 그렇지 않을 때는, MPM[0] = 블록 A의 예측모드, MPM[1] = 블록 A의 예측모드 1, MPM[2] = 블록 A의 예측모드 + 1로 구성될 수 있다. 만약 두 모드가 같고 두 모드가 mode2보다 작을 때(DC, 플레이너(Planar) 중 하나), MPM[0] = 플레이너(Planar), MPM[1] = 그룹(group) 1의 모드 중 하나, MPM[2] = MPM[1]과 중복되지 않는 그룹(group) 1의 모드 중 하나로 구성이 될 수 있다.Referring to FIG. 19, MPM [0] = prediction mode of block A, MPM [1] = prediction mode of block B, MPM [2] = prediction mode of block B, (Depending on the prediction mode of the block A and the prediction mode of the block B), one of Planar, DC, and vertical may be set. If the prediction mode of block A is horizontal, group 2, or 3, which is classified as creating the same prediction block through comparison of the above variance values (one of which is in group 1 and the rest is otherwise) MPM [0] = prediction mode of block A, MPM [1] if MPM [1] is one of the modes of group 1, vertical, group 4, DC, ] = The prediction mode of the block B, and the mode of the block B of the mode of the MPM [2] = group 1. MPM [1] = prediction mode for block B, and MPM [2] = planar for MPM [0] = prediction mode for block A if both modes belong to group 1 . If both modes do not belong to group 1, MPM [0] = prediction mode of block A, MPM [1] = one of the modes of group 1, MPM [2] = MPM [ It can be configured as one of the non-overlapping group 1 modes. When both the prediction mode of the block A and the prediction mode of the block B are the same and the two modes are larger than the mode 2 (DC, not the planar) MPM [1] = one of the group 1 modes, and MPM [2] = MPM [1], if MPM [0] is one of group 2, 3, Or one of the group 1 modes that are not in the group 1 mode. MPM [1] = prediction mode 1 of the block A, and MPM [2] = prediction mode + 1 of the block A. If not, the MPM [0] If both modes are the same and two modes are less than mode2 (DC, one of Planar), MPM [0] = Planar, MPM [1] = one of the modes of group 1, MPM [2] = MPM [1] and a group 1 mode that does not overlap with MPM [1].

도 28은 본 발명의 실시예에 따른 화면 내 예측을 수행하는 영상 부호화 방법을 나타내는 흐름도이다.28 is a flowchart illustrating a video encoding method for performing intra-frame prediction according to an embodiment of the present invention.

도 28을 참조하면, 화면 내 예측을 수행하는 영상 부호화 방법은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계(S210), 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계(S220), MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계(S230), 중복성이 있는 것으로 판단되면, 좌측 블록과 인접하거나 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 MPM군을 선정하는 단계(S240) 및 선정된 MPM군을 기초로, 현재 블록에 대한 화면 내 예측 모드 부호화를 수행하는 단계(S250)를 포함할 수 있다.Referring to FIG. 28, an image encoding method for intra-frame prediction includes determining whether a left block and an upper block of a current block are available for a reference pixel configuration of a current block (S210) A step S230 of selecting an MPM candidate (S220), a step S230 of determining redundancy of a prediction block derived from an intra prediction mode in the MPM candidate group (S230), and if it is determined that there is redundancy, Selecting an MPM group using a prediction mode of a replacement block adjacent to the upper block (S240), and performing intra-picture prediction mode encoding on the current block based on the selected MPM group (S250) .

여기서, 이용 가능한지 여부를 결정하는 단계(S210)는, 좌측 블록 및 상단 블록 각각에 대하여, 영상 경계 밖에 존재 하거나, 화면 간 예측으로 부호화된 경우에는 이용 불가능으로 결정되고, 그 밖에는 이용 가능으로 결정될 수 있다.Here, the step of determining whether or not it is available (S210) is determined to be unavailable when it exists outside the video boundary for each of the left block and the uppermost block, or when it is coded by inter-picture prediction, have.

여기서, MPM 후보군은, 좌측 블록 및 상단 블록 중 이용 가능으로 결정된 블록에 대한 화면 내 예측 모드, 이용 불가능으로 결정된 블록에 대해 미리 설정된 화면 내 예측 모드, 플레이너(Planar) 예측 모드, 수직(Vertical) 예측 모드 및 DC 예측 모드 중에서 적어도 하나를 포함하여 선정될 수 있다.Here, the MPM candidate group includes an intra-picture prediction mode for a block determined to be usable among a left block and an upper block, an intra-picture prediction mode preset for a block determined to be unavailable, a Planar prediction mode, A prediction mode, and a DC prediction mode.

여기서, 중복성을 판단하는 단계(S230)는, 좌측 블록 및 상단 블록이 모두 이용 가능한 경우, 현재 블록의 좌하단, 좌측, 좌상단, 상단, 우상단에 위치한 블록들 중 연속하는 2 이상의 블록들 내의 참조 화소 값에 대하여 산출한 분산 값을 기초로, 중복성을 판단할 수 있다. 예를 들면, 연속하는 2 이상의 블록을 선정하여 그룹화하고, 선정한 그룹의 분산값을 각각 산출하며, 산출된 분산값이 경계값보다 작은 경우에 중복성이 있는 것으로 판단할 수 있다.If the left block and the upper block are all available, the redundancy determination step S230 determines whether or not the left block and the upper block are available, the reference pixels in two or more consecutive blocks among the blocks located at the lower left, upper left, upper left, The redundancy can be judged based on the variance value calculated with respect to the value. For example, two or more consecutive blocks may be selected and grouped, the variance values of the selected groups may be calculated, and it may be determined that redundancy exists when the calculated variance value is smaller than the boundary value.

여기서, 중복성을 판단하는 단계(S230)는, 좌측 블록 또는 상단 블록 중 적어도 하나가 이용 불가능한 경우, 이용 불가능한 블록과 현재 블록 사이의 경계 화소들 만을 참조하여 구성되는 화면 내 예측 모드를 선정하는 단계 및 선정된 예측 모드 중 적어도 2개가 상기 MPM 후보군에 포함되어 있으면, 중복성이 있는 것으로 판단하는 단계를 포함할 수 있다.The step of determining redundancy (S230) includes the steps of: selecting an intra prediction mode configured by referring only to boundary pixels between the unavailable block and the current block when at least one of the left block and the upper block is unavailable; And determining that there is redundancy if at least two of the selected prediction modes are included in the MPM candidate group.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 선택될 수 있다.Here, the replacement block may be selected from neighboring blocks located at the lower left, upper left, and upper right of the current block.

여기서 이웃 블록이, 하나 이상의 블록으로 구성된 경우에, 대체 블록은 하나 이상의 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, when the neighboring block is composed of one or more blocks, the replacement block may be selected in the clockwise or counterclockwise priority among the one or more blocks.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, the replacement block may be selected in the clockwise or counterclockwise priority order among the neighboring blocks located at the lower left, upper left, and upper right of the current block.

본 발명의 실시예에 따른, 화면 내 예측을 수행하는 영상 복호화 방법은, 수신된 비트 스트림으로부터, 현재 블록에 대한 예측 모드가 MPM(Most Probable Mode)군에 포함되어 있는지 여부에 대한 데이터를 추출하는 단계, 데이터를 기초로, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는지 결정하는 단계, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는 것으로 결정되면, 수신된 비트 스트림으로부터, 현재 블록의 MPM군 인덱스 데이터를 추출하는 단계, 추출된 MPM군 인덱스 데이터에 기초하여, 상기 MPM군에서 현재 블록에 대한 예측 모드를 확인하는 단계 및 확인된 예측 모드를 기초로, 현재 블록에 대한 화면 내 예측을 수행하는 단계를 포함할 수 있다.According to an embodiment of the present invention, an image decoding method for performing intra-frame prediction includes extracting data on whether a prediction mode for a current block is included in an MPM (Most Probable Mode) group from a received bitstream Determining whether a prediction mode for the current block is included in the MPM group based on the data and the prediction mode for the current block are included in the MPM group, Extracting MPM group index data, confirming a prediction mode of the current block in the MPM group based on the extracted MPM group index data, and performing intra-picture prediction on the current block based on the confirmed prediction mode And &lt; / RTI &gt;

여기서, MPM군은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계, 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계, MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계 및 중복성이 있는 것으로 판단되면, 좌측 블록과 인접하거나 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 선정될 수 있다.Here, the MPM group determines whether or not the left block and the upper block of the current block are available for the reference pixel configuration of the current block, selecting the MPM (Most Probable Mode) candidate group based on the determined result, Determining the redundancy of the prediction block derived from the intra prediction mode in the MPM candidate group and determining whether there is redundancy, using the prediction mode of the adjacent block adjacent to the left block or a replacement block adjacent to the upper block.

여기서, 이용 가능한지 여부를 결정하는 단계는, 좌측 블록 및 상단 블록 각각에 대하여, 영상 경계 밖에 존재 하거나, 화면 간 예측으로 부호화된 경우에는 이용 불가능으로 결정하고, 그 밖에는 이용 가능으로 결정할 수 있다.Here, the step of determining whether or not it is available may be determined to be unavailable if it exists outside the image boundary with respect to each of the left block and the uppermost block, or when it is coded with the inter-picture prediction, and otherwise, it may be determined to be usable.

여기서, MPM 후보군은, 좌측 블록 및 상단 블록 중 이용 가능으로 결정된 블록에 대한 화면 내 예측 모드, 이용 불가능으로 결정된 블록에 대해 미리 설정된 화면 내 예측 모드, 플레이너(Planar) 예측 모드, 수직(Vertical) 예측 모드 및 DC 예측 모드 중에서 선정될 수 있다.Here, the MPM candidate group includes an intra-picture prediction mode for a block determined to be usable among a left block and an upper block, an intra-picture prediction mode preset for a block determined to be unavailable, a Planar prediction mode, A prediction mode, and a DC prediction mode.

여기서, 예측 블록의 중복성을 판단하는 것은, 좌측 블록 및 상단 블록이 모두 이용 가능한 경우, 현재 블록의 좌하단, 좌, 좌상단, 상단, 우상단에 위치한 블록들 중 연속하는 2 이상의 블록들 내의 참조 화소 값에 대하여 산출한 분산 값을 기초로, 판단할 수 있다.The determination of the redundancy of the prediction block is made by determining the reference pixel value in two or more consecutive blocks among the blocks located at the lower left, upper left, upper left, upper left, and upper right of the current block, Can be determined based on the variance value calculated with respect to the above.

여기서, 예측 블록의 중복성을 판단하는 단계는, 좌측 블록 또는 상단 블록 중 적어도 하나가 이용 불가능한 경우, 이용 불가능한 블록과 현재 블록 사이의 경계 화소들 만을 참조하여 구성되는 화면 내 예측 모드를 선정하고, 선정된 예측 모드 중 적어도 2개가 MPM 후보군에 포함되어 있으면, 중복성이 있는 것으로 판단할 수 있다.The determining of the redundancy of the prediction block may include selecting an intra prediction mode configured by referring to only the boundary pixels between the unavailable block and the current block when at least one of the left block and the upper block is unavailable, If at least two of the prediction modes included in the MPM candidate group are judged to be redundant.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 선택될 수 있다.Here, the replacement block may be selected from neighboring blocks located at the lower left, upper left, and upper right of the current block.

여기서, 이웃 블록이, 하나 이상의 블록으로 구성된 경우에, 대체 블록은 상기 하나 이상의 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, when the neighboring block is composed of one or more blocks, the replacement block may be selected in the clockwise or counterclockwise priority order among the one or more blocks.

여기서, 대체 블록은, 현재 블록의 좌하단, 좌상단, 우상단에 위치한 이웃 블록 중에서 시계방향 또는 반 시계방향의 우선 순위로 선택될 수 있다.Here, the replacement block may be selected in the clockwise or counterclockwise priority order among the neighboring blocks located at the lower left, upper left, and upper right of the current block.

본 발명의 실시예에 따른 하나 이상의 프로세서들을 포함하는 영상 복호화 장치에서, 하나 이상의 프로세서들은, 수신된 비트 스트림으로부터, 현재 블록에 대한 예측 모드가 MPM(Most Probable Mode)군에 포함되어 있는지 여부에 대한 데이터를 추출하고, 데이터를 기초로, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는지 결정하며, 현재 블록에 대한 예측 모드가 MPM군에 포함되어 있는 것으로 결정되면, 수신된 비트 스트림으로부터, 현재 블록의 MPM군 인덱스 데이터를 추출한 후, 추출된 MPM군 인덱스 데이터에 기초하여, MPM군에서 현재 블록에 대한 예측 모드를 확인하여 확인된 예측 모드를 기초로, 현재 블록에 대한 화면 내 예측을 수행할 수 있다.In an image decoding apparatus including one or more processors according to an embodiment of the present invention, one or more processors may determine, from a received bitstream, whether a prediction mode for a current block is included in a MPM (Most Probable Mode) Extracts data, and determines whether a prediction mode for the current block is included in the MPM group based on the data. If it is determined that the prediction mode for the current block is included in the MPM group, Extracts the MPM group index data of the block, and based on the extracted MPM group index data, performs intra-picture prediction on the current block based on the confirmed prediction mode by confirming the prediction mode for the current block in the MPM group .

여기서, MPM군은, 현재 블록의 좌측 블록 및 상단 블록 각각에 대하여 현재 블록의 참조 화소 구성에 이용 가능한지 여부를 결정하는 단계, 결정한 결과를 기초로, MPM(Most Probable Mode) 후보군을 선정하는 단계, MPM 후보군 내의 화면 내 예측 모드에서 도출되는 예측 블록의 중복성을 판단하는 단계 및 중복성이 있는 것으로 판단되면, 좌측 블록과 인접하거나 상단 블록과 인접한 대체 블록의 예측 모드를 이용하여 선정될 수 있다.Here, the MPM group determines whether or not the left block and the upper block of the current block are available for the reference pixel configuration of the current block, selecting the MPM (Most Probable Mode) candidate group based on the determined result, Determining the redundancy of the prediction block derived from the intra prediction mode in the MPM candidate group and determining whether there is redundancy, using the prediction mode of the adjacent block adjacent to the left block or a replacement block adjacent to the upper block.

여기서, 이용 가능한지 여부를 결정하는 단계는, 좌측 블록 및 상단 블록 각각에 대하여, 영상 경계 밖에 존재 하거나, 화면 간 예측으로 부호화된 경우에는 이용 불가능으로 결정하고, 그 밖에는 이용 가능으로 결정할 수 있다.Here, the step of determining whether or not it is available may be determined to be unavailable if it exists outside the image boundary with respect to each of the left block and the uppermost block, or when it is coded with the inter-picture prediction, and otherwise, it may be determined to be usable.

여기서, 예측 블록의 중복성을 판단하는 단계는, 좌측 블록 또는 상단 블록 중 적어도 하나가 이용 불가능한 경우, 이용 불가능한 블록과 현재 블록 사이의 경계 화소들 만을 참조하여 구성되는 화면 내 예측 모드를 선정하고, 선정된 예측 모드 중 적어도 2개가 상기 MPM 후보군에 포함되어 있으면, 중복성이 있는 것으로 판단할 수 있다.The determining of the redundancy of the prediction block may include selecting an intra prediction mode configured by referring to only the boundary pixels between the unavailable block and the current block when at least one of the left block and the upper block is unavailable, If at least two of the prediction modes included in the MPM candidate group are included in the MPM candidate group, it can be determined that redundancy exists.

전술한 실시예에 의하면, 화면 내 예측 기술이 사용되고 있는 MPEG-2, MPEG-4, H.264 등의 국제 코덱 또는 기타 다른 코덱과 이 코덱들을 사용하는 매체, 그리고 영상 산업에 전반적으로 이용가능한 고성능 고효율의 영상 부호화 복호화 기술을 제공할 수 있다.According to the embodiments described above, it is possible to use an international codec such as MPEG-2, MPEG-4, or H.264 or other codecs in which the intra prediction technique is used, a medium using these codecs, A high-efficiency image encoding / decoding technique can be provided.

또한, 향후에는 현재의 고효율 영상 부호화 기술(HEVC) 및 H.264/AVC와 같은 표준 코덱과 화면 내 예측을 사용하는 영상 처리 분야에 적용이 예상된다.In future, it is expected to be applied to the current high efficiency image coding technology (HEVC) and standard codec such as H.264 / AVC and the image processing field using intra prediction.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

Claims (21)

화면 간 예측을 수행하는 영상 부호화 방법에 있어서,
현재 블록에 대한 참조 픽쳐 리스트 0 및 참조 픽쳐 리스트 1을 생성하는 단계, 상기 참조 픽쳐 리스트 0 및 상기 참조 픽쳐 리스트 1 각각은 상기 현재 블록을 포함하는 현재 픽쳐 이전에 부호화된 픽쳐들 중 적어도 하나를 포함함, 상기 현재 블록에 대해 상기 현재 픽쳐를 이용한 화면 간 예측이 허용되는 경우, 상기 참조 픽쳐 리스트 0 및 상기 참조 픽쳐 리스트 1 각각은 상기 현재 픽쳐를 더 포함함;
상기 참조 픽쳐 리스트 0 및 상기 참조 픽쳐 리스트 1 중 적어도 하나에 기초하여, 상기 현재 블록에 대한 참조 픽쳐를 특정하는 단계;
상기 참조 픽쳐를 이용하여, 상기 현재 블록에 대한 화면 간 예측을 수행하는 단계; 및
참조 픽쳐 리스트에 상기 현재 픽쳐가 포함되는지 여부를 나타내는 정보를 부호화하는 단계를 포함하는, 영상 부호화 방법.
An image encoding method for performing inter picture prediction,
Generating a reference picture list 0 and a reference picture list 1 for a current block, wherein each of the reference picture list 0 and the reference picture list 1 includes at least one of pictures coded before the current picture including the current block If inter-picture prediction using the current picture is allowed for the current block, the reference picture list 0 and the reference picture list 1 each further include the current picture;
Specifying a reference picture for the current block based on at least one of the reference picture list 0 and the reference picture list 1;
Performing inter-picture prediction on the current block using the reference picture; And
And encoding information indicating whether or not the current picture is included in the reference picture list.
[청구항 2은(는) 설정등록료 납부시 포기되었습니다.][Claim 2 is abandoned upon payment of the registration fee.] 청구항 1에 있어서,
상기 현재 픽쳐는, 상기 참조 픽쳐 리스트 0의 마지막 위치에 할당되는 것을 특징으로 하는, 영상 부호화 방법.
The method according to claim 1,
Wherein the current picture is allocated to the last position of the reference picture list 0.
[청구항 3은(는) 설정등록료 납부시 포기되었습니다.][Claim 3 is abandoned upon payment of the registration fee.] 청구항 1에 있어서,
상기 참조 픽쳐 리스트 0 내 참조 픽쳐들은, 상기 현재 픽쳐보다 시간적 순서가 앞서는 픽쳐, 상기 현재 픽쳐보다 시간적 순서가 늦은 픽쳐 및 상기 현재 픽쳐의 순으로 배열되는 것을 것을 특징으로 하는, 영상 부호화 방법.
The method according to claim 1,
Wherein the reference pictures in the reference picture list 0 are arranged in the order of a picture whose temporal order is earlier than the current picture, a picture whose temporal order is later than the current picture, and the current picture.
[청구항 4은(는) 설정등록료 납부시 포기되었습니다.][Claim 4 is abandoned upon payment of the registration fee.] 청구항 1에 있어서,
상기 현재 픽쳐는 상기 참조 픽쳐 리스트 1의 마지막 위치에 할당되는 것을 특징으로 하는, 영상 부호화 방법.
The method according to claim 1,
Wherein the current picture is allocated to a last position of the reference picture list.
[청구항 5은(는) 설정등록료 납부시 포기되었습니다.][Claim 5 is abandoned upon payment of registration fee.] 청구항 1에 있어서,
상기 참조 픽쳐 리스트 1 내 참조 픽쳐들은, 상기 현재 픽쳐보다 시간적 순서가 늦은 픽쳐, 상기 현재 픽쳐보다 시간적 순서가 앞서는 픽쳐 및 상기 현재 픽쳐의 순으로 배열되는 것을 특징으로 하는, 영상 부호화 방법.
The method according to claim 1,
Wherein the reference pictures in the reference picture list 1 are arranged in the order of a picture whose temporal order is later than the current picture, a picture whose temporal order is earlier than the current picture, and the current picture.
[청구항 6은(는) 설정등록료 납부시 포기되었습니다.][Claim 6 is abandoned due to the registration fee.] 청구항 1에 있어서,
상기 정보는 픽쳐 단위로 부호화되는 것을 특징으로 하는, 영상 부호화 방법.
The method according to claim 1,
Wherein the information is coded on a picture-by-picture basis.
삭제delete 삭제delete 화면 간 예측을 수행하는 영상 복호화 방법에 있어서,
참조 픽쳐 리스트에 현재 블록을 포함하는 현재 픽쳐가 포함되는지 여부를 나타내는 정보를 복호화하는 단계;
상기 현재 블록에 대한 참조 픽쳐 리스트 0 및 참조 픽쳐 리스트 1을 생성하는 단계, 상기 참조 픽쳐 리스트 0 및 상기 참조 픽쳐 리스트 1 각각은 상기 현재 픽쳐 이전에 복호화된 픽쳐들 중 적어도 하나를 포함함, 상기 참조 픽쳐 리스트 0 및 상기 참조 픽쳐 리스트 1 각각은 상기 정보에 따라 상기 현재 픽쳐를 더 포함함;
상기 참조 픽쳐 리스트 0 및 상기 참조 픽쳐 리스트 1 중 적어도 하나를 기초로, 상기 현재 블록에 대한 참조 픽쳐를 특정하는 단계; 및
상기 참조 픽쳐를 이용하여 상기 현재 블록에 대한 화면 간 예측을 수행하는 단계를 포함하는, 영상 복호화 방법.
An image decoding method for performing inter picture prediction,
Decoding information indicating whether or not a current picture including a current block is included in a reference picture list;
The reference picture list 0 and the reference picture list 1 each include at least one of pictures decoded before the current picture, Each of the picture list 0 and the reference picture list 1 further includes the current picture according to the information;
Specifying a reference picture for the current block based on at least one of the reference picture list 0 and the reference picture list 1; And
And performing inter-picture prediction on the current block using the reference picture.
[청구항 10은(는) 설정등록료 납부시 포기되었습니다.][Claim 10 is abandoned upon payment of the registration fee.] 청구항 9에 있어서,
상기 현재 픽쳐는, 상기 참조 픽쳐 리스트 0의 마지막 위치에 할당되는 것을 특징으로 하는, 영상 복호화 방법.
The method of claim 9,
Wherein the current picture is allocated to the last position of the reference picture list 0.
[청구항 11은(는) 설정등록료 납부시 포기되었습니다.][Claim 11 is abandoned upon payment of the registration fee.] 청구항 9에 있어서,
상기 참조 픽쳐 리스트 0 내 참조 픽쳐들은, 상기 현재 픽쳐보다 시간적 순서가 앞서는 픽쳐, 상기 현재 픽쳐보다 시간적 순서가 늦은 픽쳐 및 상기 현재 픽쳐의 순으로 배열되는 것을 특징으로 하는, 영상 복호화 방법.
The method of claim 9,
Wherein the reference pictures in the reference picture list 0 are arranged in the order of a picture whose temporal order is earlier than the current picture, a picture whose temporal order is later than the current picture, and the current picture.
[청구항 12은(는) 설정등록료 납부시 포기되었습니다.][12] has been abandoned due to the registration fee. 청구항 9에 있어서,
상기 현재 픽쳐는 상기 참조 픽쳐 리스트 1의 마지막 위치에 할당되는 것을 특징으로 하는, 영상 복호화 방법.
The method of claim 9,
Wherein the current picture is allocated to a last position of the reference picture list.
[청구항 13은(는) 설정등록료 납부시 포기되었습니다.][13] has been abandoned due to the registration fee. 청구항 9에 있어서,
상기 참조 픽쳐 리스트 1 내 참조 픽쳐들은, 상기 현재 픽쳐보다 시간적 순서가 늦은 픽쳐, 상기 현재 픽쳐보다 시간적 순서가 앞서는 픽쳐 및 상기 현재 픽쳐의 순으로 배열되는 것을 특징으로 하는, 영상 복호화 방법.
The method of claim 9,
Wherein the reference pictures in the reference picture list 1 are arranged in the order of a picture whose temporal order is later than the current picture, a picture whose temporal order is earlier than the current picture, and the current picture.
[청구항 14은(는) 설정등록료 납부시 포기되었습니다.][14] has been abandoned due to the registration fee. 청구항 9에 있어서,
상기 정보는 픽쳐 단위로 복호화되는 것을 특징으로 하는, 영상 복호화 방법.
The method of claim 9,
Wherein the information is decoded on a picture-by-picture basis.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020160070527A 2015-06-05 2016-06-07 Method and apparartus for encoding/decoding for intra prediction mode KR101875762B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150079896 2015-06-05
KR20150079896 2015-06-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180076457A Division KR101988888B1 (en) 2015-06-05 2018-07-02 Method and apparartus for encoding/decoding for intra prediction mode

Publications (2)

Publication Number Publication Date
KR20160143588A KR20160143588A (en) 2016-12-14
KR101875762B1 true KR101875762B1 (en) 2018-07-06

Family

ID=57575558

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160070527A KR101875762B1 (en) 2015-06-05 2016-06-07 Method and apparartus for encoding/decoding for intra prediction mode
KR1020180076457A KR101988888B1 (en) 2015-06-05 2018-07-02 Method and apparartus for encoding/decoding for intra prediction mode

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180076457A KR101988888B1 (en) 2015-06-05 2018-07-02 Method and apparartus for encoding/decoding for intra prediction mode

Country Status (1)

Country Link
KR (2) KR101875762B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102509B2 (en) 2017-04-28 2021-08-24 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bit stream

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117686A2 (en) * 2016-12-21 2018-06-28 세종대학교 산학협력단 Method and device for encoding or decoding video signal
CN117156132A (en) * 2017-01-02 2023-12-01 Lx 半导体科技有限公司 Image encoding/decoding method, method of transmitting image data, and storage medium
US10863198B2 (en) 2017-01-03 2020-12-08 Lg Electronics Inc. Intra-prediction method and device in image coding system for 360-degree video
CN117255197A (en) * 2017-03-22 2023-12-19 韩国电子通信研究院 Prediction method and device based on block form
EP3737093A4 (en) * 2017-11-28 2022-02-09 Electronics and Telecommunications Research Institute Image encoding/decoding method and device, and recording medium stored with bitstream
KR102296536B1 (en) 2018-01-15 2021-09-01 주식회사 비원영상기술연구소 Intra-prediction encoding/decoding method and apparatus for chrominance components
WO2019209028A1 (en) * 2018-04-24 2019-10-31 삼성전자 주식회사 Video encoding method and device and video decoding method and device
US11032551B2 (en) * 2018-12-04 2021-06-08 Tencent America LLC Simplified most probable mode list generation scheme
CN113261286A (en) * 2018-12-28 2021-08-13 韩国电子通信研究院 Method and apparatus for deriving intra prediction mode
WO2020175918A1 (en) * 2019-02-26 2020-09-03 엘지전자 주식회사 Intra prediction-based image coding method and apparatus using unified mpm list
CN113508590A (en) * 2019-02-28 2021-10-15 三星电子株式会社 Apparatus for encoding and decoding image and method for encoding and decoding image thereof
KR20210158386A (en) * 2019-06-13 2021-12-30 엘지전자 주식회사 MIP mode mapping simplified video encoding/decoding method, apparatus, and method of transmitting a bitstream
WO2020251330A1 (en) * 2019-06-13 2020-12-17 엘지전자 주식회사 Image encoding/decoding method and device for utilizing simplified mpm list generation method, and method for transmitting bitstream
EP3989548A4 (en) * 2019-06-19 2022-09-21 Electronics and Telecommunications Research Institute Intra prediction mode, and entropy encoding/decoding method and device
WO2020262951A1 (en) 2019-06-24 2020-12-30 현대자동차주식회사 Method and apparatus for intra prediction coding of video data
CN111586416B (en) * 2020-06-02 2024-07-12 浙江大华技术股份有限公司 Video coding method, device, coder and storage device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009896A1 (en) * 2011-07-12 2013-01-17 Huawei Technologies Co. Ltd. Pixel-based intra prediction for coding in hevc
KR20130029693A (en) * 2011-09-15 2013-03-25 주식회사 아이벡스피티홀딩스 Method for encoding and decoding intra prediction mode
KR20130089608A (en) * 2012-02-02 2013-08-12 한국전자통신연구원 Methods and apparatuses of inter-layer prediction for vidio signal
KR20140008503A (en) * 2012-07-10 2014-01-21 한국전자통신연구원 Method and apparatus for image encoding/decoding
KR20140029520A (en) * 2011-06-13 2014-03-10 퀄컴 인코포레이티드 Border pixel padding for intra prediction in video coding
KR101502758B1 (en) * 2010-12-21 2015-03-17 한국전자통신연구원 Method for coding/decoding of intra prediction mode and apparatus thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502758B1 (en) * 2010-12-21 2015-03-17 한국전자통신연구원 Method for coding/decoding of intra prediction mode and apparatus thereof
KR20140029520A (en) * 2011-06-13 2014-03-10 퀄컴 인코포레이티드 Border pixel padding for intra prediction in video coding
WO2013009896A1 (en) * 2011-07-12 2013-01-17 Huawei Technologies Co. Ltd. Pixel-based intra prediction for coding in hevc
KR20130029693A (en) * 2011-09-15 2013-03-25 주식회사 아이벡스피티홀딩스 Method for encoding and decoding intra prediction mode
KR20130089608A (en) * 2012-02-02 2013-08-12 한국전자통신연구원 Methods and apparatuses of inter-layer prediction for vidio signal
KR20140008503A (en) * 2012-07-10 2014-01-21 한국전자통신연구원 Method and apparatus for image encoding/decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Viktor W., "Constrained Intra Prediction Scheme for Flexible-Sized Prediction Units in HEVC, JCTVC-D094,2011.1.14. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102509B2 (en) 2017-04-28 2021-08-24 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bit stream
US11558640B2 (en) 2017-04-28 2023-01-17 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bit stream
US11943475B2 (en) 2017-04-28 2024-03-26 Intellectual Discovery Co., Ltd. Image encoding/decoding method and device, and recording medium storing bitstream

Also Published As

Publication number Publication date
KR101988888B1 (en) 2019-06-13
KR20180080166A (en) 2018-07-11
KR20160143588A (en) 2016-12-14

Similar Documents

Publication Publication Date Title
KR101988888B1 (en) Method and apparartus for encoding/decoding for intra prediction mode
US20220321875A1 (en) Method and device for encoding and decoding intra-frame prediction
KR102558270B1 (en) Method and apparatus of image encoding/decoding using adaptive deblocking filtering
KR102462012B1 (en) Image encoding/decoding method and image decoding apparatus using motion vector precision
KR101966195B1 (en) Method and apparatus of image encoding/decoding using reference pixel composition in intra prediction
KR101782156B1 (en) Image encoding method and image decoding method and apparatus using adaptive deblocking filtering
KR101782153B1 (en) Method for selecting motion vector candidate and method for encoding/decoding image using the same
KR20220024304A (en) Image encoding/decoding method and image decoding apparatus using motion vector precision

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant