KR102248172B1 - Method and apparatus for video encoding/decoding using image analysis - Google Patents

Method and apparatus for video encoding/decoding using image analysis Download PDF

Info

Publication number
KR102248172B1
KR102248172B1 KR1020150043410A KR20150043410A KR102248172B1 KR 102248172 B1 KR102248172 B1 KR 102248172B1 KR 1020150043410 A KR1020150043410 A KR 1020150043410A KR 20150043410 A KR20150043410 A KR 20150043410A KR 102248172 B1 KR102248172 B1 KR 102248172B1
Authority
KR
South Korea
Prior art keywords
current block
block
motion vector
image
parameter
Prior art date
Application number
KR1020150043410A
Other languages
Korean (ko)
Other versions
KR20160111293A (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 KR20160111293A publication Critical patent/KR20160111293A/en
Priority to KR1020210049585A priority Critical patent/KR102363132B1/en
Application granted granted Critical
Publication of KR102248172B1 publication Critical patent/KR102248172B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

영상 분석에 따른 영상 특성에 기반하여 비디오를 부호화/복호화하는 방법 및 장치가 개시된다. 영상 분석을 이용한 비디오 부호화 방법은, 미리 설정된 대역 구분에 기반하여 현재 블록에 포함된 화소를 분류하는 단계와; 화소에 대한 분류 결과를 이용하여 현재 블록의 영상 특성을 분석하는 단계와; 영상 특성에 대한 분석 결과에 따라 현재 블록에 인트라 예측을 수행하는 단계를 포함한다. 따라서, 스크린 콘텐츠와 같이 자연 영상과 다른 영상 특성을 가진 영상에 대해 반전 움직임을 적용한 인트라 예측 및 대체값을 적용하는 인루프 필터링을 통하여 부호화 효율을 향상시킴과 복잡도를 감소시킬 수 있다.Disclosed are a method and apparatus for encoding/decoding a video based on image characteristics according to image analysis. A video encoding method using image analysis includes: classifying a pixel included in a current block based on a predetermined band division; Analyzing an image characteristic of a current block by using the classification result for the pixel; And performing intra prediction on the current block according to the analysis result of the image characteristics. Accordingly, it is possible to improve coding efficiency and reduce complexity through intra prediction to which inversion motion is applied and in-loop filtering to which replacement values are applied to an image having an image characteristic different from a natural image, such as a screen content.

Figure R1020150043410
Figure R1020150043410

Description

영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치{METHOD AND APPARATUS FOR VIDEO ENCODING/DECODING USING IMAGE ANALYSIS}Video encoding/decoding method and apparatus using image analysis {METHOD AND APPARATUS FOR VIDEO ENCODING/DECODING USING IMAGE ANALYSIS}

본 발명은 비디오 부호화/복호화에 관한 것으로, 더욱 상세하게는 영상 분석에 따른 영상 특성에 기반하여 비디오를 부호화/복호화하는 방법 및 장치에 관한 것이다.The present invention relates to video encoding/decoding, and more particularly, to a method and apparatus for encoding/decoding a video based on image characteristics according to image analysis.

종래의 H.264/AVC와 비교하여 약 2 배 이상의 압축 효율을 갖는 것으로 알려져 있는 차세대 비디오 압축 표준 기술로 HEVC(High Efficiency Video Coding)에 대한 표준화가 진행되어 최근에 완료되었다. As a next-generation video compression standard technology known to have a compression efficiency of about twice or more compared to the conventional H.264/AVC, the standardization of High Efficiency Video Coding (HEVC) has been progressed and has been recently completed.

HEVC는 쿼드트리(quadtree) 구조를 가진 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit)을 정의하고 있으며, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset), 디블록킹 필터(Deblocking filter)와 같은 인루프 필터를 적용하고 있다. 또한, 기존의 인트라 예측(intra prediction) 및 인터 예측(inter prediction)을 개선하여 압축 부호화 효율을 향상시키고 있다. HEVC defines a coding unit (CU), a prediction unit (PU), and a transform unit (TU) having a quadtree structure, and is a sample adaptive offset (SAO). Offset) and in-loop filters such as deblocking filters are applied. In addition, compression coding efficiency is improved by improving existing intra prediction and inter prediction.

기존의 인트라 예측의 경우 영상의 특성에 따라 정확한 예측을 수행하는데 어려움이 따른다. 특히, 외삽 방식으로 예측 블록을 생성하는 경우 일반적으로 예측 화소와 참조 화소의 거리가 멀어질수록 예측의 정확도가 떨어지는 단점이 있다. In the case of conventional intra prediction, it is difficult to perform accurate prediction according to the characteristics of an image. In particular, when a prediction block is generated by an extrapolation method, there is a disadvantage in that the accuracy of prediction decreases as the distance between the prediction pixel and the reference pixel increases.

또한, 화면 내에 어느 임의의 모양 및 선 등의 패턴이 반복하여 나타나는 경우 역시 기존의 인트라 예측으로는 정확한 예측을 수행할 수 없다. 이러한 문제점을 극복하기 위해서 인터 예측에서 사용되는 블록 매칭 알고리즘(block matching algorithm)과 같은 방식의 움직임 탐색 및 보상을 사용하여 예측을 수행하거나 현재 블록의 이웃하는 참조 화소를 활용하여 구성된 템플릿(template)을 이용하여 움직임 탐색 및 보상을 수행할 수 있다. 더 나아가, 상기 언급된 방법들과 비슷한 목적을 갖는 다른 방법 등을 사용하여 수행할 경우 예측의 정확도를 높일 수 있다. In addition, when a pattern, such as a certain shape and line, is repeatedly displayed in the screen, accurate prediction cannot be performed with the existing intra prediction. To overcome this problem, prediction is performed using motion search and compensation in the same manner as the block matching algorithm used in inter prediction, or a template constructed using neighboring reference pixels of the current block is used. Using this, motion search and compensation can be performed. Furthermore, when it is performed using another method having a similar purpose to the above-mentioned methods, the accuracy of the prediction can be improved.

예를 들어, 블록 매칭 알고리즘의 경우, 현재 블록 이전의 부호화 및 복호화가 완료된 영역에서 현재 블록 단위로 움직임 탐색 및 보상을 통해 최적의 부호화 비용(화소 간 유사도를 기준으로 할 경우, SAD(sum of absolute difference), SATD(sum of absolute transformed difference) 또는 SSD(sum of the squared difference)를 포함하거나 그 이외의 방식이 사용될 수 있고, RDO(rate distortion optimization)등과 같은 율-왜곡 방식으로 화소 간의 유사도 및 발생 비트 등을 고려하여 비용을 유도하는 방식이 사용될 수도 있다. For example, in the case of the block matching algorithm, the optimal encoding cost (SAD (sum of absolute) is based on the similarity between pixels by searching and compensating for motion in the current block unit in the region where the encoding and decoding is completed before the current block. difference), sum of absolute transformed difference (SATD), sum of the squared difference (SSD), or other methods may be used, and similarity and occurrence between pixels in a rate-distortion method such as rate distortion optimization (RDO) A method of inducing cost in consideration of bits and the like may be used.

그러나, 인트라 예측의 한 방법으로 움직임 탐색 및 보상을 사용하여 예측 블록을 생성할 경우, 스크린 콘텐츠와 같은 일부 영상의 특성을 갖는 영역에서 예측의 정확도가 떨어질 수 있다.However, when a prediction block is generated using motion search and compensation as a method of intra prediction, the accuracy of prediction may be degraded in a region having characteristics of some images such as screen content.

또한, 스크린 콘텐츠와 같은 일부 영상의 특성을 갖는 영역에서 SAO 기법의 효율성이 떨어지는 문제점이 있다.In addition, there is a problem that the efficiency of the SAO technique is deteriorated in a region having characteristics of some images such as screen content.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 영상에 대한 분석을 통하여 비디오를 적응적으로 부호화하고 복호화하는 방법을 제공하는데 있다.An object of the present invention for solving the above problems is to provide a method of adaptively encoding and decoding a video through analysis of an image.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 영상에 대한 분석을 통하여 비디오를 적응적으로 부호화하고 복호화하는 장치를 제공하는데 있다.Another object of the present invention for solving the above problems is to provide an apparatus for adaptively encoding and decoding a video through analysis of an image.

상기 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 방법은, 미리 설정된 대역 구분에 기반하여 현재 블록에 포함된 화소를 분류하는 단계와; 화소에 대한 분류 결과를 이용하여 현재 블록의 영상 특성을 분석하는 단계와; 영상 특성에 대한 분석 결과에 따라 현재 블록에 인트라 예측을 수행하는 단계를 포함한다.A video encoding method using image analysis according to an embodiment of the present invention for achieving the above object includes: classifying a pixel included in a current block based on a preset band division; Analyzing an image characteristic of a current block by using the classification result for the pixel; And performing intra prediction on the current block according to the analysis result of the image characteristics.

여기에서, 상기 현재 블록에 포함된 화소를 분류하는 단계는, 화소의 휘도가 속하는 대역에 대한 정보 및 해당 대역이 차지하는 빈도에 대한 정보를 포함한 인덱스 맵의 형태로 화소에 대한 분류 결과를 산출할 수 있다. Here, in the step of classifying the pixels included in the current block, the classification result for the pixel may be calculated in the form of an index map including information on a band to which the luminance of the pixel belongs and information on the frequency occupied by the band. have.

여기에서, 상기 현재 블록의 영상 특성을 분석하는 단계는, 화소에 대한 분류 결과를 이용하여 현재 블록에 에지가 존재하는지 여부, 현재 블록이 배경 영역인지 여부, 현재 블록이 스크린 콘텐츠 영역인지 여부 중 적어도 하나를 분석할 수 있다. Here, analyzing the image characteristics of the current block may include at least one of whether an edge exists in the current block, whether the current block is a background area, or whether the current block is a screen content area, based on the classification result for the pixel. One can be analyzed.

여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 영상 특성에 대한 분석 결과에 기반하여 블록 매칭 또는 템플릿 매칭에 따른 인트라 예측에 반전 움직임을 적용할지 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다. Here, in the performing of intra prediction on the current block, the intra prediction is performed on the current block by determining whether to apply reverse motion to intra prediction according to block matching or template matching based on the analysis result of the image characteristics. can do.

여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. Here, in the step of performing intra prediction on the current block, when an edge exists in the current block or when the current block is a screen content area, intra prediction may be performed on the current block by applying an inversion motion.

여기에서, 상기 방법은, 영상 특성에 대한 분석 결과에 따라 현재 블록을 복원한 복원 블록에 인루프 필터링을 수행하는 단계를 더 포함할 수 있다. Here, the method may further include performing in-loop filtering on the reconstructed block reconstructing the current block according to the analysis result of the image characteristic.

여기에서, 상기 인루프 필터링을 수행하는 단계는, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. Here, in the performing of the in-loop filtering, filtering may be performed using a sample adaptive offset (SAO) or a substitute value.

여기에서, 상기 인루프 필터링을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록을 복원한 복원 블록에 대체값을 적용하여 필터링을 수행할 수 있다. Here, in the performing of the in-loop filtering, when an edge exists in the current block or when the current block is a screen content area, filtering may be performed by applying a replacement value to a reconstructed block reconstructing the current block. have.

상기 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 방법은, 현재 블록의 영상 특성에 대한 분석 결과에 따라 현재 블록에 대한 복호화 방법을 결정하는 단계와; 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 반전 움직임의 적용 여부를 결정하여 현재 블록에 인트라 예측을 수행하는 단계를 포함한다. A video decoding method using image analysis according to an embodiment of the present invention for achieving the above object includes: determining a decoding method for a current block according to an analysis result of an image characteristic of the current block; And performing intra prediction on the current block by determining whether to apply the inversion motion based on a decoding method for the current block according to the analysis result of the image characteristics.

여기에서, 상기 영상 특성에 대한 분석 결과는, 현재 블록에 에지가 존재하는지 여부, 현재 블록이 배경 영역인지 여부, 현재 블록이 스크린 콘텐츠 영역인지 여부 중 적어도 하나를 분석하여 산출될 수 있다. Here, the analysis result of the image characteristics may be calculated by analyzing at least one of whether an edge exists in the current block, whether the current block is a background area, and whether the current block is a screen content area.

여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 영상 특성에 대한 분석 결과에 기반하여 블록 매칭 또는 템플릿 매칭에 따른 인트라 예측에 반전 움직임을 적용할지 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다. Here, in the performing of intra prediction on the current block, the intra prediction is performed on the current block by determining whether to apply reverse motion to intra prediction according to block matching or template matching based on the analysis result of the image characteristics. can do.

여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. Here, in the step of performing intra prediction on the current block, when an edge exists in the current block or when the current block is a screen content area, intra prediction may be performed on the current block by applying an inversion motion.

여기에서, 상기 방법은, 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 현재 블록에 인루프 필터링을 수행하는 단계를 더 포함할 수 있다. Here, the method may further include performing in-loop filtering on the current block based on a decoding method for the current block according to a result of analyzing the image characteristics.

여기에서, 상기 인루프 필터링을 수행하는 단계는, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. Here, in the performing of the in-loop filtering, filtering may be performed using a sample adaptive offset (SAO) or a substitute value.

여기에서, 상기 인루프 필터링을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록에 대체값을 적용하여 필터링을 수행할 수 있다. Here, in the performing of the in-loop filtering, when an edge exists in the current block or when the current block is a screen content area, filtering may be performed by applying a substitute value to the current block.

상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치는, 현재 블록의 영상 특성에 대한 분석 결과에 따라 상기 현재 블록에 대한 복호화 방법에 대한 정보를 산출하는 엔트로피 복호화부와; 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 반전 움직임의 적용 여부를 결정하여 현재 블록에 인트라 예측을 수행하는 인트라 예측부를 포함한다. In order to achieve the above object, a video decoding apparatus using image analysis according to another embodiment of the present invention includes an entropy decoder that calculates information on a decoding method for the current block according to an analysis result of an image characteristic of the current block. Wow; And an intra prediction unit that performs intra prediction on the current block by determining whether to apply the inversion motion based on a decoding method for the current block according to the analysis result of the image characteristics.

상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 분석을 수행하는 장치는, 미리 설정된 대역을 구분에 기반하여 현재 블록에 포함된 화소를 분류하는 화소 분류부와; 화소에 대한 분류 결과를 이용하여 현재 블록의 영상 특성을 분석하는 영상 분석부와; 영상 특성에 대한 분석 결과에 따라 새로운 모드에 대한 추가가 필요한지 여부를 결정하는 모드 추가 결정부를 포함한다. In order to achieve the above object, an apparatus for performing image analysis according to another embodiment of the present invention includes: a pixel classifying unit for classifying pixels included in a current block based on classification of a preset band; An image analysis unit that analyzes an image characteristic of a current block by using the classification result of the pixel; And a mode addition determination unit that determines whether addition of a new mode is necessary according to a result of analysis of the image characteristics.

여기에서, 상기 모드 추가 결정부는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할지 여부, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 적용할지 여부를 결정할 수 있다.Here, the mode addition determination unit, when an edge exists in the current block or when the current block is a screen content area, whether to perform intra prediction on the current block by applying a reversal motion, a sample adaptive offset (SAO: Sample Adaptive Offset) or alternative values can be used to determine whether to apply filtering.

상기와 같은 본 발명에 따른 영상 분석을 이용한 비디오 부호화/복호화 방법은, 스크린 콘텐츠와 같이 자연 영상과 다른 영상 특성을 가진 영상에 대해 반전 움직임을 적용한 인트라 예측 및 대체값을 적용하는 인루프 필터링을 통하여 부호화 효율을 향상시킴과 복잡도를 감소시킬 수 있다.In the video encoding/decoding method using image analysis according to the present invention as described above, an image having an image characteristic different from a natural image, such as a screen content, is subjected to intra prediction by applying inversion motion and in-loop filtering by applying a substitute value. It is possible to improve coding efficiency and reduce complexity.

도 1은 본 발명의 실시예에 따른 영상 분석을 수행하는 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 화소 분석을 통해 생성한 인덱스 맵을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따라 영상의 일부에 반전이 있는 경우를 설명하기 위한 예시도이다.
도 4는 본 발명의 다른 실시예에 따라 영상에 반전이 있는 경우의 화소 배치를 설명하기 위한 예시도이다.
도 5는 본 발명의 실시예에 따라 반전의 영상 특성을 가진 경우의 움직임 추정을 설명하기 위한 예시도이다.
도 6은 본 발명의 실시예에 따른 영상 특성에 대한 분석을 설명하기 위한 예시도이다.
도 7은 본 발명의 실시예에 따른 영상 특성을 화소 방향성에 기반하여 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따른 화소 대역 분류에 기반한 추가 모드 설정을 설명하기 예시도이다.
도 9는 샘플 적응적 오프셋 기술을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 11은 본 발명의 실시예에 따른 인루프 필터링에 사용되는 파라미터를 설명하기 위한 예시도이다.
도 12는 본 발명의 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 13은 본 발명의 또 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다.
도 14는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 장치를 설명하기 위한 블록도이다.
도 15는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치를 설명하기 위한 블록도이다.
1 is a block diagram illustrating an apparatus for performing image analysis according to an exemplary embodiment of the present invention.
2 is an exemplary diagram illustrating an index map generated through pixel analysis according to an exemplary embodiment of the present invention.
3 is an exemplary diagram for explaining a case where there is an inversion in a part of an image according to an embodiment of the present invention.
4 is an exemplary diagram for explaining an arrangement of pixels when there is an inversion in an image according to another exemplary embodiment of the present invention.
5 is an exemplary diagram for explaining motion estimation in case of having an inversion image characteristic according to an embodiment of the present invention.
6 is an exemplary diagram for explaining an analysis of image characteristics according to an embodiment of the present invention.
7 is an exemplary diagram for explaining an image characteristic according to an embodiment of the present invention based on pixel orientation.
8 is an exemplary diagram for explaining an additional mode setting based on pixel band classification according to an embodiment of the present invention.
9 is an exemplary diagram for describing a sample adaptive offset technique.
10 is an exemplary diagram for describing in-loop filtering according to an embodiment of the present invention.
11 is an exemplary diagram for explaining parameters used for in-loop filtering according to an embodiment of the present invention.
12 is an exemplary diagram for explaining in-loop filtering according to another embodiment of the present invention.
13 is an exemplary diagram for describing in-loop filtering according to another embodiment of the present invention.
14 is a block diagram illustrating a video encoding apparatus using image analysis according to an embodiment of the present invention.
15 is a block diagram illustrating a video decoding apparatus using image analysis according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.

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

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

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless otherwise defined, 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 the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.

이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또 등과 같은 사용자 단말기이거나 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 화면간 또는 화면내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.The video encoding apparatus (Video Encoding Apparatus) and the video decoding apparatus (Video Decoding Apparatus), which will be described later, include a personal computer (PC), a notebook computer, a personal digital assistant (PDA), and a portable multimedia player (PMP). : Portable Multimedia Player), PlayStation Portable (PSP), Wireless Communication Terminal, Smart Phone, TV application server and service server. It is a user terminal or a communication device such as a communication modem for performing communication with a wired/wireless communication network, a memory for storing various programs and data for inter- or intra-screen prediction for encoding or decoding an image, or for encoding or decoding an image, and executing a program Thus, it may mean various devices including a microprocessor for calculation and control.

또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.In addition, the image encoded as a bitstream by the image encoding device can be transmitted through wired or wireless communication networks such as the Internet, short-range wireless communication network, wireless LAN network, WiBro network, mobile communication network, etc. in real time or non-real time, or through a cable or a universal serial bus (USB: Universal Serial Bus) can be transmitted to an image decoding device through various communication interfaces, decoded by the image decoding device, and reconstructed and reproduced as an image.

통상적으로 동영상은 일련의 픽쳐(Picture)로 구성될 수 있으며, 각 픽쳐들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 인트라 내 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽쳐 또는 미래 픽쳐를 참조하여 현재 픽쳐 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽쳐를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다. 또한, 이하에 기재된 "픽쳐(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 본 발명에 있어서 참조가 되는 픽쳐는 복원된 픽쳐를 의미하는 것은 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
In general, a moving picture may be composed of a series of pictures, and each picture may be divided into a predetermined area such as a frame or a block. When a region of an image is divided into blocks, the divided blocks may be largely classified into an intra block and an inter block according to an encoding method. Intra block refers to a block that is coded using an intra prediction coding (Intra Prediction Coding) method.Intra prediction coding is a block using pixels of previously coded, decoded, and reconstructed blocks in the current picture performing the current coding. This is a method of generating a prediction block by predicting a pixel of the current block and encoding a difference value from the pixel of the current block. Inter-block refers to a block that is coded using Inter Prediction Coding.Inter-prediction coding refers to one or more past pictures or future pictures to predict a current block in a current picture, thereby generating a prediction block. This is a method of encoding the difference between and. Here, a frame referred to when encoding or decoding a current picture is referred to as a reference frame. In addition, those of ordinary skill in the art to which the present embodiment pertains that the term "picture" described below may be substituted with other terms having an equivalent meaning such as image, frame, and the like. When you grow up, you can understand. In addition, it can be understood by those of ordinary skill in the art to which the present embodiment belongs that the picture referred to in the present invention means a reconstructed picture.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 영상 분석을 수행하는 장치를 설명하기 위한 블록도이고, 도 2는 본 발명의 실시예에 따른 화소 분석을 통해 생성한 인덱스 맵을 설명하기 위한 예시도이다. 1 is a block diagram illustrating an apparatus for performing image analysis according to an exemplary embodiment of the present invention, and FIG. 2 is an exemplary diagram illustrating an index map generated through pixel analysis according to an exemplary embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 영상 분석을 수행하는 장치(10)는 영상 특성 후보 선택부(11), 화소 분류부(12), 영상 분석부(13), 모드 추가 결정부(14), 추가 모드 실행부(15), 추가 모드 식별 플래그 및 관련 파라미터 부호화부(16)를 포함한다. Referring to FIG. 1, the apparatus 10 for performing image analysis according to an embodiment of the present invention includes an image characteristic candidate selection unit 11, a pixel classification unit 12, an image analysis unit 13, and a mode addition determination unit. (14), an additional mode execution unit 15, an additional mode identification flag and a related parameter encoding unit 16 are included.

또한, 본 발명의 실시예에 따른 영상 분석을 수행하는 장치(10)는 비디오 부호화 장치에 포함되어 구현될 수 있다. In addition, the apparatus 10 for performing image analysis according to an embodiment of the present invention may be implemented by being included in a video encoding apparatus.

영상 특성 후보 선택부(11)는 일정 크기의 부호화 단위에 속해 있는 영상을 미리 설정된 영상 특성의 후보군 중에서 하나를 선택하고, 이를 고려한 추가 모드를 설정할 것인지 선택할 수 있다. The image characteristic candidate selector 11 may select an image belonging to a coding unit having a predetermined size from among a preset image characteristic candidate group, and select whether to set an additional mode in consideration of this.

여기서, 영상 특성 후보군은 다양하게 설정될 수 있는데, 예를 들어, 에지가 존재하는 영역인지 아닌지, 배경에 속하는 영역인지 아닌지, 객체가 존재하는 영역인지 아닌지, 인공적인 영상(컴퓨터 그래픽, 컴퓨터 캡쳐 화면 등)인지 자연 영상인지 및 글자 또는 도형에 속하는 영역인지 아닌지 등과 같이 다양하게 구분될 수 있다. Here, the image characteristic candidate group can be set in various ways, for example, whether or not an edge exists, whether or not it belongs to a background, whether or not an object exists, or an artificial image (computer graphic, computer capture screen). Etc.), whether it is a natural image, and whether or not it belongs to a character or figure.

만약 여러 영상 특성 후보군 중 고려할 영상 특성 후보가 1. 배경에 속하는 영역인지 아닌지와 2. 인공적인 영상인지 아닌지 라면, 화소 분류부(12), 영상 분석부(13) 등의 과정을 통해 1, 2가 참인(즉, 배경에 속하고 인공적인 영상에 속함) 경우에 기존의 필터(기존 모드)에 배경에 속하는 인공적인 영상에 잘 적용될 수 있는 새로운 인루프 필터링을 적용하는 과정을 추가 모드로 설정하여 이들 중에 최적의 필터를 적용할 수 있다. If the image characteristic candidate to be considered among the various image characteristic candidate groups is 1. whether the region belongs to the background or not and 2. whether it is an artificial image or not, 1 and 2 are performed through the process of the pixel classification unit 12 and the image analysis unit 13, etc. If is true (that is, it belongs to the background and belongs to the artificial image), the process of applying a new in-loop filtering that can be well applied to the artificial image belonging to the background to the existing filter (existing mode) is set as an additional mode. Among these, an optimal filter can be applied.

또한, 여러 영상 특성 후보군 중 고려할 영상 특성 후보가 1. 인공적인 영상인지 아닌지와 2. 글자 영역인지 아닌지 라면 이것 역시 이후 과정을 통해 1, 2가 참(즉, 인공적인 영상이면서 글자 영역)이라면 기존의 화면내 예측 방법에 글자 영역을 포함한 인공적인 영상에 잘 적용될 수 있는 새로운 화면내 예측 방법을 추가하여 이들 중에 최적의 화면내 예측 방법을 적용할 수 있다. In addition, if the image characteristic candidate to be considered among the various image characteristic candidate groups is 1. whether or not an artificial image and 2. whether or not it is a text area, this is also an existing image if 1 and 2 are true (ie, an artificial image and a text area) through the subsequent process. A new intra-prediction method that can be well applied to an artificial image including a character region can be added to the intra-screen prediction method of, and an optimal intra-prediction method can be applied among them.

위에 기술한 영상 특성 후보군 이외에 다양한 특성들이 포함될 수 있음은 물론이며, 영상 특성 후보에 따라 고려되는 추가 모드의 범위는 추후 기술될 예측부, 변환부, 양자화부, 인루프 필터부 등에 적용 가능하다. In addition to the image characteristic candidate group described above, various characteristics may be included, and the range of additional modes considered according to the image characteristic candidate can be applied to a prediction unit, a transform unit, a quantization unit, and an in-loop filter unit to be described later.

또한, 영상 특성 후보와 연관되어 고려되는 추가 모드에 대한 정보(또는 영상 특성 후보 선택 플래그)는 시퀀스, 픽쳐, 슬라이스 등의 단위로 전송할 수 있다. In addition, information on an additional mode (or an image characteristic candidate selection flag) considered in association with the image characteristic candidate may be transmitted in units such as a sequence, a picture, and a slice.

영상 특성 후보 선택부(11)로부터 선택된 영상 특성에 대한 분석을 위한 준비 작업이 화소 분류부(12)에서 진행된다. 화소 분류부(11)는 일정 크기의 부호화 단위에 속해 있는 화소의 휘도, 색차, 위치, 변화도, 상관관계 또는 주파수 도메인 상의 계수 등 다양한 기준에 따라 화소를 분류할 수 있다. Preparatory work for analysis of the image characteristics selected by the image characteristic candidate selection unit 11 is performed in the pixel classification unit 12. The pixel classifier 11 may classify pixels according to various criteria such as luminance, color difference, position, degree of gradient, correlation, or coefficient in a frequency domain of a pixel belonging to a coding unit having a predetermined size.

예를 들어, 화소 분류부(12)는 화소의 휘도값에 따라 화소를 분류할 수도 있으며, 주파수 도메인 상에서의 변환 계수에 따라 화소를 분류할 수도 있으며, 화소의 휘도, 색차 성분을 하나의 요소로 구성하여(예를 들어, (Y, Cb, Cr) 또는 (R, G, B)와 같은 벡터 형식으로 표현) 이웃 화소와의 변위에 따라 화소를 분류할 수도 있다. For example, the pixel classifier 12 may classify the pixels according to the luminance value of the pixels, or classify the pixels according to the transformation coefficient in the frequency domain, and use the luminance and color difference components of the pixels as one element. By configuring (for example, expressed in a vector format such as (Y, Cb, Cr) or (R, G, B)), pixels can be classified according to their displacement with neighboring pixels.

이러한 기준들은 영상의 해상도, 양자화 파라미터, 부호화 단위 및 특성 등에 의해 고정적 또는 적응적으로 적용될 수 있다. 즉, 미리 설정된 대역 구분에 기반하여 현재 블록에 포함된 화소를 분류할 수 있다. These criteria may be fixedly or adaptively applied depending on the resolution, quantization parameters, coding units and characteristics of the image. That is, the pixels included in the current block may be classified based on the preset band division.

예를 들어, 화소의 휘도의 경우에 있어서, 화소의 비트 심도(n)에 따라 2n-k (k는 0보다 크고 n보다 작은 상수)만큼 개수의 대역으로 구역을 나눌 수 있다. For example, in the case of the luminance of a pixel, a zone may be divided into as many bands as 2n-k (k is a constant greater than 0 and less than n) according to the bit depth n of the pixel.

또한, 기설정되거나 전송되어지는 정보, 양자화 파라미터, 부호화 단위의 크기, 영상의 해상도 및 부호화와 관련된 파라미터들(블록 분할 정보, 예측 모드 관련 정보, 변환 단위 크기 등에 대한 정보, coded block pattern 등) 등에 의해 설정된 대역별로 화소의 휘도가 구분될 수 있다. 여기서, 대역의 너비는 균일 간격을 가질 수도 있고, 영상 특성 등의 조건에 따라 불균등 간격을 갖을 수도 있다. In addition, preset or transmitted information, quantization parameters, size of coding units, image resolution and parameters related to encoding (block division information, information related to prediction mode, information on the size of a transformation unit, coded block pattern, etc.) Thus, the brightness of the pixels may be classified for each band set. Here, the width of the band may have a uniform spacing, or may have an uneven spacing according to conditions such as image characteristics.

또한, 대역의 개수는 2 이상의 정수인 특징을 갖을 수 있다. 예를 들어, m개의 대역(여기에서, 균등 간격을 갖는 것으로 가정)에 화소를 휘도값에 따라 분류를 한다고 할 경우, 각 화소별로 어느 대역에 속하는지에 따라 빈도수를 계산할 수 있다. In addition, the number of bands may be an integer of 2 or more. For example, if pixels are classified according to luminance values in m bands (here, assuming that they have equal intervals), the frequency can be calculated according to which band belongs to each pixel.

도 2를 참조하여, 화소 분류을 통해 생성한 인덱스 맵을 설명한다. An index map generated through pixel classification will be described with reference to FIG. 2.

예를 들어, 하나 이상의 화소가 어떤 대역에 속할 경우 해당 대역의 NZ_i는 참(true), 그렇지 않을 경우에는 거짓(false)로 분류될 수 있다. 또한, 해당 대역이 차지하는 화소 빈도수의 백분율 등의 단위(Pi)로 분류할 수 있다. For example, when one or more pixels belong to a certain band, NZ_i of the corresponding band may be classified as true, otherwise, it may be classified as false. In addition, it can be classified into a unit (Pi) such as a percentage of the frequency of pixels occupied by the corresponding band.

또한, 두 개 이상의 기준에 따라 화소를 분류할 수 있다. 화소의 휘도값에 따라 각 대역의 NZ_i를 분류한 후, 참의 값을 갖는 대역만을 고려하여 해당 대역에 새로운 인덱스를 할당하여 새로운 인덱스 맵을 구성할 수 있다. In addition, pixels can be classified according to two or more criteria. After classifying NZ_i of each band according to the luminance value of the pixel, a new index map may be constructed by allocating a new index to the corresponding band by considering only the band having a true value.

만약, 0번과 m번의 대역은 NZ_i가 참이고 그 외의 대역은 거짓일 경우, 총 2개의 후보군만 존재함으로 1비트를 할당하여 0과 1번을 각각 대역에 할당할 수 있다. 즉, 0번의 대역의 인덱스는 0을, m번의 대역은 1을 할당하여 새로운 인덱스 맵을 구성할 수 있다. If NZ_i is true for bands 0 and m and the other bands are false, since only two candidate groups exist, 1 bit may be allocated and 0 and 1 may be allocated to each band. That is, a new index map can be constructed by assigning 0 to the index of band 0 and 1 to the m band.

이와 같은 분류를 통하여 생성된 테이블 형태의 인덱스 맵을 단위로 화소 분류 결과가 저장될 수 있다. The result of pixel classification may be stored in units of the index map in the form of a table generated through such classification.

또한, 화소의 휘도, 색차, 위치 등과 같은 기준에 따른 분류와 같이 하나의 화소의 특성에 기반하거나 이를 그룹화하여 그에 따른 특성에 따른 분류를 수행한 것 외에 변화도, 상관관계 등과 같이 이웃하는 화소간의 상관 관계에 따라 분류하는 것도 가능하다. In addition, classification is performed based on characteristics of one pixel, such as classification according to criteria such as luminance, color difference, position, etc. of pixels, or grouping them and performing classification according to the characteristics. It is also possible to classify according to correlation.

예를 들어, 이웃 화소 기반으로 처리되는 Sobel, Robert, Canny 등과 같은 다양한 에지 검출 알고리듬 등이 있다. 이 경우 이웃 화소는 현재 화소를 중심으로 M크기의 블록 안에 속해 있는 화소들이 에지 검출에 이용될 수 있다.For example, there are various edge detection algorithms such as Sobel, Robert, Canny, etc. that are processed based on neighboring pixels. In this case, as for the neighboring pixels, pixels belonging to an M-sized block centered on the current pixel may be used for edge detection.

영상 분석부(13)는 영상 특성 후보 선택부(11)에서 선택된 영상의 특성을 분석하는 역할을 수행한다. 영상의 특성은 영상 특성 후보 선택부(11)에서 선택된 영상 특성을 분석하고자 하는 목적에 따라 다양하게 수행될 수 있다. The image analysis unit 13 analyzes the characteristics of the image selected by the image characteristic candidate selection unit 11. The characteristics of the image may be variously performed according to the purpose of analyzing the image characteristics selected by the image characteristic candidate selection unit 11.

영상 분석부(13)는 에지가 존재하는 영역인지 아닌지, 배경에 속하는 영역인지 아닌지, 객체가 존재하는 영역인지 아닌지, 인공적인 영상(컴퓨터 그래픽, 컴퓨터 캡쳐 화면 등) 인지 자연 영상인지 및 글자 또는 도형에 속하는 영역인지 아닌지 등과 같이 영상을 분석할 수 있다. The image analysis unit 13 includes whether or not an edge exists, whether it belongs to a background, whether or not an object exists, whether it is an artificial image (computer graphic, computer capture screen, etc.) or a natural image, and whether it is a character or figure. It is possible to analyze the image such as whether it belongs to the region or not.

예를 들어, 에지가 존재하는 영역인지 여부를 확인하기 위해서는 화소 분류부(12)를 통해 전달된 정보를 기반으로 그 특징을 확인할 수 있다. 영상 분석부(13)는 화소 분류부(12)의 에지 검출 알고리듬을 통해 얻어진 정보에 대한 분석을 수행할 수 있다. For example, in order to check whether the edge exists in the region, the characteristic may be checked based on information transmitted through the pixel classification unit 12. The image analysis unit 13 may analyze information obtained through an edge detection algorithm of the pixel classification unit 12.

상세하게는, 영상 분석부(13)는 N개 이상의 화소가 에지로 판명될 경우에, 해당 영역이 에지가 존재하는 것으로 분석 결과를 산출할 수 있다. 그렇지 않을 경우에는 해당 영역에 에지가 존재하지 않는 것으로 분석 결과를 산출할 수 있다. In detail, when it is determined that N or more pixels are edges, the image analysis unit 13 may calculate an analysis result that the corresponding region has an edge. If not, the analysis result can be calculated as the edge does not exist in the corresponding region.

또한, N개 이상의 화소가 에지로 판명이 나고 연속성을 가진다고 판명이 날 경우에, 해당 영역이 에지가 존재하는 것으로 분석 결과를 산출할 수 있다. 연속성에 대한 예시는 후술하는 도 6에 대한 설명을 참조하여 이해할 수 있다. In addition, when it is determined that N or more pixels are identified as edges and have continuity, an analysis result may be calculated as the corresponding region has an edge. An example of continuity can be understood with reference to the description of FIG. 6 to be described later.

영상 분석부(13)는 화소 분류부(12)로부터 화소의 휘도성분에 따라 대역을 분류한 후, NZ_i에 대한 정보를 활용하여 해당 영역이 배경에 속하는 영역인지 아닌지를 분석할 수 있다. After classifying the band according to the luminance component of the pixel from the pixel classifying unit 12, the image analyzing unit 13 may analyze whether or not the corresponding region belongs to the background by using information on NZ_i.

예를 들어, NZ_i의 합계가 N 이하의 값을 가질 경우에만 배경이라는 기준을 가지고 분석을 수행할 수 있다. 만약 NZ_i의 합계가 N이하의 값을 가질 경우 해당 영역은 배경이라는 결과를, 그렇지 않을 경우에는 배경이 아니라는 결과를 산출할 수 있다. For example, only when the sum of NZ_i has a value of N or less, the analysis can be performed with the criterion of background. If the sum of NZ_i has a value less than or equal to N, a result that the corresponding region is a background may be calculated, and otherwise, a result that it is not a background may be calculated.

더 나아가, 영상 분석부(13)는 2개 이상의 정보로부터 영상에 대한 분석을 수행할 수 있다. 즉, 1개의 정보로부터 각기 다른 영상 특성에 대한 분석을 수행한 후 각각의 영상 분석 결과를 통해 새로운 분석결과를 얻어낼 수 있다. 예를 들면, 해당 영역이 글자 부분을 포함하고 있는지를 분석하기 위해 화소 분류부(12)로부터 화소의 휘도 성분에 따라 대역으로 분류했을 때 NZ_i에 대한 정보와 Pi에 대한 정보를 활용하여 분석을 수행할 수 있다. 이러한 경우, 글자 부분인지 여부는 NZ_i가 N 이하(여기서, 2라고 설정)이며 가장 적은 빈도수를 갖는 대역의 Pi가 Th 이하일 때만 글자 부분이라는 기준을 정의할 수 있다. 따라서, 각 조건에 따른 분석 결과를 조합하여 만약 두 조건 모두 참인 결과를 얻었을 때는 해당 영역이 글자를 포함하는 영역이라는 분석 결과를, 하나라도 거짓일 경우에는 해당 영역이 글자가 아닌 영역이라는 분석 결과를 산출할 수 있다. Furthermore, the image analysis unit 13 may analyze an image from two or more pieces of information. That is, after analyzing different image characteristics from one piece of information, a new analysis result may be obtained through each image analysis result. For example, in order to analyze whether a corresponding region contains a character part, when the pixel classification unit 12 classifies it into a band according to the luminance component of the pixel, an analysis is performed using information about NZ_i and information about Pi. can do. In this case, whether NZ_i is a character part can be defined as a character part only when NZ_i is N or less (here, set to 2) and Pi of a band having the least frequency is less than Th. Therefore, by combining the analysis results according to each condition, if both conditions are true, the analysis result that the corresponding area contains letters, and if any of them are false, the analysis result that the corresponding area is not a text area. Can be calculated.

모드 추가 결정부(14)는 영상 분석부(13)로부터 전달된 하나 이상의 분석 결과에 기반하여 새로운 모드에 대한 추가가 필요한지에 대한 판단을 한 후 그 결과에 따라 추가 모드 지원 여부를 결정할 수 있다.The mode addition determination unit 14 may determine whether to add a new mode based on one or more analysis results transmitted from the image analysis unit 13 and then determine whether to support the additional mode according to the result.

예를 들어, 추후 설명할 반전 움직임 관련 추가 정보의 생성 여부를 결정한다고 할 때, 우선 반전 움직임이 있을 가능성이 있는 영상 영역인지를 판단한 후 반전 움직임이 있을 가능성이 있다고 판단되면, 반전 움직임 관련 모드를 추가하고, 그렇지 않다고 판단될 경우에는 기존과 같은 알고리즘을 할 수 있다. For example, when deciding whether to generate additional information related to reverse motion, which will be described later, first determine whether it is an image area with a possibility of reversal motion, and then, if it is determined that there is a possibility of reversal motion, the reverse motion related mode is selected. In addition, if it is determined that it is not, the same algorithm as before can be performed.

모드 추가 결정부(14)는 반전 움직임이 있을 가능성이 높다는 것을 확인하기 위해 영상 분석부(13)로부터 에지가 존재하는 영역인지, 도형(여기에서는, 특정하여 사각형의 꼭지점 부분을 포함한 영역이라고 가정)에 속하는 영역인지 등과 같은 분석 결과를 전달받을 수 있다. In order to confirm that there is a high possibility of reversal motion, the mode addition determination unit 14 determines whether an edge exists from the image analysis unit 13 or a figure (here, it is assumed that it is a specific area including a vertex of a rectangle). You can receive analysis results such as whether the area belongs to or not.

추가 모드 실행부(15)는 모드 추가 결정부(14)로부터 반전 움직임이 있을 가능성이 높다는 것을 확인하여 새로운 예측 모드를 추가하기로 하였을 경우에, 반전 움직임을 고려한 새로운 예측 모드를 적용하여 부호화를 수행할 수 있다. The additional mode execution unit 15 confirms that there is a high possibility of reversal motion from the mode addition determination unit 14 and, when it is decided to add a new prediction mode, performs encoding by applying a new prediction mode taking into account the reversal motion. can do.

추가 모드 식별 플래그 및 관련 파라미터 부호화부(16)는 추가 모드 실행부(15)에서 새로운 예측 모드를 추가함으로써 발생하는 추가 모드 식별 플래그 및 그에 관련된 파라미터들을 전송할 수 있다. The additional mode identification flag and related parameter encoder 16 may transmit an additional mode identification flag generated by adding a new prediction mode in the additional mode execution unit 15 and related parameters.

예를 들어, 반전 움직임을 적용한 블록 매칭 알고리즘 등과 같은 새로운 예측 모드가 추가되었고, 이러한 알고리즘이 최적인 경우에는 그에 따라 반전 움직임 관련 정보, 움직임 벡터 관련 정보 등을 함께 전송할 수 있다.For example, a new prediction mode, such as a block matching algorithm to which inversion motion is applied, has been added, and if such an algorithm is optimal, inversion motion-related information and motion vector-related information may be transmitted together accordingly.

위의 예시에서는 반전 움직임에 관련한 설명만 제시되어 있지만, 다음의 실시예들을 통하여 다른 경우를 설명한다.
In the above example, only a description related to the reversal motion is presented, but other cases will be described through the following embodiments.

도 3은 본 발명의 일 실시예에 따라 영상의 일부에 반전이 있는 경우를 설명하기 위한 예시도이고, 도 4는 본 발명의 다른 실시예에 따라 영상에 반전이 있는 경우의 화소 배치를 설명하기 위한 예시도이며, 도 5는 본 발명의 실시예에 따라 반전의 영상 특성을 가진 경우의 움직임 추정을 설명하기 위한 예시도이다. 3 is an exemplary diagram for explaining a case in which a part of an image is inverted according to an embodiment of the present invention, and FIG. 4 is a diagram for explaining a pixel arrangement when an image is inverted according to another embodiment of the present invention 5 is an exemplary diagram for explaining motion estimation in case of having an inversion image characteristic according to an exemplary embodiment of the present invention.

도 3을 참조하면, 일반적인 자연 영상과 달리 스크린 콘텐츠 영상은 반전의 특성을 가질 수 있다. Referring to FIG. 3, unlike a general natural image, a screen content image may have an inversion characteristic.

상세하게는, 도 3과 같은 영상은 좌우 반전 및 상하 반전과 같은 특성을 가질 수 있다. In detail, the image shown in FIG. 3 may have characteristics such as left and right inversion and vertical inversion.

예를 들어, 도 3에서 a1<->a2, b는 좌우 반전되는 특성을 가질 수 있고, a1<->a3, c는 상하 반전되는 특성을 가질 수 있다. 더 나아가, a1<->a4, d는 상하-좌우가 함께 반전되는 특성을 가질 수 있다.For example, in FIG. 3, a1<->a2 and b may have a characteristic of being inverted left and right, and a1<->a3 and c may have a characteristic of being inverted vertically. Furthermore, a1<->a4 and d may have a characteristic in which the top, bottom, left and right are reversed together.

그러나, 이러한 반전 특성을 가진 영역은 예측 블록으로 활용 가치가 높음에도 불구하고 기존의 움직임 탐색 및 보상으로는 예측 블록으로 선택하기 어렵다. 만약, 좌우 반전, 상하 반전 등의 변환을 거쳐서 움직임 탐색 및 보상을 수행할 경우에는 보다 정확한 움직임 탐색 및 보상이 가능하기 때문에 부호화 효율을 증대시킬 수 있다. However, it is difficult to select a region having such a reversal characteristic as a prediction block by conventional motion search and compensation, although the value of using it as a prediction block is high. If motion search and compensation are performed through transformations such as left-right inversion and vertical inversion, since more accurate motion search and compensation is possible, encoding efficiency can be increased.

도 4를 참조하여 화소의 배치를 설명하면 다음과 같다. The arrangement of pixels will be described with reference to FIG. 4 as follows.

도 4 (a)는 일반적인 화소의 배치를 낸다. 만약, 상하 반전을 하여 움직임 탐색을 수행한다고 할 경우, 도 4 (b)와 같은 스캔 순서로 화소 재배치를 수행하여 예측을 진행할 수 있다. 4A shows a general arrangement of pixels. If the motion search is performed by performing vertical inversion, prediction may be performed by performing pixel rearrangement in the scan order as shown in FIG. 4B.

도 4 (c)와 도 4 (d)는 각각 좌우 반전, 상하-좌우 반전의 경우를 나타내고 있다. 이와 같은 화소 재배치(y-a y-b, y-c, y-d)를 통한 대상 블록의 구성을 통해 움직임 예측을 수행하고 최적의 부호화 효율을 갖는 후보가 선택될 경우, 도 4 (a)를 제외한 나머지의 경우 움직임 벡터에 상응하는 블록의 화소 역재배치(y-b, y-c, y-d y-a)를 통해 현재 블록의 보상을 수행할 수 있다. 4(c) and 4(d) show the case of left-right inversion and vertical-left-right inversion, respectively. When motion prediction is performed through the configuration of a target block through such pixel rearrangement (ya yb, yc, yd) and a candidate having an optimal coding efficiency is selected, the motion vector except for FIG. 4(a) Compensation of the current block may be performed through the pixel inverse rearrangement (yb, yc, yd ya) of the corresponding block.

복호화기에서는 반전이 발생한 블록의 경우 움직임 벡터에 상응하는 블록의 화소 역재배치를 통해서 현재 블록의 보상을 수행할 수 있다. 도 4는 경우 반전의 일부 예일 뿐 본 발명은 이와 비슷한 목적의 변형도 포함한다.In the case of a block in which the inversion has occurred, the decoder may perform compensation of the current block through inverse relocation of pixels of the block corresponding to the motion vector. 4 is only a partial example of the case inversion, and the present invention also includes modifications for similar purposes.

또한, 반전에 적용에 관한 정보는 부호화기와 복호화기가 동일한 동작이 수행하도록 양 쪽에 미리 정해 놓은 정보에 의하거나, 픽쳐, 슬라이스, 블록 등의 단위로 반전 정보를 전송함으로써 동일한 예측을 수행할 수 있다. 예를 들어, 블록 크기에 따라 반전을 적용할 만한 반전 후보를 미리 설정할 수도, 블록 크기에 따라 반전을 적용하지 않을 수도 있다.In addition, the same prediction may be performed by transmitting the information about the application to the inversion based on information previously determined on both sides so that the encoder and the decoder perform the same operation, or by transmitting the inversion information in units such as a picture, a slice, or a block. For example, an inversion candidate to which inversion can be applied may be set in advance according to the block size, or inversion may not be applied according to the block size.

예를 들어, 인트라 예측의 한 방법으로 움직임 탐색 및 보상을 사용하여 예측 블록을 생성하고, 반전에 의한 움직임 탐색 및 보상을 통해 예측 블록을 생성하는 방법이 사용될 경우에는 영상의 일부 특성을 갖는 영역에서 부호화 효율을 높일 수 있다. For example, if a method of generating a prediction block using motion search and compensation as a method of intra prediction, and generating a prediction block through motion search and compensation by reversal is used, in an area having some characteristics of the image Encoding efficiency can be improved.

반전을 적용하여 움직임 탐색 및 보상을 수행할 경우, 움직임 벡터 부호화시 데이터를 줄이기 위한 목적으로 움직임 벡터 예측에 사용될 예측 벡터를 다양한 방법을 통해 설정할 수 있다.When motion search and compensation are performed by applying inversion, a prediction vector to be used for motion vector prediction may be set through various methods for the purpose of reducing data during motion vector encoding.

도 5를 참조하여 움직임 탐색 및 보상을 설명하면 다음과 같다. The motion search and compensation will be described with reference to FIG. 5 as follows.

가장 최근에 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 움직임 벡터를 예측 벡터를 위한 후보로 선택할 수 있다(도 5에서 A). A block or a motion vector of blocks that has been most recently coded through motion search and compensation may be selected as a candidate for the prediction vector (A in FIG. 5).

또한, 고정된 좌표(예를 들어, 왼쪽 블록의 좌상단 좌표 또는 윗 블록 좌상단 좌표 등)의 현재 블록과의 상대적 위치(블록의 가로 세로가 각각 v, w라고 할 경우 각각 (-v, 0), (0, -w)가 됨)가 예측 벡터를 위한 후보군으로 선택할 수 있다(도 5에서 B). In addition, the relative position of the fixed coordinates (for example, the upper left coordinate of the left block or the upper left coordinate of the upper block) with the current block (if the horizontal and vertical blocks are v and w, respectively (-v, 0), (0, -w)) can be selected as a candidate group for the prediction vector (B in FIG. 5).

또한, 가장 최근에 반전이 적용된 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 움직임 벡터를 예측 벡터의 후보로 선택할 수도 있고, 가장 최근에 반전이 적용된 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 현재 블록과의 상대적 위치가 예측 벡터의 후보로 선택될 수도 있다(도 5에서 C). In addition, a block or a motion vector of blocks encoded through motion search and compensation to which the most recently inversion has been applied may be selected as a candidate for the prediction vector. A relative position with the current block may be selected as a candidate for the prediction vector (C in FIG. 5).

또한, 픽쳐, 슬라이스, 블록 등의 좌상단 좌표가 예측 벡터의 후보로 선택될 수도 있다. (도5에서 D) Also, upper left coordinates of a picture, a slice, or a block may be selected as candidates for the prediction vector. (D in Fig. 5)

위에서 설명된 각각의 예측 후보들은 다양한 조합으로 구성이 가능하며, 예측 벡터의 후보군 구성을 위한 우선 순위는 부호화기와 복호화기간의 미리 설정된 조건에 따라 결정될 수도 있고, 시퀀스, 픽쳐, 슬라이스 등의 단위로 이에 대한 정보를 설정할 수도 있다. Each of the prediction candidates described above can be configured in various combinations, and the priority for configuring the candidate group of the prediction vector may be determined according to preset conditions of the encoder and the decoding period, or in units such as sequence, picture, and slice. You can also set information about it.

예를 들어, 도 5에서 A, B, C 등이 예측 벡터의 후보군으로 가능한 상황일 때, C에 있는 후보만을 사용하거나 또는 C와 B의 후보를 사용하거나 또는 A와 B의 후보를 사용한다거나 할 수 있다. For example, in FIG. 5, when A, B, C, etc. are possible as candidates for a prediction vector, only the candidates in C are used, candidates of C and B are used, or candidates of A and B are used. I can.

현재 블록 이전의 부호화 또는 복호화가 완료된 영역에서 움직임 탐색 및 보상을 수행할 경우, 기설정된 규칙에 의해 반전에 의한 움직임을 갖는 예측 블록이 존재할 가능성이 높다고 판단된다면 반전 정보를 보내고 그렇지 않을 경우에는 이를 생략할 수 있다. In the case of performing motion search and compensation in an area where encoding or decoding has been completed before the current block, if it is determined that there is a high possibility that a prediction block with motion by reversal exists according to a preset rule, inversion information is sent, otherwise it is omitted. can do.

예를 들어, 0 이면 반전 없이 기존의 움직임 탐색 및 보상이 이루어지고, 그에 따른 추가적인 정보도 역시 전송할 필요가 없음을 의미할 수 있다. 또한, 1이면 반전이 있는 움직임 탐색 및 보상이 이루어지고, 그에 따른 반전에 대한 추가적인 정보를 전송함을 의미할 수 있다. 다만, 반전 정보가 존재하지 않다고 판단될 경우, 반전 정보가 쓰였는지에 대한 0, 1과 같은 정보조차 전송하지 않을 수 있고 이를 통하여, 부호화 성능의 향상을 이룰 수 있다.
For example, if it is 0, it may mean that existing motion search and compensation are performed without reversal, and additional information accordingly is also not required to be transmitted. In addition, if it is 1, it may mean that motion search and compensation with reversal are performed, and additional information on reversal accordingly is transmitted. However, when it is determined that the inversion information does not exist, even information such as 0 and 1 on whether the inversion information has been used may not be transmitted, and through this, the encoding performance can be improved.

도 6은 본 발명의 실시예에 따른 영상 특성에 대한 분석을 설명하기 위한 예시도이다. 6 is an exemplary diagram for explaining an analysis of image characteristics according to an embodiment of the present invention.

도 6을 참조하면, 영상 분석부(13)는 화소 분류부(12)로부터 NZ_i와 인덱스 맵을 전달받아, 영상이 견고한 분할 영역인지 복잡한 영역인지에 대해 분석을 수행할 수 있다. 도 6 (a)는 견고한 분할 영역을 나타내고, 도 6 (b)는 복잡한 영역을 나타낼 수 있다.Referring to FIG. 6, the image analysis unit 13 may receive NZ_i and an index map from the pixel classification unit 12 and perform analysis on whether the image is a solid segmented area or a complex area. FIG. 6(a) shows a solid divided area, and FIG. 6(b) shows a complex area.

견고한 분할 영역으로 판단하기 위한 조건은 두 가지가 있을 수 있다.There may be two conditions for determining as a solid segmentation area.

첫 번 째 조건은 NZ_i가 k(여기서, 5이라고 가정)보다 작아야 하며, 두 번 째 조건은 각 영역안의 화소들의 연속성 조건을 만족해야 하며, 각 영역의 화소들은 2개 이상의 지역으로 분할되면 안 된다는 조건을 만족해야 하는 것으로 정의할 수 있다. The first condition is that NZ_i must be smaller than k (assuming 5 here), and the second condition must satisfy the continuity condition of pixels in each area, and that the pixels in each area must not be divided into two or more areas. It can be defined as having to satisfy the condition.

여기에서, 연속성에 대한 정의는 다음과 같다. Here, the definition of continuity is as follows.

예를 들어, 도 6 (1) c 영역과 같이 각 대역으로 나뉘어진 화소들은 같은 인덱스 맵을 갖을 수 있다. 여기에서, 연속성의 정의는 현재 화소를 중심으로 a<x<a, -b<y<b (여기서, x, y는 2차원 평면상의 현재 화소의 위치라고 하자) 안의 이웃 화소와의 관계에 따라 결정되는 것으로 정의할 수 있다. For example, pixels divided into respective bands as shown in area c of FIG. 6 (1) may have the same index map. Here, the definition of continuity is based on the relationship with neighboring pixels in a<x<a, -b<y<b (here, x, y are the position of the current pixel on the 2D plane) around the current pixel. It can be defined as being determined.

만약, a<x<a, -b<y<b 안의 이웃 화소 중 현재 화소와 같은 인덱스 맵을 갖는 화소가 1개라도 존재한다고 할 경우 연속성이 있는 것이고, 그렇지 않을 경우에 연속성이 없는 것으로 분석 결과를 산출할 수 있다. If, among the neighboring pixels in a<x<a, -b<y<b, there is even one pixel with the same index map as the current pixel, there is continuity, otherwise it is analyzed that there is no continuity. Can be calculated.

따라서, 도 6 (1)의 c 영역의 경우(여기에서 a, b, c 각각의 인덱스를 '0', '1', '2'라고 가정), 0의 인덱스를 갖는 영역의 모든 화소는 연속성이 있고, '1'의 인덱스를 갖는 모든 화소도 연속성이 있고, '2'의 인덱스를 갖는 영역의 화소도 연속성이 있다라는 분석 결과를 산출할 수 있기 때문에, 해당하는 모든 영역의 화소가 연속성이 있다라는 분석 결과를 얻을 수 있고, 2개 이상의 지역으로 분할된 영역이 존재하지 않으므로 해당 영역은 견고한 분할로 이뤄져 있다라는 분석 결과를 얻을 수 있다. Therefore, in the case of region c of FIG. 6 (1) (here, the indexes of a, b, and c are assumed to be '0', '1', '2'), all pixels in the region having an index of 0 are continuous. And all the pixels with the index of '1' have continuity, and the analysis result that the pixels of the region with the index of '2' also have continuity, so that the pixels in all the corresponding areas have continuity. The analysis result can be obtained, and since there is no area divided into two or more areas, the analysis result can be obtained that the area is composed of solid divisions.

이와 비교하여 도 6 (2)의 c 영역의 경우(여기에서 a, b, c, d각각의 인덱스를 '0', '1', '2', '3'라고 가정), 0, '1', '2', '3' 의 인덱스를 갖는 영역의 모든 화소는 연속성이 있다라는 분석 결과를 산출할 수 있다.Compared to this, in the case of area c in Fig. 6(2) (here, the indexes of a, b, c, and d are assumed to be '0', '1', '2', '3'), 0, '1 It is possible to calculate an analysis result stating that all pixels in the region having the indices of', '2', and '3' have continuity.

그러나, '3'의 인덱스를 갖는 영역을 제외한 나머지 영역에서는 2 개 이상의 지역으로 분할되기 때문에 이는 위의 조건을 만족하지 않는다. 따라서, 이 경우에는 첫 번째, 두 번째 조건에는 부합하지만 세 번째 조건에는 부합하지 않으므로 해당 영역이 견고한 분할로 이루어졌다는 분석을 얻을 수 없다.However, since the remaining regions except for the region having the index of '3' are divided into two or more regions, this does not satisfy the above condition. Therefore, in this case, the first and second conditions are met, but the third condition is not met, so it is impossible to obtain an analysis that the corresponding region is composed of solid divisions.

이와 같이 영상 특성에 대한 조건은 사용자에 의해 정의될 수 있다. 세 가지 조건을 모두 확인하여 분석 결과를 얻을 수 있고, 어느 한 가지의 조건을 먼저 확인하여 이를 충족할 경우에만 다음 조건을 확인하는 단계로 넘어가는 것으로 설정 또한 가능하다.
As described above, conditions for image characteristics may be defined by a user. The analysis result can be obtained by checking all three conditions, and it is also possible to set to proceed to the step of confirming the next condition only when one condition is checked first and it is satisfied.

도 7은 본 발명의 실시예에 따른 영상 특성을 화소 방향성에 기반하여 설명하기 위한 예시도이다. 7 is an exemplary diagram for explaining an image characteristic according to an embodiment of the present invention based on pixel orientation.

도 7을 참조하면, 도형(여기에서, 사각형의 꼭지점, 즉 꺽이는 부분을 포함한 영역이라고 가정)에 속하는 영역인지에 대한 분석을 수행하는 경우를 설명한다. Referring to FIG. 7, a case of performing an analysis on whether an area belongs to a figure (here, it is assumed that it is a vertex of a rectangle, that is, an area including a bent portion) will be described.

도형인 영역인지에 대한 분석을 수행하기 위해 화소 분류부(12)로부터 화소 분류에 따른 대역의 NZ_i와 인덱스 맵 및 에지에 대한 정보를 전달받을 수 있다. In order to analyze whether a region is a figure, information about an NZ_i of a band according to the pixel classification, an index map, and edge information may be received from the pixel classifying unit 12.

예를 들어, NZ_i가 D개보다 작아야 하는 조건, 각 영역 안의 화소가 연속성 조건을 만족해야하는 조건, N개 이상의 화소가 에지로 판명이 나는 조건, 에지 인덱스 맵에서 L개 이상의 화소가 연속성을 가진다는 조건, 꺽인점이 K개 이상 존재해야한다는 조건 등을 만족할 경우 도형 영역인 가능성이 있다라는 분석 결과를 산출하는 것으로 정의할 수 있다. For example, the condition that NZ_i must be less than D, the condition that the pixels in each region must satisfy the continuity condition, the condition that N or more pixels turn out to be edges, and that L or more pixels have continuity in the edge index map. It can be defined as generating an analysis result saying that there is a possibility that it is a figure area when the condition and the condition that K or more break points exist are satisfied.

다른 조건은 모두 충족된 상태라고 가정한 뒤 꺾인점에 대한 조건을 확인하자. Assuming that all other conditions are satisfied, let's check the condition for the break point.

에지에 대한 인덱스 맵(여기에서 0, 1 두 가지만 있다고 가정, 1이 에지 부분이라고 가정)에서 에지로 분류된 화소에 대해서 꺽인점 존재 여부를 확인하는데, 이 때 현재 화소를 중심으로 A(-a<x<a, -b<y<b) 안의 이웃 화소 와의 방향성을 확인할 수 있다.In the index map for the edges confirm the presence kkeokin point with respect to a pixel classified in (that here 0,1 only two assumptions, one assumes that this edge portion) to the edge, where the center A (the current pixel -a You can check the direction of the neighboring pixels in <x<a, -b<y<b).

만약, -2<x<2, -2<y<2 안에서 방향성을 확인할 경우, 도 5와 같이 방향성에 대해 180도, 135도, 90도 및 45도 등과 같은 여러 후보군을 둘 수 있다. 또한, 3<x<3, -3<y<3안에서 방향성을 확인할 경우, 더 다양한 방향성에 대한 후보군을 추가할 수 있다. If the direction is checked within -2<x<2 and -2<y<2, as shown in FIG. 5, several candidate groups such as 180 degrees, 135 degrees, 90 degrees, and 45 degrees can be placed. In addition, when directionality is confirmed in 3<x<3 and -3<y<3, candidate groups for more various directionalities can be added.

또한, 이웃하는 에지로 분류된 화소의 방향성과의 관계를 확인하여 꺾인점 여부를 확인할 수 있다. 이전에 위치한 에지로 분류된 화소와 현재 화소의 방향성의 차이(여기에선 각도로 차이를 계산하다고 할 경우)가 d 이하인 경우에는 꺾인점이 발생한 것으로, 그렇지 않을 경우에는 꺾인 점이 발생하지 않는다고 할 수 있다. 예를 들어, d를 30 도로 설정할 경우, 도 7 의 모든 경우가 30 보다 크기 때문에 꺽인점이 발생하지 않는다는 분석 결과를 산출할 수 있다. d를 135도로 설정할 경우, 도 7 (a)는 조건에 충족하지 않기 때문에 꺽인점이 발생하지 않는다는 결과를 얻는 반면, 도 7 (b), (c), (d)는 조건에 충족하기 때문에 꺽인점이 발생했다라는 결과를 얻는다. In addition, it is possible to check whether or not there is a broken point by checking the relationship with the directionality of the pixels classified as neighboring edges. If the difference in directionality between the pixel classified by the previously positioned edge and the current pixel (here, when the difference is calculated by an angle) is less than d, it can be said that a broken point has occurred, and otherwise, a broken point does not occur. For example, when d is set to 30 degrees, it is possible to calculate an analysis result that no break points occur because all cases of FIG. 7 are larger than 30. When d is set to 135 degrees, a result is obtained that the break point does not occur because Fig. 7 (a) does not satisfy the condition, whereas Figs. 7 (b), (c), and (d) satisfy the condition. I get the result that it occurred.

만약, 사각형의 꼭지점과 같은 영역인지 확인하고자 그에 대한 영상 분석을 수행하고자 하였을 경우, 이를 특징할 만한 조건을 설정하기 위해 (예를 들어, 또는 같은 모양 형태를 갖는 영역인지 알고 싶다고 할 경우) 해당 영역에서 꺽인점이 1번만 발생할 경우만을 참, 그렇지 않을 경우에는 거짓과 같은 분석 결과를 얻도록 구성할 수도 있다. If you want to perform image analysis on the area to check whether it is the same area as the vertex of the square, in order to set conditions that can characterize it (for example, or when you want to know whether the area has the same shape), the area It can also be configured to obtain an analysis result such as true only if the break point occurs only once, and false if not.

사각형의 형태일 경우 꺽인점에 대한 부분은 90도의 각을 가질 것이기 때문에 위의 꺾인점을 확인하는 부분에서의 조건을 변경하여(d가 90인 경우에만 꺾인점이 발생) 이에 대한 분석을 수행할 수 있다.
In the case of a square shape, since the part to the break point will have an angle of 90 degrees, you can perform an analysis on this by changing the conditions in the area to check the break point above (break point occurs only when d is 90). have.

상술한 실시예로부터 새로운 모드 추가에 대한 예를 보다 상세히 설명하며 다음과 같다. An example of adding a new mode from the above-described embodiment will be described in more detail as follows.

다시 도 1을 참조하면, 영상 특성 후보 선택부(11)로부터 1. 인공적인 영상에 속하는지 아닌지와, 2. 견고한 분할 영역인지를 고려하여 화면내 예측에 새로운 추가 모드를 둘 것인지 확인하려고 한다. 이를 위해 화소 분류부(12)에서 화소 분류에 대한 대역의 NZ_i와 인덱스 맵 등을 전달 받을 수 있다. Referring back to FIG. 1, the image characteristic candidate selection unit 11 attempts to determine whether to put a new additional mode for intra prediction in consideration of whether it belongs to an artificial image and 2. a robust segmentation area. To this end, the pixel classifier 12 may receive NZ_i of a band for pixel classification, an index map, and the like.

영상 분석부(13)에서는 NZ_i가 D개 보다 작아야 하는 조건, 각 영역안의 화소들의 연속성 조건을 만족해야 하며, 각 영역의 화소들이 2개 이상의 지역으로 분할되면 안 된다는 조건을 만족하는지를 분석할 수 있다.The image analysis unit 13 may analyze whether a condition that NZ_i must be smaller than D, a continuity condition of pixels in each region, and a condition that pixels in each region should not be divided into two or more regions are satisfied. .

만일 영상 분석부(13)에서 위의 조건들이 다 만족한다고 할 경우 인공적인 영상에 속하는 견고한 분할 영역이라는 분석 결과를 산출할 수 있다. If the image analysis unit 13 satisfies all of the above conditions, an analysis result of a solid segmented area belonging to an artificial image may be calculated.

이를 통해 모드 추가 결정부(14)에서는 기존의 화면내 예측 모드에 더하여 인공적인 영상에 속하는 견고한 분할을 가진 영역에 성능이 발휘되는 화면내 예측 모드를 추가를 결정한다. Through this, the mode addition determination unit 14 determines to add an intra prediction mode that exhibits performance in a region having a robust segmentation belonging to an artificial image in addition to the existing intra prediction mode.

도 8은 본 발명의 실시예에 따른 화소 대역 분류에 기반한 추가 모드 설정을 설명하기 예시도이다. 8 is an exemplary diagram for explaining an additional mode setting based on pixel band classification according to an embodiment of the present invention.

도 8을 참조하면, 도 8 (a)와 같이 화소를 대역별로 분류하여 NZ_i가 참인 대역에 새로운 인덱스를 할당하여 나타냈을 때 영상 분석부(13)를 통해 해당 블록은 인공적인 영상에 속하는 견고한 분할을 가진 영역이라는 분석을 얻었다고 하자. Referring to FIG. 8, when pixels are classified by bands as shown in FIG. 8(a) and indicated by assigning a new index to a band in which NZ_i is true, the corresponding block is solidly segmented belonging to an artificial image. Let's say we got an analysis of the domain with

추가 모드 실행부(15)에서는 기존의 화면내 예측 모드에 더해 새로운 화면내 예측 모드를 실행한다. 예를 들어, 블록 매칭 알고리즘을 통해 이전에 부호화된 영역에서 비슷한 블록을 찾는 방법을 추가할 수도 있다. The additional mode execution unit 15 executes a new intra prediction mode in addition to the existing intra prediction mode. For example, a method of finding similar blocks in a previously coded region may be added through a block matching algorithm.

또한, 화소 또는 화소들 단위로 이웃하는 화소들의 복사하는 방법을 추가할 수도 있다. 만약, 도 8 (a)에서 블록의 왼쪽 최상측의 좌표를 (0,0)으로 봤을 때 (1,0)의 위치의 화소는 스캔(여기에서 raster scan 이라고 가정) 이전의 화소(0,0)와의 인덱스(0)가 같기 때문에 CL(copy left)라는 모드 정보를 전송할 수도 있다. (7,1)의 위치와 같이 현재 화소의 윗 화소로부터 값을 복사할 경우에는 CT(copy top)라는 모드 정보를 전송하여 이를 표현할 수도 있다. In addition, a method of copying neighboring pixels on a pixel or pixel basis may be added. 8(a), when the coordinates of the upper left side of the block are (0,0), the pixel at the position (1,0) is the pixel (0,0) before the scan (assuming it is a raster scan here). Since the index (0) with) is the same, mode information called CL (copy left) can also be transmitted. In the case of copying a value from a pixel above the current pixel, such as the position of (7,1), mode information called CT (copy top) can be transmitted to express this.

또한, 연속해서 반복되는 개수를 부호화할 수도 있다. 만약 도8 (a)에서 첫번째 행을 부호화 하기 위해서는 첫번째 발생하는 인덱스(0)을 부호화 하고 그 뒤를 따르는 연속해서 나타나는 반복되는 인덱스의 개수를 부호화할 수 있다. In addition, it is also possible to encode the number of repetitions in succession. In order to encode the first row in FIG. 8A, the index 0 that occurs first may be encoded, and the number of repetitive indexes that appear in succession may be encoded.

여기서, 연속하는 인덱스의 개수는 행 단위로 제한적일 수 있고(인덱스 (0) + 연속하는 개수 (7)), 행 단위로 제한적이지 않을 수도 있다(인덱스 (0) + 연속하는 개수 (10)). Here, the number of consecutive indexes may be limited in units of rows (index (0) + number of consecutive indices (7)), and may not be limited in units of rows (index (0) + number of consecutive indices (10)).

또한, 여러 화소들을 복사할 수도 있다. 예를 들어, (0,1)에서 (2,1)까지의 화소는 (0,0)에서 (2,0)까지의 화소와 같기 때문에 (CT(copy top), 3(복사할 총 개수))와 같은 방식으로 부호화할 수도 있다. CL, CT외의 추가적인 방향으로부터 복사를 수행할 수도 있다. Also, multiple pixels can be copied. For example, since the pixels from (0,1) to (2,1) are the same as the pixels from (0,0) to (2,0), (CT(copy top), 3 (total number to be copied)) It can also be encoded in the same way as ). It is also possible to perform copying from additional directions other than CL and CT.

또한, (0,2)에서 (4,2)까지의 화소는 (1,1)에서 (5,1)까지의 화소와 같기 때문에 (CTR(copy top right), 5(복사할 총 개수)와 같은 방식으로 부호화를 수행할 수 있다. Also, since the pixels from (0,2) to (4,2) are the same as the pixels from (1,1) to (5,1), (CTR(copy top right), 5 (total number to be copied)) and The encoding can be performed in the same way.

또한, 행 단위(또는 스캔 방향에 따라 열 단위도 가능)로 복사를 수행할 수도 있다. 예를 들어, 8번째 행((0,7)부터 (7,7)까지)은 7번째 행((0,6)부터 (7,6)까지)와 같으므로, CTL(copy top line)와 같은 모드 정보를 전송하여 이를 표현할 수도 있다. In addition, copying may be performed in units of rows (or in units of columns depending on the scanning direction). For example, the 8th row ((0,7) to (7,7)) is the same as the 7th row ((0,6) to (7,6)), so the copy top line (CTL) and This can also be expressed by transmitting the same mode information.

또한, 도 8 (b)에서 (0,1)부터 (3,1)까지의 화소는 (4,1)부터 (7,1)까지의 화소와 좌우반전한 결과랑 같기 때문에 CM(copy mirror)과 같은 모드 정보를 전송함으로써 이를 표현할 수 있다. 이를 위해서 좌우 길이가 같아야 하므로 행의 중간 시작점에서만 이 모드 정보를 부호화 할 수도 있다. In addition, in Fig.8(b), the pixels from (0,1) to (3,1) are the same as the pixels from (4,1) to (7,1), so that the CM (copy mirror) This can be expressed by transmitting mode information such as. For this, since the left and right lengths must be the same, this mode information can be encoded only at the middle start point of the row.

반전을 활용한 또 다른 예로 도8 (c)에서의 경우를 들 수 있다. 도8 (c)는 도 8 (b)와는 달리 상하 반전한 열(2열부터 6열까지)을 많이 발견할 수 있다. 기본 스캔 방향(raster 스캔이라고 가정)일 경우에는 앞서 설명했던 것과 같이 반전을 활용하여 부호화가 불가능하기 때문에 도 4와 같은 화소 재배치를 수행할 수 있다. Another example of utilizing reversal is the case of Fig. 8(c). In Fig. 8(c), unlike Fig. 8(b), a lot of vertically inverted rows (from 2nd to 6th row) can be found. In the case of the basic scan direction (assuming that it is a raster scan), the pixel rearrangement as shown in FIG. 4 can be performed because encoding is impossible using inversion as described above.

즉, 도 8 (d)와 같은 90도 회전과 같은 화소 재배치를 할 경우 앞서 언급되었던 CM 모드를 활용하여 부호화를 진행할 수도 있다. That is, when pixel rearrangement such as rotation by 90 degrees as shown in FIG. 8(d) is performed, encoding may be performed using the aforementioned CM mode.

상술은 화면내 예측 방법에 대한 다양한 예시를 제공하지만 상술한 실시예에 국한되지 않고 비슷한 목적을 가진 다양한 변형의 예도 포함할 수 있다. The above provides various examples of the intra prediction method, but is not limited to the above-described embodiments, and various examples of modifications having similar purposes may be included.

또한, 모드 추가 결정부(14)를 통해 1. 인공적인 영상에 속하는지 아닌지와 2. 견고한 분할 영역인지에 대한 분석을 영상 분석부(13)로부터 전달받고, 이에 대한 새로운 화면내 예측 모드 추가 여부를 결정하였듯이, 다른 모드에 대한 추가 여부에 대해서도 고려할 수 있다. In addition, through the mode addition decision unit 14, the analysis on whether it belongs to an artificial image and 2. a solid segmentation area is transmitted from the image analysis unit 13, and whether a new intra prediction mode is added for this. As determined, it is possible to consider whether to add another mode.

만약, 영상 분석부(13)로부터 인공적인 영상에 속하는 견고한 분할 영역이라는 분석 결과를 얻었을 때, 이에 따른 화면내 예측 방법뿐만 아니라 변환(transform) 또는 양자화(quantization)에 대한 새로운 모드 또한 추가할 수 있다. When an analysis result of a robust segmented region belonging to an artificial image is obtained from the image analysis unit 13, a new mode for transform or quantization can be added as well as an intra-screen prediction method accordingly. have.

상술한 새로운 화면내 예측을 수행한 후 기존의 변환 및 양자화 그리고 그 역과정을 수행한 후 각 대역 안의 화소들 실제 화소값으로 복원시키지 않고, 각 대역안의 화소를 대역을 대표하는 하나의 화소로 매핑하는 과정을 수행함으로써 복원을 수행할 수 있다. 이 경우 변환 또는 양자화과정이 생략될 수도 있다. 즉, 새로운 화면내 예측 방법만이 고려되는 것이 아닌 그에 따른 변환 및 양자화의 새로운 모드(예를 들어, 변환을 수행하지 않다거나 양자화를 수행하지 않다거나 둘다 수행하지 않다거나 또는 적응적으로 변환을 수행할지 안할 지를 결정하거나 등)의 추가 또한 모드 추가 결정부(14)에서 결정될 수 있다. After performing the above-described new intra prediction, the existing transformation and quantization and the reverse process are performed, and the pixels in each band are mapped to one pixel representing the band without restoring the actual pixel values. Restoration can be performed by performing the process of doing so. In this case, the transformation or quantization process may be omitted. That is, not only a new intra prediction method is considered, but a new mode of transformation and quantization accordingly (e.g., not performing transformation, not performing quantization, not performing both, or adaptively performing transformation. Whether to decide whether to do or not, the addition of, etc.) may also be determined in the mode addition determination unit 14.

M1 : 새로운 화면내 예측 + 변환 + 양자화M1: New intra prediction + transformation + quantization

M2 : 새로운 화면내 예측 + 양자화M2: New intra prediction + quantization

M3 : 새로운 화면내 예측M3: New in-screen prediction

위와 같은 다양한 조합의 모드 추가가 고려될 수도 있다. M1의 경우 새로운 예측을 통해 잔차 성분을 얻을 경우 이를 변환 및 양자화 과정을 수행하여 얻은 계수를 전송할 수도 있다. The addition of various combinations of modes as described above may be considered. In the case of M1, when a residual component is obtained through new prediction, a coefficient obtained by transforming and quantizing the residual component may be transmitted.

M2의 경우에는 도 8 (a)에서 적은 빈도수를 갖는 인덱스(2,3)에 대해서는 예측 수행 후 실제 화소값의 양자화된 계수를 전송할 수도 있고, 가장 적은 빈도수를 갖는 인덱스(3)에 대해서만 예측 수행 후 실제 화소값의 양자화된 계수를 전송할 수도 있다. In the case of M2, the quantized coefficient of the actual pixel value may be transmitted after performing prediction for the index (2, 3) having the smallest frequency in Fig. 8(a), and prediction is performed only on the index (3) having the smallest frequency. Afterwards, the quantized coefficients of the actual pixel values may be transmitted.

M3의 경우 예측을 수행한 후 각 대역에 있는 화소는 각 대역의 대표값으로 매핑시킴으로써 잔차성분에 대한 계수는 따로 보내지 않고, 각 대역의 대표값에 대한 정보를 전송함으로써 부호화를 수행할 수도 있다. In the case of M3, after performing prediction, pixels in each band are mapped to representative values of each band, so that coefficients for residual components are not separately transmitted, and encoding may be performed by transmitting information on representative values of each band.

위의 설명에서 모드 추가 결정부(14)를 통해 1. 인공적인 영상에 속하는지 아닌지와, 2. 견고한 분할 영역인지에 대한 분석을 영상 분석부(13)를 통해 상술한 예시와 같은 부호화에 대한 설명을 하였으나 이는 단지 예시일 뿐 위의 경우로만 한정되는 것은 아니다.
In the above description, through the mode addition decision unit 14, the analysis of whether it belongs to an artificial image or not, and 2. a robust segmentation area, is performed through the image analysis unit 13 for encoding as in the above-described example. Although described, this is only an example and is not limited to the above case.

도 7을 참조하면, 도형(여기에서, 사각형의 꼭지점, 즉 꺽이는 부분을 포함한 영역이라고 가정)에 속하는 영역인지에 대한 분석을 수행하는 경우를 설명한다. Referring to FIG. 7, a case of performing an analysis on whether an area belongs to a figure (here, it is assumed that it is a vertex of a rectangle, that is, an area including a bent portion) will be described.

도형인 영역인지에 대한 분석을 수행하기 위해 화소 분류부(12)로부터 화소 분류에 따른 대역의 NZ_i와 인덱스 맵 및 에지에 대한 정보를 전달받을 수 있다. In order to analyze whether a region is a figure, information about an NZ_i of a band according to the pixel classification, an index map, and edge information may be received from the pixel classifying unit 12.

예를 들어, NZ_i가 D개보다 작아야 하는 조건, 각 영역 안의 화소가 연속성 조건을 만족해야하는 조건, N개 이상의 화소가 에지로 판명이 나는 조건, 에지 인덱스 맵에서 L개 이상의 화소가 연속성을 가진다는 조건, 꺽인점이 K개 이상 존재해야한다는 조건 등을 만족할 경우 도형 영역인 가능성이 있다라는 분석 결과를 산출하는 것으로 정의할 수 있다. For example, the condition that NZ_i must be less than D, the condition that the pixels in each region must satisfy the continuity condition, the condition that N or more pixels turn out to be edges, and that L or more pixels have continuity in the edge index map. It can be defined as generating an analysis result saying that there is a possibility that it is a figure area when the condition and the condition that K or more break points exist are satisfied.

상기 설명된 많은 예제와 같이 다양한 방법을 통하여 하나 이상의 영상 특성을 규정할 수 있으며, 각 영상 특성에 대한 정의는 부호화기와 복호화기에 기설정된 규칙에 따를 수도 있고, 부호화기에서 특성에 대한 정의의 정보를 생성하여 이를 복호화기에 전송할 수도 있다. 즉, 각 영상 특성에 대해 세부적으로 정보를 분할하여 전송할 수도 있으며, 전송되는 단위는 시퀀스, 픽쳐, 슬라이스, 블록 등의 단위로 전송이 가능하다. As in the many examples described above, one or more image characteristics can be defined through various methods, and the definition of each image characteristic may follow the rules set in the encoder and decoder, or the information of the definition of the characteristic is generated by the encoder. Then, it can be transmitted to the decoder. That is, detailed information for each image characteristic may be divided and transmitted, and transmission units may be transmitted in units such as sequence, picture, slice, and block.

도 9은 샘플 적응적 오프셋 기술을 설명하기 위한 예시도이다. 9 is an exemplary diagram for describing a sample adaptive offset technique.

도 9를 참조하면, 밴드 오프셋의 경우 해당 블록 내의 유사한 휘도값을 갖는 대역으로 분류한 후, 이 중 연속하는 네 개의 대역들에 대해서 오프셋을 전송한다(Transmission offset). 전송된 오프셋값을 오프셋이 전송된 대역 내의 화소들에 더해줌으로써 복원 영상의 화소값을 보정할 수 있다. Referring to FIG. 9, after the band offset is classified into bands having similar luminance values in a corresponding block, offsets are transmitted to four consecutive bands (transmission offset). The pixel value of the reconstructed image may be corrected by adding the transmitted offset value to the pixels in the band in which the offset is transmitted.

도 10은 본 발명의 일 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이고, 도 11은 본 발명의 실시예에 따른 인루프 필터링에 사용되는 파라미터를 설명하기 위한 예시도이고, 도 12은 본 발명의 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이며, 도 13는 본 발명의 또 다른 실시예에 따른 인루프 필터링을 설명하기 위한 예시도이다. 10 is an exemplary diagram for explaining in-loop filtering according to an embodiment of the present invention, FIG. 11 is an exemplary diagram for explaining parameters used for in-loop filtering according to an embodiment of the present invention, and FIG. 12 is It is an exemplary diagram for explaining in-loop filtering according to another embodiment of the present invention, and FIG. 13 is an exemplary diagram for explaining in-loop filtering according to another embodiment of the present invention.

도 10을 참조하면, 기존의 경우 원본 영상 데이터와의 오차를 줄여주기 위해 휘도(또는 색차)값의 특정 대역 내의 화소에 대해 화소 단위의 오프셋을 더해주는 것과 달리, 특정 대역 내의 화소에 대해 대역 내의 화소를 특정 대역 내 또는 근처의 값으로 대체할 수 있다. Referring to FIG. 10, in the conventional case, in order to reduce an error with the original image data, a pixel unit offset is added to a pixel within a specific band of a luminance (or color difference) value. Can be replaced with a value in or near a specific band.

예를 들어, 일부 영상의 경우(컴퓨터 캡쳐 화면), 자연 영상과는 다르게 일부 휘도 성분 근처의 값들로 분류되어 나타나는 경우가 많다. 그렇기 때문에 도 10와 같이 화소 단위의 보정이 아닌 해당 대역에 값들을 특정 대역으로 대체함으로써 부호화 성능을 높일 수 있다. For example, in the case of some images (computer capture screens), unlike natural images, there are many cases that are classified into values near some luminance components and appear. Therefore, encoding performance can be improved by replacing values in a corresponding band with a specific band instead of pixel-by-pixel correction as shown in FIG. 10.

상세하게는, 기존의 경우 연속하는 대역의 시작 위치에 대한 정보를 복호화기에 전송하는 것과 다르게, 필터링을 수행하는 연속하는 대역의 시작 위치에 대한 정보를 보내는 것과 각기 필터링을 수행하는 개별적인 대역의 시작 위치에 대한 정보를 보내는 것, 그리고 복원 화소에 대한 분석을 통해 필터링을 수행하는 연속하는 대역의 시작 위치 또는 각기 필터링을 수행하는 개별적인 대역의 시작 위치에 대한 정보를 부호화기와 복호화기에서 알아내는 것 중 선택적으로 설정할 수 있다.Specifically, unlike in the conventional case that information about the start position of a continuous band is transmitted to the decoder, information about the start position of a continuous band that performs filtering is transmitted and the start position of each individual band that performs filtering. It is optional among sending information about the reconstructed pixel and finding information about the start position of the continuous band performing filtering or the start position of each individual band performing filtering through the analysis of reconstructed pixels from the encoder and the decoder. Can be set to.

부호화기와 복호화기에서 연속하는 대역의 시작 위치를 보내는 것과 개별적인 대역의 시작 위치를 보내는 것, 또는 복원 화소에 대한 분석을 통해 대역의 시작 위치를 자동으로 찾는 것 중 택일하여 사용하는 것을 약속할 수도 있고, 선택 정보를 픽쳐, 슬라이스, 블록 등의 단위로 전송하는 것도 가능하다. 예를 들어, 비트 심도가 8이고 대역의 폭이 8일 경우 총 대역의 수는 32개이다. It may be promised to use the choice between sending the start position of a continuous band from the encoder and decoder, sending the start position of an individual band, or automatically finding the start position of the band through analysis of reconstructed pixels. , It is also possible to transmit the selection information in units of pictures, slices, and blocks. For example, if the bit depth is 8 and the width of the band is 8, the total number of bands is 32.

대역의 시작 위치에 대한 정보는 전체 대역에서의 절대 위치일 수도 있고, 다양한 조건에 따른 상대적인 위치일 수도 있다. 예를 들어, 영상 특성에 따라 결정된 위치로부터의 상대적인 위치일 수도 있는데, 이 때 영상 특성이란 어느 특정 대역에 화소가 몰려 있을 때의 경우, 인루프 필터를 적용하기 전 해당 블록에서 최소 또는 최대값을 갖는 화소를 포함하고 있는 대역의 시작 위치가 기준이 될 수 있고, 해당 블록의 화소들의 휘도 성분의 평균값을 갖는 대역의 시작 위치가 기준이 될 수도 있으며, 가장 빈도수가 높은 대역의 시작 위치가 기준이 될 수도 있다. The information on the start position of the band may be an absolute position in the entire band or may be a relative position according to various conditions. For example, it may be a relative position from a position determined according to an image characteristic. In this case, the image characteristic is when pixels are concentrated in a certain band, the minimum or maximum value in the block before the in-loop filter is applied. The starting position of the band including the pixels of the block may be the reference, the starting position of the band having the average value of the luminance components of the pixels of the block may be the reference, and the starting position of the band with the highest frequency may be the reference. It could be.

또한, 대역 너비 또한 고정 값이 아닌 다양한 값을 가질 수 있다. 비트 심도에 비례하여 대역이 분할될 수도 있고(예를 들어, 비트 심도가 8일 때, 너비를 8로 가지는 것과 같이), 양자화 파라미터에 따라 적응적인 너비를 갖는 대역으로 분할할 수도 있다. In addition, the band width may also have various values rather than a fixed value. The band may be divided in proportion to the bit depth (for example, when the bit depth is 8, the width is 8), or may be divided into bands having an adaptive width according to the quantization parameter.

더 나아가, 영상의 특성이 어느 특정 대역에 화소가 몰려 있을 때 더욱 정밀한 필터링(화소값을 오프셋을 통해 보정한다고 할 경우)을 위해 대역폭(예를 들어, 기존이 8이라할 때, 8 미만의 크기를 갖는 너비)을 줄임으로써 필터링(여기에선 화소값 오프셋을 통해 보정)의 성능을 향상시킬 수도 있다. Furthermore, for more precise filtering (when the pixel value is corrected through offset) when the image characteristics are concentrated in a certain band, the bandwidth (e.g., when the conventional is 8, the size of less than 8) It is also possible to improve the performance of filtering (in this case, correction through pixel value offset) by reducing the width with ().

개별적인 대역의 시작 위치를 보내는 경우, 각 대역의 위치는 전체 대역에서의 절대 위치로 보낼 수도 있고, 각 대역의 상대적인 차분치를 통해 위치 정보를 보낼 수도 있다. 예를 들어, 각 대역의 위치 정보는 전체 대역의 절대 위치로 보낼 수도 있고, 첫 번째 대역의 시작 위치는 전체 대역의 절대 위치로 보내고, 두 번째 대역의 시작 위치는 첫 번째 대역의 시작 위치를 기준으로 그에 대한 상대적인 차이를 위치 정보로 전송할 수도 있다.In the case of sending the start positions of individual bands, the positions of each band may be sent to an absolute position in the entire band, or position information may be sent through a relative difference value of each band. For example, the position information of each band can be sent to the absolute position of the entire band, the start position of the first band is sent to the absolute position of the entire band, and the start position of the second band is based on the start position of the first band. As a result, the relative difference may be transmitted as location information.

또한, 각 대역의 위치는 다양한 조건에 따른 상대적인 위치일 수도 있다. 예를 들어, 영상 특성에 따라 결정된 위치로부터의 상대적인 위치를 예로 들 수 있다. 여기서, 영상 특성이란 어느 특정 대역에 화소가 몰려 있을 경우, 인루프 필터를 적용하기 전 해당 블록에서 최소 또는 최대값을 갖는 화소를 포함하고 있는 대역의 시작 위치가 될 수 있고, 해당 블록의 화소들의 휘도 성분의 평균값을 갖는 대역의 시작 위치가 될 수도 있고, 가장 빈도수가 높은 대역의 시작 위치가 될 수 있다. In addition, the location of each band may be a relative location according to various conditions. For example, a relative position from a position determined according to image characteristics may be exemplified. Here, when pixels are concentrated in a specific band, the image characteristic may be the start position of the band including the pixel having the minimum or maximum value in the block before applying the in-loop filter. It may be the start position of the band having the average value of the luminance component, or the start position of the band with the highest frequency.

또한, 시작 위치에 대한 여러 후보군을 두어 택일하는 것이 가능하다. 후보군 1은 전체 대역에서의 초기 시작점, 후보군 2는 해당 블록의 가장 빈도수가 높은 대역의 시작점 등과 같이 부호화 비용을 비교하여 어느 지점을 중심으로 시작 위치 정보를 생성할지를 결정할 수 있다. 여러 후보군 중 가장 선택 가능성이 높은 후보군을 예측 후보로 놓아 실제 시작 위치와 가장 선택 가능성이 높다고 판단된 후보가 일치할 경우에는 참이 되기 때문에 1비트를 전송할 수도, 그렇지 않을 경우에는 실제 시작 위치를 제외한 나머지 후보에 대한 정보를 생성하여 전송할 수도 있다. In addition, it is possible to select several candidate groups for the starting position. Candidate group 1 may compare encoding costs such as an initial starting point in the entire band, and candidate group 2 may determine which point to generate start position information around by comparing encoding costs, such as a starting point of a band with the highest frequency of a corresponding block. If the candidate with the highest selectability among several candidate groups is set as the prediction candidate, and the actual start position and the candidate judged with the highest selectability match, 1 bit may be transmitted because it is true. Otherwise, the actual start position is excluded. Information on the remaining candidates may be generated and transmitted.

필터링 관련 파라미터(오프셋 또는 대체값)은 해당 대역의 복원 영상과 원본 영상과의 에러를 최소화하기 위한 정보로 대역별로 전송이 되며, 오프셋을 통한 보정 또는 대체값을 통한 보정 또는 이 외의 비슷한 목적을 가진 방법들 중 택일하여 전송될 수 있다. 예를 들어, 블록 등의 단위로 혼재되어 사용되거나 혹은 하나의 방법만을 적용하기도 한다.Filtering related parameters (offset or substitute value) are information to minimize errors between the reconstructed image of the corresponding band and the original image, and are transmitted for each band. It can be transmitted by selecting one of the methods. For example, it may be used mixed in units such as blocks, or only one method may be applied.

만약 인루프 필터(여기에서, SAO)에서 다양한 선택 트리를 구성하여 필터링을 수행할 수 있다. 필터링은 안할 수도 있고, 에지 오프셋을 통한 보정을 수행할 수도 있고, 밴드 오프셋을 통한 보정을 수행할 수도 있으며, 대체값을 통한 보정을 수행할 수도 있다. 또한, 이 외의 비슷한 목적을 가진 새로운 방법으로 수행할 수도 있다. If the in-loop filter (here, SAO), various selection trees can be configured to perform filtering. Filtering may not be performed, correction may be performed through edge offset, correction may be performed through band offset, and correction may be performed through replacement values. It can also be done in a new way with a similar purpose.

이에 대한 설정은 부호화기 및 복호화기가 약속 하에 구성할 수도 있고, 어떤 선택 트리를 구성할지에 대한 정보를 전송하여 설정할 수도 있다. 즉, 이에 대한 정보는 픽쳐, 슬라이스, 블록 등의 단위로 전송이 가능하다. The setting for this may be configured by an encoder and a decoder under an appointment, or by transmitting information on which selection tree is to be configured. That is, information about this can be transmitted in units of pictures, slices, and blocks.

예를 들어, 필터링 수행 안함 + 에지 오프셋, 필터링 수행 안함 + 밴드 오프셋 + 에지 오프셋, 필터링 수행 안함 + 에지 오프셋 + 대체값 등의 구성이 가능하다. For example, no filtering + edge offset, no filtering + band offset + edge offset, no filtering + edge offset + replacement value, etc. can be configured.

또한, 주변 블록의 부호화 파라미터에 따라 각기 발생 확률을 다르게 할 수 있다. 예를 들어, 이웃 블록이 모두 에지 오프셋로 인루프 필터를 적용하였을 경우 현재 블록도 에지 오프셋을 통한 보정이 적용될 확률이 높으므로 다른 방법보다 에지 오프셋이 발생할 확률을 높게 설정하여 이를 통한 엔트로피 부호화시 더 적은 비트를 발생하게 하여 부호화 성능을 높일 수도 있다. In addition, the probability of occurrence may be different according to the encoding parameters of the neighboring blocks. For example, if the in-loop filter is applied to all of the neighboring blocks with edge offsets, the current block also has a higher probability of applying correction through edge offsets. Therefore, the probability of generating edge offsets is set higher than other methods, and entropy encoding through this is more effective. By generating fewer bits, it is also possible to improve coding performance.

다른 예시로 왼쪽 블록이 밴드 오프셋, 위 블록이 대체값으로 인루프 필터를 적용하였을 경우, 발생 빈도를 사전에 정의하여 이런 조합에 따른 각각의 발생 확률을 설정하여 이를 통한 엔트로피 부호화를 수행하게 할 수 있다. As another example, when an in-loop filter is applied as a band offset for the left block and an in-loop filter as a substitute value for the upper block, the occurrence frequency is defined in advance and the probability of each occurrence according to this combination can be set and entropy coding can be performed through this. have.

또한, 다른 부호화 파라미터를 통해 이를 설정할 수도 있다. 만약 왼쪽 블록이 밴드 오프셋, 위 블록이 대체값으로 인루프 필터를 적용하였을 경우 해당 블록의 예측 모드(여기에서는 인트라 예측 모드로 한정하여 설명함)를 확인하여 다른 발생 확률을 설정할 수도 있다. In addition, this can be set through other encoding parameters. If an in-loop filter is applied to the left block as a band offset and the upper block as a substitute value, a different probability of occurrence may be set by checking the prediction mode of the corresponding block (here, it is limited to the intra prediction mode).

만일, 해당 블록의 예측 모드가 이웃 블록 중 한 곳과 일치하였을 경우에는 그 이웃 블록의 인루프 필터에 대한 발생 확률을 높게 할 수 있다. 예를 들어, 왼쪽 블록의 예측 모드와 현재 블록의 예측모드가 같을 경우, 밴드 오프셋에 대한 발생 확률을 높게 하고, 만약 윗 블록의 예측 모드와 현재 블록의 예측모드가 같을 경우, 대체값에 대한 발생 확률을 높게 하며, 둘 다 아닐 경우에는 다른 발생확률을 설정할 수 있다. If the prediction mode of the corresponding block coincides with one of the neighboring blocks, the probability of occurrence of the in-loop filter of the neighboring block may be increased. For example, if the prediction mode of the left block and the prediction mode of the current block are the same, the probability of occurrence of the band offset is increased, and if the prediction mode of the upper block and the prediction mode of the current block are the same, occurrence of a replacement value The probability is increased, and if neither is the case, a different probability of occurrence can be set.

또한, 픽쳐, 슬라이스 등의 종류에 따라 다른 확률 정보를 설정할 수 있다. 예를 들어, 인터 픽쳐 또는 인트라 픽쳐 등에 따라 확률 정보에 대한 설정을 다르게 할 수 있다. In addition, different probability information may be set according to the type of picture, slice, or the like. For example, it is possible to set the probability information differently according to an inter picture or an intra picture.

더 나아가, 이웃 블록의 인루프 필터의 파라미터 정보를 전체 또는 일부를 복사하여 활용함으로써 해당 블록의 인루프 필터 파라미터 정보량을 줄여 부호화 효율을 높일 수 있다. Furthermore, by copying all or part of the parameter information of the in-loop filter of the neighboring block and using it, the amount of information of the in-loop filter parameter of the corresponding block can be reduced, thereby increasing encoding efficiency.

도 11을 참조하여 본 발명의 실시예에 따른 인루프 필터링에 사용되는 파라미터를 설명하면 다음과 같다. A parameter used for in-loop filtering according to an embodiment of the present invention will be described with reference to FIG. 11 as follows.

예를 들어, 이웃하는 블록이 밴드오프셋을 사용하고 도 11 (a)와 같은 파라미터 정보를 갖고 있다고 하자. For example, suppose that a neighboring block uses a band offset and has parameter information as shown in FIG. 11 (a).

만약, 현재 블록이 밴드오프셋을 통해 인루프 필터를 적용할 때, 이웃 블록의 파라미터 정보를 전체 복사를 나타내는 1비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 전체 복사,'0'일 경우 복사하지 않는 것 중 선택하여 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수 있다. If the current block applies the in-loop filter through the band offset, if the parameter information of the neighboring block is '1' through a 1-bit flag indicating the entire copy, the in-loop filter parameter information is completely copied from the neighboring block.' In the case of 0', the parameter information of the current block can be obtained from the neighboring block by selecting one of not copying.

또한, 이웃 블록의 파라미터 정보를 부분 복사함으로써 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수도 있다. 이 경우에는1 비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 부분 복사, '0'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 복사하지 않는 것 중 택일하게 할 수 있다. In addition, parameter information of the current block may be obtained from the neighboring block by partially copying the parameter information of the neighboring block. In this case, through a 1-bit flag, if '1', in-loop filter parameter information is partially copied from a neighboring block, and if '0', in-loop filter parameter information is not copied from a neighboring block.

만약 '1'일 경우 이웃 블록으로부터 어떤 정보를 부분 복사하기 위한 것인지 알기 위해 미리 설정해놓은 순서에 의해 플래그를 전송할 수 있다. 예를 들어, 만약 필터링을 적용하는 대역의 시작 위치에 대한 정보는 앞선 플래그가 '1'임을 통해 이웃블록에서 가져온다는 것을 동시에 의미한다고 하면, 남아있는 각 대역별로 오프셋 정보를 가져올지 말지를 나타내는 플래그들이 뒷 따를 수 있다. If it is '1', the flag can be transmitted in a preset order to know what information is to be partially copied from the neighboring block. For example, if the information on the starting position of the band to which the filtering is applied means that the preceding flag is '1', it means that it is obtained from the neighboring block at the same time, a flag indicating whether to fetch the offset information for each remaining band. Can follow.

만약, 4개의 오프셋을 모두 이웃하는 블록으로부터 복사하고자 한다면, 1-1-1-1이라는 플래그를 전송할 수 있다. If all four offsets are to be copied from a neighboring block, a flag of 1-1-1-1 can be transmitted.

또한, 도 11 (a)와 같이 만약 두 번째 대역을 제외하고 나머지 대역에서는 모두 이웃하는 블록으로부터 복사하고자 한다면, 1-0-1-1 이라는 플래그를 전송할 수 있고, 복사하지 않은 두 번째 대역의 경우 해당 오프셋을 따로 전송할 수 있다. In addition, as shown in FIG. 11 (a), if all the remaining bands except the second band are to be copied from neighboring blocks, a flag of 1-0-1-1 can be transmitted, and in the case of the second band not copied The offset can be transmitted separately.

또 다른 예로, 이웃하는 블록이 대체값을 통한 인루프 필터링을 수행하며 현재 블록도 대체값을 통해 인루프 필터링을 수행한다고 하고, 이웃하는 블록의 파라미터 정보는 도 11 (b)와 같다고 하자. As another example, it is assumed that a neighboring block performs in-loop filtering through a substitute value, and a current block also performs in-loop filtering through a substitute value, and parameter information of the neighboring block is as shown in FIG. 11(b).

이러한 경우에도, 이웃 블록으로부터 인루프 필터 파라미터 정보를 전부 복사할 수 있고 부분 복사를 할 수도 있다. Even in this case, all of the in-loop filter parameter information can be copied from the neighboring block or partial copy can be performed.

만약, 현재 블록이 대체값을 통해 인루프 필터를 적용할 때, 이웃 블록의 파라미터 정보를 전체 복사를 나타내는 1비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 전체 복사,'0'일 경우 복사하지 않는 것 중 선택하여 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수 있다.If the current block applies the in-loop filter through the replacement value, if the parameter information of the neighboring block is '1' through a 1-bit flag indicating the entire copy, the in-loop filter parameter information is copied entirely from the neighboring block.' In the case of 0', the parameter information of the current block can be obtained from the neighboring block by selecting one of not copying.

또한, 이웃 블록의 파라미터 정보를 부분 복사함으로써 현재 블록의 파라미터 정보를 이웃 블록으로부터 얻어낼 수도 있다. 이 경우에는1 비트 플래그를 통해 '1'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 부분 복사, '0'일 경우 이웃 블록으로부터 인루프 필터 파라미터 정보를 복사하지 않는 것 중 택일하게 할 수 있다. In addition, parameter information of the current block may be obtained from the neighboring block by partially copying the parameter information of the neighboring block. In this case, through a 1-bit flag, if '1', in-loop filter parameter information is partially copied from a neighboring block, and if '0', in-loop filter parameter information is not copied from a neighboring block.

만약, '1'일 경우 이웃 블록으로부터 어떤 정보를 부분 복사하기 위한 것인지 알기 위해 미리 설정해 놓은 순서에 의해 플래그를 전송할 수 있다. 만약 필터링 되는 대역이 4개가 존재한다면, 각 대역별 시작 위치에 대해 복사여부에 대한 플래그를 전송할 수 있다. If it is '1', the flag can be transmitted in a predetermined order to know what information is to be partially copied from the neighboring block. If there are four bands to be filtered, a flag indicating whether or not to be copied can be transmitted for the start position of each band.

또한, 만약 4개의 대역 모두 이웃하는 블록으로부터 시작 위치를 복사하고자 한다면 1-1-1-1과 같은 플래그를 전송할 수 있다. In addition, if all four bands want to copy the start position from a neighboring block, a flag such as 1-1-1-1 can be transmitted.

만약, 도 11 (b)와 같이 마지막을 제외한 나머지 대역들의 시작 위치가 같다면 1-1-1-0 플래그를 전송하고 나머지 대역에 대한 시작 위치 정보를 전송할 수 있으며, 대체값 역시 위와 같은 방법을 통해 전송할 수 있다. If the start positions of the remaining bands except the last are the same as shown in FIG. 11 (b), the 1-1-1-0 flag can be transmitted and the start position information for the remaining bands can be transmitted, and the replacement value is also the same as the above method. Can be transmitted through.

만약, 4개의 대역 모두 이웃하는 블록으로부터 시작 위치를 복사했다면, 4개 대역에 대한 대체값 복사 여부를 나타내는 플래그를 전송할 수 있다(1-1-1-1 또는 1-0-1-1).If all four bands have copied the start positions from neighboring blocks, a flag indicating whether to copy replacement values for the four bands may be transmitted (1-1-1-1 or 1-0-1-1).

만약, 도 11 (b)와 같이 대역 시작 위치에 대해 3개만 복사를 하고 마지막 대역의 경우 따로 시작 위치를 전송했다면, 이에 따른 대체값 복사 플래그는 대역 시작 위치를 복사한 3개 대역에 대해서만 보내고 마지막 대역의 경우는 대체값을 따로 전송할 수도 있다(1-1-1-0 < 대역 시작 위치 복사 플래그> ~~ 1-1-0 또는 1-0-1 등 < 대역 시작 위치 복사 플래그가 1인 대역들의 대체값 복사 플래그>). 11(b), if only 3 copies are made for the band start position and the start position is separately transmitted for the last band, the replacement value copy flag accordingly is sent only for the 3 bands where the band start position is copied. In the case of a band, an alternative value may be transmitted separately (1-1-1-0 <Band start position copy flag> ~~ 1-1-0 or 1-0-1, etc. <Band where the band start position copy flag is 1 Copy flags of the replacement values of >).

상술한 이웃하는 블록은 인접하는 좌, 좌상, 상, 우상 등의 블록일 수도 있고 또는 인접하지 않은 블록 그리고 시간상으로 인접한 동일 위치 블록일 수도 있는 것과 같이 다양한 블록으로부터 구성될 수 있다. 이웃블록 후보군은 부호화기와 복호화기의 정해진 규칙에 따라 설정될 수도 있고, 픽쳐, 슬라이스 등의 단위로 전송될 수 도 있다. 또한, 2개 이상의 후보군이 존재할 경우 1비트 이상의 플래그를 전송할 수도 있다. The above-described neighboring blocks may be blocks such as adjacent left, upper left, upper, and upper right, or may be constructed from various blocks such as non-adjacent blocks and co-located blocks adjacent in time. The neighboring block candidate group may be set according to a predetermined rule of an encoder and a decoder, or may be transmitted in units such as a picture or a slice. In addition, when there are two or more candidate groups, a flag of 1 bit or more may be transmitted.

필터링 관련 파라미터(오프셋 또는 대체값)에 고정 길이 부호화 또는 가변 길이 부호화(Exp-golomb, Truncated rice 등) 등의 방법을 적용할 수 있다. A method such as fixed-length encoding or variable-length encoding (Exp-golomb, Truncated rice, etc.) can be applied to filtering-related parameters (offset or substitute value).

또한, 관련 파라미터를 표현하기 위한 시작 위치를 다양하게 설정할 수 있다. 만약 해당 대역의 왼쪽을 중심으로 설정할 수도 있고, 해당 대역의 가운데를 중심으로 설정할 수도 있다. 관련 파라미터를 표현하기 위한 범위는 해당 대역 내의 제한적인 설정이 가능하며, 대역 밖을 넘어가는 범위를 갖는 설정 또한 가능하다. In addition, it is possible to set various starting positions for expressing related parameters. If it is set centered on the left side of the band, it can be set centered on the center of the band. The range for expressing the related parameter can be set in a limited range within the corresponding band, and it is also possible to set the range beyond the band.

또한, 해당 대역 내의 화소들의 평균값 또는 중간값 등의 기준에서 관련 파라미터의 표현도 가능하다. 관련 파라미터는 절대값 및 부호의 표현으로 가능하며, 시작 위치에 따라 부호는 생략하여 절대값만으로 표현이 가능하다. In addition, it is also possible to express related parameters in a standard such as an average value or an intermediate value of the pixels in the corresponding band. Related parameters can be expressed by absolute values and signs, and by omitting signs depending on the starting position, they can be expressed only by absolute values.

2개 이상의 대역을 사용할 경우 모든 대역을 오프셋을 통한 보정을 수행할 수도 있고 모든 대역을 대체값을 통한 보정을 수행할 수도 있다. When two or more bands are used, all bands may be corrected through offsets or all bands may be corrected through replacement values.

도 12을 참조하면, 대역에 따라 적응적으로 오프셋 또는 대체값을 통한 보정을 수행하는 것도 가능하다. 이에 대한 정보는 부호화기 및 복호하기의 동일한 설정에 따라 공유되기도 하고, 픽쳐, 슬라이스, 블록 등의 단위로 전송이 가능하다.Referring to FIG. 12, it is also possible to adaptively perform correction through an offset or substitute value according to a band. Information about this may be shared according to the same setting of the encoder and the decoder, and may be transmitted in units of pictures, slices, and blocks.

도 13를 참조하면, 만약 영상의 특수한 영역이라고 판단이 될 경우에는 기존의 SAO에서의 에지 오프셋과 밴드 오프셋에 추가적으로 대체값을 통한 보정을 추가하고, 그렇지 않을 경우에는 기존과 같이 에지 오프셋과 밴드 오프셋만을 지원할 수 있다.Referring to FIG. 13, if it is determined that it is a special region of an image, correction through a substitute value is additionally added to the edge offset and band offset in the existing SAO, and if not, the edge offset and the band offset as before. Can only support.

예를 들어, 영상 특성 후보 선택부에서 여러 영상 특성 후보군 중 1. 글자 영역인지 아닌지를 선택하여 그를 고려한 추가 모드를 기존의 SAO에 추가 모드를 둘 것인지를 결정한다고 하자. For example, suppose that the image characteristic candidate selection unit selects whether or not it is a character region among several image characteristic candidate groups, and determines whether to put the additional mode in consideration of the additional mode in the existing SAO.

화소 분류부(12)를 통해 휘도 성분에 따라 여러 개의 밴드로 분류를 한다. 영상 분석부(13)에서는 글자 영역인지 아닌지를 판단하기 위해 해당 영역의 NZ_i가 참인 서브 밴드가 1개 초과 ~ k개 미만이며, 도 13와 같이 NZ_i가 참인 서브 밴드 중 각각의 최고 거리(중간에 NZ_i가 참인 서브 밴드가 없는)가 TH 이상인 조건을 만족할 경우에는 글자 영역(글자 부분의 휘도 성분과 배경 부분의 휘도 성분의 차이가 크다는 가정을 했을 경우)이라는 판단한다고 가정하자. The pixel classification unit 12 classifies the bands according to the luminance component. In the image analysis unit 13, in order to determine whether or not a character region is a character region, the number of subbands in which NZ_i is true is greater than 1 to less than k, and as shown in FIG. Assume that it is determined that the character region (assuming that the difference between the luminance component of the character portion and the luminance component of the background portion is large) satisfies the condition that NZ_i is not a true subband) equal to or greater than TH.

이러한 경우에 해당 블록이 그 조건을 만족할 경우에는 실제로 글자 영역일 가능성이 높다는 분석 결과가 모드 추가 결정부(14)로부터 나오게 되면, 기존의 에지 오프셋과 밴드 오프셋에 '대체값을 통한 보정'이라는 모드가 추가로 실행이 되며, 만약 해당 블록이 그 조건에 만족하지 않을 경우 글자 영역일 가능성이 낮기 때문에 대체값을 통한 보정을 제외한 채 기존의 에지 오프셋과 밴드 오프셋만으로 SAO를 지원한다. In this case, if the analysis result that the block is actually a character area is highly likely to be generated from the mode addition decision unit 14 when the corresponding block satisfies the condition, the existing edge offset and band offset are in a mode called'correction through substitution values'. Is additionally executed, and if the corresponding block does not satisfy the condition, it is unlikely that it is a character area. Therefore, SAO is supported only with the existing edge offset and band offset, excluding correction through the replacement value.

추가 모드로 실행되어 최적의 필터로 결정이 될 경우 그에 관련된 파라미터들은 추가모드 식별 플래그 및 관련 파라미터 부호화부(16)를 통해 전송된다. When the optimum filter is determined by executing in the additional mode, parameters related thereto are transmitted through the additional mode identification flag and related parameter encoder 16.

대체값을 통한 보정은 기존의 SAO에 종속되어 기존의 방법들과 같이 사용될 수도, 또는 다른 인루프 필터로 구성되어 사용될 수도 있다.
The correction through the replacement value depends on the existing SAO and may be used together with the existing methods, or may be configured and used with another in-loop filter.

도 14은 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 장치를 설명하기 위한 블록도이다. 14 is a block diagram illustrating a video encoding apparatus using image analysis according to an embodiment of the present invention.

도 14을 참조하면, 본 발명의 실시예에 따른 비디오 부호화 장치는, 감산부(110), 변환부(120), 양자화부(130), 역양자화부(131), 역변환부(121), 엔트로피 부호화부(140), 가산부(150), 인루프 필터부(160), 프레임 메모리(170), 인트라 예측부(180) 및 움직임 보상부(190)를 포함한다. Referring to FIG. 14, a video encoding apparatus according to an embodiment of the present invention includes a subtraction unit 110, a transform unit 120, a quantization unit 130, an inverse quantization unit 131, an inverse transform unit 121, and an entropy. An encoding unit 140, an addition unit 150, an in-loop filter unit 160, a frame memory 170, an intra prediction unit 180, and a motion compensation unit 190 are included.

감산부(110)은 제공받은 입력 영상인 부호화할 대상 영상(현재 영상)으로부터 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상을 감산함으로써 현재 영상과 예측 영상 간의 잔차 영상(residue image)을 생성한다. The subtraction unit 110 generates a residual image between the current image and the predicted image by subtracting a prediction image generated by intra prediction or inter prediction from a target image to be encoded (current image), which is a received input image.

변환부(120)는 감산부(110)에 의해 생성된 잔차 영상을 공간 영역에서 주파수 영역으로 변환하는 기능을 한다. 여기서, 변환부(120)는 하다마드 변환, 이산 여현 변환(Discrete Cosine Transform), 이산 사인 변환(Discrete Sine Transform) 등과 같이 공간축의 화상 신호를 주파수축으로 변환하는 기법을 이용하여 잔차 영상을 주파수 영역으로 변환할 수 있다. The conversion unit 120 functions to convert the residual image generated by the subtraction unit 110 from the spatial domain to the frequency domain. Here, the transform unit 120 converts the residual image into the frequency domain by using a technique for transforming an image signal on the spatial axis into a frequency axis, such as Hadamard transform, Discrete Cosine Transform, and Discrete Sine Transform. Can be converted to

양자화부(130)는 변환부(120)로부터 제공되는 변환된 데이터(주파수 계수)에 대해 양자화를 수행한다. 즉, 양자화부(130)는 변환부(120)에 의해 변환된 데이터인 주파수 계수들을 양자화 스텝사이즈(Quantization Step-Size)로 나누어 근사화하여 양자화 결과값을 산출한다. The quantization unit 130 quantizes the transformed data (frequency coefficient) provided from the transform unit 120. That is, the quantization unit 130 calculates a quantization result value by dividing and approximating the frequency coefficients, which are data transformed by the transform unit 120, by a quantization step size.

엔트로피 부호화부(140)는 양자화부(130)에 의하여 산출된 양자화 결과값을 엔트로피 부호화함으로써 비트스트림을 생성한다. 또한, 엔트로피 부호화부(140)는 양자화부(130)에 의해 산출된 양자화 결과값을 CAVLC(Context-Adaptive Variable Length Coding) 또는 CABAC(Context-Adaptive Binary Arithmetic Coding) 기법 등을 이용하여 엔트로피 부호화할 수 있으며, 양자화 결과값 이외에 영상을 복호화하는데 필요한 정보를 엔트로피 부호화할 수 있다. The entropy encoding unit 140 generates a bitstream by entropy encoding the quantization result value calculated by the quantization unit 130. In addition, the entropy encoding unit 140 may entropy-encode the quantization result value calculated by the quantization unit 130 using a CAVLC (Context-Adaptive Variable Length Coding) or CABAC (Context-Adaptive Binary Arithmetic Coding) technique. In addition, in addition to the quantization result value, information necessary for decoding an image may be entropy-encoded.

역양자화부(131)은 양자화부(130)에 의해 산출된 양자화 결과값을 역양자화한다. 즉, 역양자화부(131)은 양자화 결과값으로부터 주파수 영역의 값(주파수 계수)을 복원한다. The inverse quantization unit 131 inverse quantizes the quantization result value calculated by the quantization unit 130. That is, the inverse quantization unit 131 restores a value (frequency coefficient) in the frequency domain from the quantization result value.

역변환부(121)는 역양자화부(131)에 제공받은 주파수 영역의 값(주파수 계수)을 주파수 영역에서 공간 영역으로 변환함으로써 잔차 영상을 복원하고, 가산부(150)는 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상에 역변환부(121)에 의해 복원된 잔차 영상을 가산함으로써 입력 영상의 복원 영상을 생성하여 프레임 메모리(170)에 저장한다. The inverse transform unit 121 restores the residual image by converting the frequency domain value (frequency coefficient) provided to the inverse quantization unit 131 from the frequency domain to the spatial domain, and the adder 150 performs intra prediction or inter prediction. A reconstructed image of the input image is generated by adding the residual image restored by the inverse transform unit 121 to the predicted image generated by the inverse transform unit 121 and stored in the frame memory 170.

인트라 예측부(180)는 인트라 예측(Intra Prediction)을 수행하며, 움직임 보상부(190)는 인터 예측(Inter Prediction)을 위한 움직임 벡터를 보상한다. 여기서, 인트라 예측부(180)와 움직임 보상부(190를 예측부로 통칭할 수 있다.The intra prediction unit 180 performs intra prediction, and the motion compensation unit 190 compensates a motion vector for inter prediction. Here, the intra prediction unit 180 and the motion compensation unit 190 may be collectively referred to as a prediction unit.

예측부는 인트라 또는 인터 예측을 통해 현재 블록의 예측 블록을 생성하는 역할을 수행한다. 인트라 예측의 경우 외삽 방법 및 DC 또는 planar 모드 등으로 이웃하는 참조 화소를 사용하거나 블록 매칭 알고리듬 및 템플릿 등의 알고리듬을 사용하여 현재 픽쳐의 이전의 부호화 또는 복호화가 완료된 영역에서 예측 블록을 구성할 수 있으며 부호화 비용 고려하여 최적인 예측 블록을 결정할 수 있다. The prediction unit generates a prediction block of the current block through intra or inter prediction. In the case of intra prediction, a prediction block can be constructed in a region where the previous encoding or decoding of the current picture has been completed using an extrapolation method and a neighboring reference pixel using a DC or planar mode, or by using an algorithm such as a block matching algorithm and a template. An optimal prediction block can be determined in consideration of encoding cost.

여기서, 부호화 또는 복호화가 완료된 영역은 최소 하나 이상의 블록 단위로 구성이 될 수 있고, 슬라이스 단위로 구분 될 수도 있고, 현재 블록을 기준으로 부호화 또는 복호화가 완료된 방향으로 한정된 크기의 영역으로 구성될 수도 있으며, 현재 블록의 수평 또는 수직에 놓인 부호화 또는 복호화가 완료된 영역으로 구성될 수도 있다.Here, the region in which the encoding or decoding is completed may be composed of at least one block unit, may be divided into slice units, or may be composed of a region having a size limited in a direction in which encoding or decoding is completed based on the current block. , It may be configured as a region in which encoding or decoding is completed, which is placed horizontally or vertically of the current block.

이 때 결정되는 최적의 예측 모드 관련 파라미터는 블록 분할 정보, 예측 방법(외삽 방법을 이용할 것인지 블록 매칭 등의 방법을 이용할 것인지에 대한 정보), 예측 방향 및 움직임 정보(외삽의 경우 어느 방향의 방향이 사용될 것인지, 블록 매칭 등의 경우 현재 블록 기준 또는 현재 슬라이스 시작점 기준 또는 특정한 방법에 의해 정의되는 특정한 위치에서 얼마 만큼의 이동거리에 있는 블록 또는 임의의 모양의 화소단위로부터 예측 샘플을 생성할 것인지에 대한 움직임 벡터 정보, 여러 움직임 벡터에 대한 후보 리스트 중 어느 후보를 선택할 지에 대한 정보), 후보 리스트의 구성(몇 개의 움직임 벡터를 후보로 넣을지, 어떤 움직임 벡터를 후보군에 넣을지 등) 정보, 움직임 탐색 범위(정수, 1/2, 1/4, 1/8등)에 대한 정보, 기설정된 skip 또는 merge 또는 그 이외의 방법을 사용하여 움직임 벡터를 유도하는 등을 설정하는 정보 등을 포함할 수 있다. The parameters related to the optimal prediction mode determined at this time are block division information, prediction method (information on whether to use an extrapolation method or a block matching method), prediction direction and motion information (in the case of extrapolation, which direction is used). In the case of whether or not, block matching, etc., a motion vector indicating how much a block or pixel unit of an arbitrary shape is to be generated from a block having a moving distance from a specific location defined by a current block or a current slice start point or by a specific method. Information, information on which candidate to select from the candidate list for multiple motion vectors), the composition of the candidate list (how many motion vectors to put as candidates, which motion vectors to put in the candidate group, etc.), motion search range (integer, 1/2, 1/4, 1/8, etc.), information for inducing a motion vector using a preset skip or merge or other method, etc. may be included.

특히, 본 발명의 실시예에 따른 인트라 예측부(180)는 좌우 및 상하 등의 반전을 적용한 대상 블록을 블록 매칭 알고리듬 및 템플릿 등의 방법을 사용하여 움직임 탐색 및 보상을 할 경우 예측의 정확도를 향상시킬 수 있다. 예를 들어, 인트라 예측부(180)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. In particular, the intra prediction unit 180 according to an embodiment of the present invention improves the accuracy of prediction when motion search and compensation is performed on a target block to which inversion of left and right and up and down is applied using a method such as a block matching algorithm and a template. I can make it. For example, the intra prediction unit 180 may perform intra prediction on the current block by applying an inversion motion when an edge exists in the current block or when the current block is a screen content area.

반전 움직임을 적용한 블록 매칭 알고리듬 및 템플릿 등의 방법의 사용 여부를 부호화기 및 복호화기에 미리 약속된 설정에 따라 설정할 수 있거나, 픽쳐, 슬라이스, 블록 등의 단위로 전송할 수도 있다. 또한 부호화기 및 복호화기에 미리 약속된 설정에 따라 어떤 반전을 지원할 지에 대한 정보를 공유할 수 있다. 또한, 이전에 누적된 통계(GOP단위, 픽쳐단위 등)에 따라 어떤 반전을 지원할 지에 대한 정보를 공유할 수 있다. 상기 언급된 예를 포함하며 이 외의 반전에 관련된 정보는 최적의 예측 모드 관련 파라미터에 포함되어 구성될 수 있다. Whether to use a method such as a block matching algorithm and a template to which the inversion motion is applied may be set according to a setting previously promised to an encoder and a decoder, or may be transmitted in units of pictures, slices, and blocks. In addition, information on which inversion is to be supported can be shared according to settings previously promised to the encoder and decoder. In addition, information on which reversal is supported can be shared according to previously accumulated statistics (GOP unit, picture unit, etc.). Including the above-mentioned examples, other information related to inversion may be included in the optimal prediction mode related parameter and configured.

인루프 필터부(160)는 복원된 영상에 대한 필터링을 수행하는 것으로, 디블록킹 필터(DF: Deblocking Filter), 샘플 적응적 오프셋(SAO: Sample Adaptive Offset)를 포함하여 구성될 수 있다. The in-loop filter unit 160 performs filtering on the reconstructed image, and may include a deblocking filter (DF) and a sample adaptive offset (SAO).

인루프 필터부(160)는 복원된 영상 데이터를 원본 영상 데이터와의 오차를 줄여주기 위해 필터링을 적용하는 작업을 수행한다. 복원 영상과 원본 영상과의 오차를 보정해주기 위한 오프셋 값을 계산하고 이에 대한 정보를 복호화기로 전송한다. SAO의 경우 디블록킹 필터가 적용된 픽쳐에 화소 단위의 오프셋을 더해준다. SAO는 해당 블록내의 화소 특성을 세분화하여 에지에 대해 에러를 보정하는 경우(에지 오프셋, edge offset), 특정 휘도 성분값 대역에 대해서 에러를 보정하는 경우(밴드 오프셋, band offset)으로 세분화된다. 오프셋을 효율적으로 계산하고 전송을 하기 위한 목적으로 부호화 단위에서 휘도 성분과 색차 성분에 대해 4개의 오프셋을 전송할 수 있다. The in-loop filter unit 160 applies filtering to reduce an error between the reconstructed image data and the original image data. An offset value for correcting an error between the reconstructed image and the original image is calculated, and information about this is transmitted to the decoder. In the case of SAO, an offset in units of pixels is added to a picture to which a deblocking filter is applied. SAO is subdivided into a case where an error is corrected for an edge by subdividing pixel characteristics in a corresponding block (edge offset), and a case where an error is corrected for a specific luminance component value band (band offset, band offset). For the purpose of efficiently calculating and transmitting an offset, four offsets for a luminance component and a chrominance component may be transmitted in a coding unit.

더 나아가, 인루프 필터부(160)는 다양한 선택 트리를 구성하여 필터링을 수행할 수 있다. 즉, 필터링은 안할 수도 있고, 에지 오프셋을 통한 보정을 수행할 수도 있고, 밴드 오프셋을 통한 보정을 수행할 수도 있으며, 대체값을 통한 보정을 수행할 수도 있다.Furthermore, the in-loop filter unit 160 may perform filtering by configuring various selection trees. That is, filtering may not be performed, correction may be performed through edge offset, correction may be performed through band offset, and correction may be performed through replacement values.

예를 들어, 인루프 필터부(160)는 영상 특성에 대한 분석 결과에 따라 상기 현재 블록을 복원한 복원 블록에 인루프 필터링을 수행할 수 있다. 즉, 인루프 필터부(160)는 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. 예를 들어, 인루프 필터부(160)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록을 복원한 복원 블록에 대체값을 적용하여 필터링을 수행할 수 있다.
For example, the in-loop filter unit 160 may perform in-loop filtering on a reconstructed block from which the current block is reconstructed according to an analysis result of image characteristics. That is, the in-loop filter unit 160 may perform filtering by using a sample adaptive offset (SAO) or a substitute value. For example, the in-loop filter unit 160 may perform filtering by applying a replacement value to a reconstructed block reconstructing the current block when an edge exists in the current block or when the current block is a screen content area. .

도 15는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치를 설명하기 위한 블록도이다. 15 is a block diagram illustrating a video decoding apparatus using image analysis according to an embodiment of the present invention.

도 15를 참조하면, 본 발명의 실시예에 따른 비디오 복호화 장치는, 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 가산부(240), 인루프 필터부(250), 프레임 메모리(260), 인트라 예측부(270) 및 움직임 보상부(280)를 포함할 수 있다. 여기서, 인트라 예측부(270) 및 움직임 보상부(280)는 예측부로 통칭될 수 있다. Referring to FIG. 15, a video decoding apparatus according to an embodiment of the present invention includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an addition unit 240, and an in-loop filter unit 250. ), a frame memory 260, an intra prediction unit 270, and a motion compensation unit 280. Here, the intra prediction unit 270 and the motion compensation unit 280 may be collectively referred to as a prediction unit.

특히, 인트라 예측부(270)는 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 반전 움직임의 적용 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다. 즉, 인트라 예측부(270)는 영상 특성에 대한 분석 결과에 기반하여 블록 매칭 또는 템플릿 매칭에 따른 인트라 예측에 반전 움직임을 적용할지 여부를 결정하여 현재 블록에 인트라 예측을 수행할 수 있다. In particular, the intra prediction unit 270 may perform intra prediction on the current block by determining whether to apply the inversion motion based on the decoding method for the current block according to the analysis result of the image characteristics. That is, the intra prediction unit 270 may perform intra prediction on the current block by determining whether to apply the inversion motion to intra prediction according to block matching or template matching based on the analysis result of the image characteristics.

예를 들어, 인트라 예측부(270)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. For example, when an edge exists in the current block or when the current block is a screen content area, the intra prediction unit 270 may apply an inversion motion to perform intra prediction on the current block.

인루프 필터부(250)는 영상 특성에 대한 분석 결과에 따른 현재 블록에 대한 복호화 방법에 기반하여 현재 블록에 인루프 필터링을 수행할 수 있다. 즉, 인루프 필터부(250)는 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. 예를 들어, 인루프 필터부(250)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록에 대체값을 적용하여 필터링을 수행할 수 있다. The in-loop filter unit 250 may perform in-loop filtering on the current block based on a decoding method for the current block according to a result of analyzing the image characteristics. That is, the in-loop filter unit 250 may perform filtering by using a sample adaptive offset (SAO) or a substitute value. For example, the in-loop filter unit 250 may perform filtering by applying a substitute value to the current block when an edge exists in the current block or when the current block is a screen content area.

한편, 비디오 복호화 장치의 각 구성 요소는 도 14의 비디오 부호화 장치의 구성 요소와 각각 대응되어 이해될 수 있으므로 상세한 설명한 생략한다.
Meanwhile, since each component of the video decoding apparatus corresponds to the component of the video encoding apparatus of FIG. 14 and can be understood, a detailed description thereof will be omitted.

본 발명에 따른 비디오 부호화/복호화 장치는, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다. The video encoding/decoding apparatus according to the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. In addition, a computer-readable recording medium may be distributed over a computer system connected through a network to store and execute a computer-readable program or code in a distributed manner.

상술한 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화/복호화 방법은, 스크린 콘텐츠와 같이 자연 영상과 다른 영상 특성을 가진 영상에 대해 반전 움직임을 적용한 인트라 예측 및 대체값을 적용하는 인루프 필터링을 통하여 부호화 효율을 향상시킴과 복잡도를 감소시킬 수 있다. The above-described video encoding/decoding method using image analysis according to an embodiment of the present invention includes intra prediction by applying inversion motion and in-loop filtering by applying replacement values to images having different image characteristics from natural images such as screen content. Through this, coding efficiency can be improved and complexity can be reduced.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that you can do it.

11: 영상 특성 후보 선택부 12: 화소 분류부
13: 영상 분석부 14: 모드 추가 결정부
15: 추가 모드 실행부 16: 추가 모드 식별 플래그 및 관련 파라미터 부호화부
110: 감산부 120: 변환부
121, 230: 역변환부 130: 양자화부
131, 220: 역양자화부 140: 엔트로피 부호화부
150, 240: 가산부 160, 250: 인루프 필터부
170, 260: 프레임 메모리 180, 270: 인트라 예측부
190, 280: 움직임 보상부 210: 엔트로피 복호화부
11: image characteristic candidate selection unit 12: pixel classification unit
13: image analysis unit 14: mode addition decision unit
15: additional mode execution unit 16: additional mode identification flag and related parameter encoding unit
110: subtraction unit 120: conversion unit
121, 230: inverse transform unit 130: quantization unit
131, 220: inverse quantization unit 140: entropy encoding unit
150, 240: addition unit 160, 250: in-loop filter unit
170, 260: frame memory 180, 270: intra prediction unit
190, 280: motion compensation unit 210: entropy decoding unit

Claims (21)

비트스트림으로부터 시그날링되는 예측 모드 관련 파라미터를 획득하는 단계, 상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터, 후보 리스트 구성 파라미터, 또는 움직임 벡터 선택 파라미터 중 적어도 하나를 포함함;
상기 복호화 방법 파라미터를 기초로, 현재 블록의 복호화 방법이 블록 매칭에 의한 복호화 방법인지 여부를 결정하는 단계;
상기 현재 블록의 복호화 방법이 상기 블록 매칭에 의한 복호화 방법인 경우,
상기 후보 리스트 구성 파라미터를 기초로, 상기 현재 블록의 복수 개의 움직임 벡터로 움직임 벡터 후보 리스트를 구성하는 단계;
상기 움직임 벡터 선택 파라미터를 기초로, 상기 구성된 움직임 벡터 후보 리스트에서 어느 하나의 움직임 벡터를 선택하는 단계; 및
상기 선택된 움직임 벡터를 기초로, 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하되,
상기 선택된 움직임 벡터는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내는, 비디오 복호화 방법.
Obtaining a prediction mode related parameter signaled from the bitstream, the prediction mode related parameter including at least one of a decoding method parameter, a candidate list configuration parameter, and a motion vector selection parameter;
Determining whether a decoding method of a current block is a decoding method by block matching, based on the decoding method parameter;
When the decoding method of the current block is a decoding method based on the block matching,
Constructing a motion vector candidate list from a plurality of motion vectors of the current block based on the candidate list configuration parameter;
Selecting one motion vector from the configured motion vector candidate list based on the motion vector selection parameter; And
Including the step of generating a prediction block of the current block based on the selected motion vector,
The selected motion vector indicates a location of a block matching the current block based on the current block.
제1항에 있어서,
상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록인, 비디오 복호화 방법.
The method of claim 1,
The block matching the current block belongs to the same picture as the current block and is a block that has been decoded before the current block.
제1항에 있어서,
상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 상기 복수의 움직임 벡터의 개수를 나타내는 후보 리스트 개수 파라미터를 포함하는, 비디오 복호화 방법.
The method of claim 1,
The candidate list configuration parameter includes a candidate list number parameter indicating the number of the plurality of motion vectors constituting the motion vector candidate list.
제1항에 있어서,
상기 예측 블록의 생성은, 상기 선택된 움직임 벡터가 나타내는 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 비디오 복호화 방법.
The method of claim 1,
The generation of the prediction block is performed by copying pixels of a block matching the current block indicated by the selected motion vector.
현재 블록의 부호화 방법이 블록 매칭에 의한 방법인지 결정하는 단계;
상기 현재 블록의 부호화 방법이 상기 블록 매칭에 의한 부호화 방법인 경우,
상기 현재 블록의 복수 개의 움직임 벡터로 움직임 벡터 후보 리스트를 구성하는 단계;
상기 구성된 움직임 벡터 후보 리스트에서 어느 하나의 움직임 벡터를 선택하는 단계;
상기 선택된 움직임 벡터를 기초로, 상기 현재 블록의 예측 블록을 생성하는 단계; 및
상기 예측 블록을 기초로 생성된 잔차 블록 및 예측 모드 관련 파라미터를 부호화하는 단계를 포함하되,
상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터, 후보 리스트 구성 파라미터, 또는 움직임 벡터 선택 파라미터 중 적어도 하나를 포함하고,
상기 복호화 방법 파라미터는, 상기 현재 블록의 부호화 방법이 블록 매칭에 의한 부호화 방법인지에 따라 결정되고,
상기 후보 리스트 구성 파라미터는, 상기 구성된 움직임 벡터 후보 리스트를 기초로 결정되고,
상기 움직임 벡터 선택 파라미터는, 상기 선택된 움직임 벡터를 기초로 결정되는, 비디오 부호화 방법.
Determining whether a current block encoding method is a block matching method;
When the encoding method of the current block is an encoding method based on the block matching,
Constructing a motion vector candidate list from a plurality of motion vectors of the current block;
Selecting any one motion vector from the constructed motion vector candidate list;
Generating a prediction block of the current block based on the selected motion vector; And
Including the step of encoding a residual block generated based on the prediction block and a parameter related to a prediction mode,
The prediction mode related parameter includes at least one of a decoding method parameter, a candidate list configuration parameter, or a motion vector selection parameter,
The decoding method parameter is determined according to whether the encoding method of the current block is an encoding method based on block matching,
The candidate list configuration parameter is determined based on the configured motion vector candidate list,
The motion vector selection parameter is determined based on the selected motion vector.
제5항에 있어서,
상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록인, 비디오 부호화 방법.
The method of claim 5,
A video encoding method, wherein the block matching the current block belongs to the same picture as the current block, and decoding is completed before the current block.
제5항에 있어서,
상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 상기 복수의 움직임 벡터의 개수를 나타내는 후보 리스트 개수 파라미터를 포함하는, 비디오 부호화 방법.
The method of claim 5,
The candidate list configuration parameter includes a candidate list number parameter indicating the number of the plurality of motion vectors constituting the motion vector candidate list.
제5항에 있어서,
상기 예측의 블록의 생성은, 상기 선택된 움직임 벡터가 나타내는 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 비디오 부호화 방법.
The method of claim 5,
The generation of the prediction block is performed by copying pixels of a block matching the current block indicated by the selected motion vector.
비디오 복호화 방법에 복호화되는 비트스트림을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서,
상기 비디오 복호화 방법은,
비트스트림으로부터 시그날링되는 예측 모드 관련 파라미터를 획득하는 단계, 상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터, 후보 리스트 구성 파라미터, 또는 움직임 벡터 선택 파라미터 중 적어도 하나를 포함함;
상기 복호화 방법 파라미터를 기초로, 현재 블록의 복호화 방법이 블록 매칭에 의한 복호화 방법인지 여부를 결정하는 단계;
상기 현재 블록의 복호화 방법이 상기 블록 매칭에 의한 복호화 방법인 경우,
상기 후보 리스트 구성 파라미터를 기초로, 상기 현재 블록의 복수 개의 움직임 벡터로 움직임 벡터 후보 리스트를 구성하는 단계;
상기 움직임 벡터 선택 파라미터를 기초로, 상기 구성된 움직임 벡터 후보 리스트에서 어느 하나의 움직임 벡터를 선택하는 단계;
상기 선택된 움직임 벡터를 기초로, 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하되,
상기 선택된 움직임 벡터는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내는 컴퓨터로 판독가능한 기록매체.
A computer-readable recording medium storing a bitstream decoded in a video decoding method, comprising:
The video decoding method,
Obtaining a prediction mode related parameter signaled from the bitstream, the prediction mode related parameter including at least one of a decoding method parameter, a candidate list configuration parameter, and a motion vector selection parameter;
Determining whether a decoding method of a current block is a decoding method by block matching, based on the decoding method parameter;
When the decoding method of the current block is a decoding method based on the block matching,
Constructing a motion vector candidate list from a plurality of motion vectors of the current block based on the candidate list configuration parameter;
Selecting one motion vector from the configured motion vector candidate list based on the motion vector selection parameter;
Including the step of generating a prediction block of the current block based on the selected motion vector,
The selected motion vector is a computer-readable recording medium indicating a position of a block matching the current block based on the current block.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020150043410A 2015-03-16 2015-03-27 Method and apparatus for video encoding/decoding using image analysis KR102248172B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210049585A KR102363132B1 (en) 2015-03-16 2021-04-16 Method and apparatus for video encoding/decoding using image analysis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150035843 2015-03-16
KR1020150035843 2015-03-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210049585A Division KR102363132B1 (en) 2015-03-16 2021-04-16 Method and apparatus for video encoding/decoding using image analysis

Publications (2)

Publication Number Publication Date
KR20160111293A KR20160111293A (en) 2016-09-26
KR102248172B1 true KR102248172B1 (en) 2021-05-04

Family

ID=57068543

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020150043410A KR102248172B1 (en) 2015-03-16 2015-03-27 Method and apparatus for video encoding/decoding using image analysis
KR1020210049585A KR102363132B1 (en) 2015-03-16 2021-04-16 Method and apparatus for video encoding/decoding using image analysis
KR1020220017373A KR102503760B1 (en) 2015-03-16 2022-02-10 Method and apparatus for video encoding/decoding using image analysis
KR1020230022988A KR102624286B1 (en) 2015-03-16 2023-02-21 Method and apparatus for video encoding/decoding using image analysis

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020210049585A KR102363132B1 (en) 2015-03-16 2021-04-16 Method and apparatus for video encoding/decoding using image analysis
KR1020220017373A KR102503760B1 (en) 2015-03-16 2022-02-10 Method and apparatus for video encoding/decoding using image analysis
KR1020230022988A KR102624286B1 (en) 2015-03-16 2023-02-21 Method and apparatus for video encoding/decoding using image analysis

Country Status (1)

Country Link
KR (4) KR102248172B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210044760A (en) * 2015-03-16 2021-04-23 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116233423A (en) * 2017-03-22 2023-06-06 汉阳大学校产学协力团 Loop filtering method based on self-adaptive pixel classification reference
CN114205621A (en) * 2018-02-28 2022-03-18 三星电子株式会社 Encoding method and device, and decoding method and device
CN112702598B (en) * 2020-12-03 2024-06-04 浙江智慧视频安防创新中心有限公司 Method, device, electronic equipment and medium for encoding and decoding based on displacement operation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
CN1276382C (en) * 2001-10-11 2006-09-20 皇家飞利浦电子股份有限公司 Method and apparatus for discriminating between different regions of an image
JP5406465B2 (en) * 2008-04-24 2014-02-05 株式会社Nttドコモ Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
KR20130098122A (en) * 2012-02-27 2013-09-04 세종대학교산학협력단 Device and method for encoding/decoding
KR102248172B1 (en) * 2015-03-16 2021-05-04 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210044760A (en) * 2015-03-16 2021-04-23 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis
KR102363132B1 (en) * 2015-03-16 2022-02-15 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis
KR20220024333A (en) * 2015-03-16 2022-03-03 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis
KR102503760B1 (en) * 2015-03-16 2023-02-24 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis
KR20230028745A (en) * 2015-03-16 2023-03-02 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis
KR102624286B1 (en) * 2015-03-16 2024-01-15 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis

Also Published As

Publication number Publication date
KR20230028745A (en) 2023-03-02
KR20160111293A (en) 2016-09-26
KR20220024333A (en) 2022-03-03
KR102503760B1 (en) 2023-02-24
KR20210044760A (en) 2021-04-23
KR102624286B1 (en) 2024-01-15
KR102363132B1 (en) 2022-02-15

Similar Documents

Publication Publication Date Title
US11368675B2 (en) Method and device for encoding and decoding intra-frame prediction
KR102292592B1 (en) Method and apparatus for decoding image
KR102035565B1 (en) Video encoding/decoding method and apparatus using prediction based on in-loop filtering
KR102393177B1 (en) Method and apparatus for encoding intra prediction information
KR102394226B1 (en) Method for encoding/decoing video using intra prediction and apparatus for the same
KR20220151140A (en) Method for image encoding and computer readable redording meduim thereof
US11070831B2 (en) Method and device for processing video signal
KR102503760B1 (en) Method and apparatus for video encoding/decoding using image analysis
KR102393179B1 (en) Method and apparatus for generating reconstruction block
KR20190123288A (en) In-loop filtering method based on adaptive pixel classification criteria
KR20180061027A (en) Method and apparatus for encoding/decoding image and recording medium for storing bitstream
KR20130027975A (en) Method for coding/decoding of intra prediction mode and apparatus thereof
KR20200004749A (en) Method for rearranging residual and apparatus
KR20170108367A (en) Method and apparatus for processing a video signal based on intra prediction
KR20120126050A (en) Video encoding/decoding method and apparatus using prediction based on in-loop filtering

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant