KR20230028745A - 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
KR20230028745A
KR20230028745A KR1020230022988A KR20230022988A KR20230028745A KR 20230028745 A KR20230028745 A KR 20230028745A KR 1020230022988 A KR1020230022988 A KR 1020230022988A KR 20230022988 A KR20230022988 A KR 20230022988A KR 20230028745 A KR20230028745 A KR 20230028745A
Authority
KR
South Korea
Prior art keywords
block
current block
motion vector
prediction
image
Prior art date
Application number
KR1020230022988A
Other languages
Korean (ko)
Other versions
KR102624286B1 (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 KR20230028745A publication Critical patent/KR20230028745A/en
Application granted granted Critical
Publication of KR102624286B1 publication Critical patent/KR102624286B1/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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

Abstract

Disclosed are a method and an apparatus for encoding/decoding a video based on image characteristics according to image analysis. The method for encoding a video using image analysis, includes the following steps of: classifying pixels included in a current block based on a preset band section; analyzing image characteristics of the current block using a classification result for the pixels; and performing intra prediction on the current block in accordance with the analysis result about the image characteristics. Therefore, the present invention is capable of improving encoding efficiency as well as reducing complexity through infra prediction applying a reversal motion to an image having image characteristics different from that of a natural image such as screen content, and in-loop filtering applying an alternative value.

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)에 대한 표준화가 진행되어 최근에 완료되었다. Standardization of HEVC (High Efficiency Video Coding), which is known to have about twice or more compression efficiency compared to conventional H.264/AVC, 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), Prediction Unit (PU), and Transform Unit (TU) with a quadtree structure, and Sample Adaptive Offset (SAO). Offset) and in-loop filters such as a deblocking filter are applied. In addition, compression encoding 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 using an extrapolation method, generally, as the distance between the prediction pixel and the reference pixel increases, the prediction accuracy decreases.

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

예를 들어, 블록 매칭 알고리즘의 경우, 현재 블록 이전의 부호화 및 복호화가 완료된 영역에서 현재 블록 단위로 움직임 탐색 및 보상을 통해 최적의 부호화 비용(화소 간 유사도를 기준으로 할 경우, 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 a block matching algorithm, an optimal encoding cost (based on similarity between pixels, SAD (sum of absolute absolute difference), sum of absolute transformed difference (SATD) or sum of the squared difference (SSD) or other methods may be used, and rate-distortion methods such as RDO (rate distortion optimization) similarity and occurrence between pixels A method of deriving a 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, prediction accuracy may be lowered in an area having some image characteristics, such as screen content.

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

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

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

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

여기에서, 상기 현재 블록에 포함된 화소를 분류하는 단계는, 화소의 휘도가 속하는 대역에 대한 정보 및 해당 대역이 차지하는 빈도에 대한 정보를 포함한 인덱스 맵의 형태로 화소에 대한 분류 결과를 산출할 수 있다. Here, in the step of classifying the pixels included in the current block, a classification result for the pixels 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 a frequency occupied by the corresponding band. there is.

여기에서, 상기 현재 블록의 영상 특성을 분석하는 단계는, 화소에 대한 분류 결과를 이용하여 현재 블록에 에지가 존재하는지 여부, 현재 블록이 배경 영역인지 여부, 현재 블록이 스크린 콘텐츠 영역인지 여부 중 적어도 하나를 분석할 수 있다. Here, the analyzing of the image characteristics of the current block may include at least one of whether or not 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 using a classification result for pixels. one can be analyzed.

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

여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. In the performing of 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 a reconstructed block obtained by reconstructing the current block according to an analysis result of image characteristics.

여기에서, 상기 인루프 필터링을 수행하는 단계는, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 수행할 수 있다. Here, in the step of performing the in-loop filtering, filtering may be performed using a Sample Adaptive Offset (SAO) or a replacement 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 restored block obtained by reconstructing the current block. there is.

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

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

여기에서, 상기 현재 블록에 인트라 예측을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. In the performing of 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 an analysis result of image characteristics.

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

여기에서, 상기 인루프 필터링을 수행하는 단계는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 현재 블록에 대체값을 적용하여 필터링을 수행할 수 있다. 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 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 decoding unit that calculates information on a decoding method for the current block according to an analysis result of image characteristics of the current block. and; and an intra predictor for performing intra prediction on the current block by determining whether to apply inversion motion based on a decoding method for the current block according to a result of analyzing the image characteristics.

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

여기에서, 상기 모드 추가 결정부는, 현재 블록에 에지가 존재하는 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할지 여부, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset) 또는 대체값을 활용하여 필터링을 적용할지 여부를 결정할 수 있다.Here, the mode addition determining unit determines whether to 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, and a sample adaptive offset (SAO: Sample Adaptive Offset) or alternative values can be used to determine whether or not to apply filtering.

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

도 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 embodiment of the present invention.
2 is an exemplary view for explaining an index map generated through pixel analysis according to an embodiment of the present invention.
3 is an exemplary view for explaining a case in which a part of an image is inverted according to an embodiment of the present invention.
4 is an exemplary 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 the case of having inverted image characteristics according to an embodiment of the present invention.
6 is an exemplary diagram for explaining analysis of image characteristics according to an embodiment of the present invention.
7 is an exemplary diagram for explaining image characteristics according to an embodiment of the present invention based on pixel directionality.
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 explaining a sample adaptive offset technique.
10 is an exemplary diagram for explaining 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 explaining in-loop filtering according to another embodiment of the present invention.
14 is a block diagram for explaining a video encoding apparatus using image analysis according to an embodiment of the present invention.
15 is a block diagram for explaining a video decoding apparatus using image analysis according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, 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 specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Like reference numerals have been used for like elements throughout the description of each figure.

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

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

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this 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 dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

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

이하에서 후술할 영상 부호화 장치(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: Personal Computer), a notebook computer, a personal digital assistant (PDA), and a portable multimedia player (PMP). : Portable Multimedia Player), PlayStation Portable (PSP: PlayStation Portable), wireless communication terminal (Wireless Communication Terminal), smart phone (Smart Phone), it may be a server terminal such as a TV application server and service server, and various devices such as A user terminal or a communication device such as a communication modem for communicating with a wired/wireless communication network, memory for storing various programs and data for encoding or decoding images, inter- or intra-screen prediction for encoding or decoding, and execution of programs It may refer to various devices including a microprocessor and the like for calculation and control.

또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.In addition, the image encoded as a bitstream by the image encoding device is transmitted through a wired or wireless communication network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, a mobile communication network, etc. in real time or non-real time, or through a cable or universal serial bus (USB: Universal). It can be transmitted to the video decoding device through various communication interfaces such as a serial bus), decoded in the video decoding device, and restored 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 predetermined areas such as frames or blocks. When an area of an image is divided into blocks, the divided blocks may be largely classified into intra blocks and inter blocks according to encoding methods. An intra block refers to a block that is coded using the intra prediction coding method. This is a method of generating a prediction block by predicting pixels of the current block and encoding a difference between the pixels of the current block and the pixels of the current block. Inter-block refers to a block coded using inter-prediction coding. Inter-prediction coding refers to one or more past or future pictures to predict a current block in a current picture to generate a predicted block and generate a current block. It is a method of encoding the difference value between and. Here, a frame referred to for encoding or decoding a current picture is referred to as a reference frame. In addition, those of ordinary skill in the art to which this embodiment pertains that the term "picture" described below may be replaced with other terms having equivalent meanings such as image and frame. When you grow up, you will understand. Also, in the present invention, a reference picture means a reconstructed picture, which can be understood by those skilled in the art to which this embodiment belongs.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.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 for explaining an apparatus for performing image analysis according to an embodiment of the present invention, and FIG. 2 is an exemplary diagram for explaining an index map generated through pixel analysis according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 영상 분석을 수행하는 장치(10)는 영상 특성 후보 선택부(11), 화소 분류부(12), 영상 분석부(13), 모드 추가 결정부(14), 추가 모드 실행부(15), 추가 모드 식별 플래그 및 관련 파라미터 부호화부(16)를 포함한다. Referring to FIG. 1 , an 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 related parameter encoding unit 16.

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

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

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

만약 여러 영상 특성 후보군 중 고려할 영상 특성 후보가 1. 배경에 속하는 영역인지 아닌지와 2. 인공적인 영상인지 아닌지 라면, 화소 분류부(12), 영상 분석부(13) 등의 과정을 통해 1, 2가 참인(즉, 배경에 속하고 인공적인 영상에 속함) 경우에 기존의 필터(기존 모드)에 배경에 속하는 인공적인 영상에 잘 적용될 수 있는 새로운 인루프 필터링을 적용하는 과정을 추가 모드로 설정하여 이들 중에 최적의 필터를 적용할 수 있다. If an image feature candidate to be considered among several image feature candidates is 1. whether or not a region belonging to the background and 2. whether or not an artificial image, 1, 2 through processes such as the pixel classification unit 12 and the image analysis unit 13 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 them, an optimal filter can be applied.

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

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

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

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

예를 들어, 화소 분류부(12)는 화소의 휘도값에 따라 화소를 분류할 수도 있으며, 주파수 도메인 상에서의 변환 계수에 따라 화소를 분류할 수도 있으며, 화소의 휘도, 색차 성분을 하나의 요소로 구성하여(예를 들어, (Y, Cb, Cr) 또는 (R, G, B)와 같은 벡터 형식으로 표현) 이웃 화소와의 변위에 따라 화소를 분류할 수도 있다. For example, the pixel classification unit 12 may classify pixels according to their luminance values, or may classify pixels according to conversion coefficients in the frequency domain. It is also possible to classify pixels according to displacements with neighboring pixels by constructing (eg, expressed in a vector format such as (Y, Cb, Cr) or (R, G, B)).

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

예를 들어, 화소의 휘도의 경우에 있어서, 화소의 비트 심도(n)에 따라 2n-k (k는 0보다 크고 n보다 작은 상수)만큼 개수의 대역으로 구역을 나눌 수 있다. For example, in the case of the luminance of a pixel, the number of bands can be divided by 2n-k (k is a constant greater than 0 and smaller 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, parameters related to image resolution and encoding (block division information, prediction mode information, information on transformation unit size, coded block pattern, etc.), etc. The luminance of the pixel may be distinguished for each band set by . Here, the width of the band may have a uniform interval or may have an unequal interval depending on conditions such as image characteristics.

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

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

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

또한, 두 개 이상의 기준에 따라 화소를 분류할 수 있다. 화소의 휘도값에 따라 각 대역의 NZ_i를 분류한 후, 참의 값을 갖는 대역만을 고려하여 해당 대역에 새로운 인덱스를 할당하여 새로운 인덱스 맵을 구성할 수 있다. Also, pixels may be classified according to two or more criteria. After classifying NZ_i of each band according to the luminance value of a pixel, a new index map may be constructed by assigning a new index to the corresponding band 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 false for the other bands, since only two candidates exist, 1 bit can be allocated to assign bands 0 and 1 respectively. That is, a new index map may be configured by assigning 0 to the index of band 0 and 1 to band m.

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

또한, 화소의 휘도, 색차, 위치 등과 같은 기준에 따른 분류와 같이 하나의 화소의 특성에 기반하거나 이를 그룹화하여 그에 따른 특성에 따른 분류를 수행한 것 외에 변화도, 상관관계 등과 같이 이웃하는 화소간의 상관 관계에 따라 분류하는 것도 가능하다. In addition, classification based on the characteristics of one pixel, such as classification based on criteria such as luminance, color difference, position, etc. of a pixel, or by grouping them, and classification according to the corresponding characteristics, such as gradient, correlation, etc., between neighboring pixels 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, and Canny that are processed based on neighboring pixels. In this case, as for 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 serves to analyze 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 determines whether an edge exists or not, whether an area belongs to the background or not, whether an object exists or not, whether it is an artificial image (computer graphics, computer captured screen, etc.) or a natural image, and letters or figures. 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 determine whether an area has an edge, its characteristics may be identified based on information transmitted through the pixel classification unit 12 . The image analyzer 13 may analyze information obtained through the edge detection algorithm of the pixel classifier 12 .

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

또한, N개 이상의 화소가 에지로 판명이 나고 연속성을 가진다고 판명이 날 경우에, 해당 영역이 에지가 존재하는 것으로 분석 결과를 산출할 수 있다. 연속성에 대한 예시는 후술하는 도 6에 대한 설명을 참조하여 이해할 수 있다. In addition, when N or more pixels are determined to be edges and have continuity, an analysis result may be calculated as indicating that the corresponding area 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에 대한 정보를 활용하여 해당 영역이 배경에 속하는 영역인지 아닌지를 분석할 수 있다. The image analyzer 13 classifies the band according to the luminance component of the pixel from the pixel classifier 12, and then analyzes whether the corresponding region belongs to the background or not by utilizing information on NZ_i.

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

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

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

예를 들어, 추후 설명할 반전 움직임 관련 추가 정보의 생성 여부를 결정한다고 할 때, 우선 반전 움직임이 있을 가능성이 있는 영상 영역인지를 판단한 후 반전 움직임이 있을 가능성이 있다고 판단되면, 반전 움직임 관련 모드를 추가하고, 그렇지 않다고 판단될 경우에는 기존과 같은 알고리즘을 할 수 있다. For example, when determining whether or not to generate additional information related to an inversion motion, which will be described later, it is first determined whether the image region is likely to have an inversion motion, and then, if it is determined that there is a possibility of an inversion motion, a mode related to the inversion motion is selected. Add, and 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 that there is a reversal motion, the mode addition determining unit 14 determines whether the region has an edge from the image analysis unit 13 or a figure (here, it is assumed that the region specifically includes the vertex portion of a rectangle). An analysis result such as whether a region belongs to may be delivered.

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

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

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

위의 예시에서는 반전 움직임에 관련한 설명만 제시되어 있지만, 다음의 실시예들을 통하여 다른 경우를 설명한다. In the above example, only a description related to the inversion 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 portion of an image is inverted according to an embodiment of the present invention, and FIG. FIG. 5 is an exemplary diagram for explaining motion estimation in the case of having an inverted image characteristic according to an embodiment of the present invention.

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

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

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

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

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

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

도 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 cases of left-right inversion and up-down-left-right inversion, respectively. When motion prediction is performed through the configuration of the target block through such pixel rearrangement (y-a y-b, y-c, y-d) and a candidate having the optimal coding efficiency is selected, in the case of the rest except for FIG. 4 (a), the motion vector Compensation for the current block may be performed through reverse pixel rearrangement (y-b, y-c, y-d y-a) of the corresponding block.

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

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

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

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

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

가장 최근에 움직임 탐색 및 보상을 통해 부호화된 블록 또는 블록들의 움직임 벡터를 예측 벡터를 위한 후보로 선택할 수 있다(도 5에서 A). A block or motion vectors of blocks most recently encoded through motion search and compensation may be selected as a candidate for a 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 dimensions of the block 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 motion vector of a block or blocks coded through motion search and compensation to which inversion is most recently applied may be selected as a candidate for a predictive vector, and a block or blocks coded through motion search and compensation to which inversion is applied most recently may be selected. A position relative to the current block may be selected as a candidate for a prediction vector (C in FIG. 5).

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

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

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

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

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

도 6은 본 발명의 실시예에 따른 영상 특성에 대한 분석을 설명하기 위한 예시도이다. 6 is an exemplary diagram for explaining 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 analyzer 13 may receive NZ_i and an index map from the pixel classifier 12 and analyze whether the image is a solid segmentation region or a complex region. FIG. 6 (a) may indicate a solid segmented region, and FIG. 6 (b) may indicate a complex region.

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

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

여기에서, 연속성에 대한 정의는 다음과 같다. 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 each band, 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 (where x, y are the positions of the current pixel on a two-dimensional plane) centered on the current pixel can be defined as determined.

만약, a<x<a, -b<y<b 안의 이웃 화소 중 현재 화소와 같은 인덱스 맵을 갖는 화소가 1개라도 존재한다고 할 경우 연속성이 있는 것이고, 그렇지 않을 경우에 연속성이 없는 것으로 분석 결과를 산출할 수 있다. If it is assumed that there is at least one pixel with the same index map as the current pixel among the neighboring pixels in a<x<a and -b<y<b, there is continuity, and if not, 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, it is assumed that the indices of a, b, and c are '0', '1', and '2'), all pixels in the region having an index of 0 are in continuity. , and since it is possible to calculate the analysis result that all pixels with an index of '1' also have continuity, and that pixels in an area with an index of '2' also have continuity, it is possible to calculate that all pixels in the corresponding area have continuity. An analysis result can be obtained, and since there is no area divided into two or more areas, an analysis result that the corresponding area is composed of solid division can be obtained.

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

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

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

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

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

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

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

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

에지에 대한 인덱스 맵(여기에서 0, 1 두 가지만 있다고 가정, 1이 에지 부분이라고 가정)에서 에지로 분류된 화소에 대해서 꺽인점 존재 여부를 확인하는데, 이 때 현재 화소를 중심으로 A(-a<x<a, -b<y<b) 안의 이웃 화소 와의 방향성을 확인할 수 있다.In the index map for edges (assuming there are only two 0 and 1 here, assuming that 1 is the edge part), whether or not there is a break point is checked for pixels classified as edges. At this time, A (-a <x<a, -b<y<b) You can check the directionality with neighboring pixels.

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

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

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

사각형의 형태일 경우 꺽인점에 대한 부분은 90도의 각을 가질 것이기 때문에 위의 꺾인점을 확인하는 부분에서의 조건을 변경하여(d가 90인 경우에만 꺾인점이 발생) 이에 대한 분석을 수행할 수 있다. In the case of a rectangle, since the part for the broken point will have an angle of 90 degrees, it is possible to analyze this by changing the condition in the part for checking the above broken point (a broken point occurs only when d is 90). there is.

상술한 실시예로부터 새로운 모드 추가에 대한 예를 보다 상세히 설명하며 다음과 같다. 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 feature candidate selector 11 tries to determine whether a new addition mode is to be applied to intra prediction in consideration of 1. whether or not it belongs to an artificial image and 2. whether it is a solid segmented region. To this end, the pixel classification unit 12 may receive NZ_i and an index map of a band for pixel classification.

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

만일 영상 분석부(13)에서 위의 조건들이 다 만족한다고 할 경우 인공적인 영상에 속하는 견고한 분할 영역이라는 분석 결과를 산출할 수 있다. If the image analyzer 13 assumes that all of the above conditions are satisfied, an analysis result indicating that the segmented region belongs to the artificial image can be calculated.

이를 통해 모드 추가 결정부(14)에서는 기존의 화면내 예측 모드에 더하여 인공적인 영상에 속하는 견고한 분할을 가진 영역에 성능이 발휘되는 화면내 예측 모드를 추가를 결정한다. Through this, the mode addition determination unit 14 determines to add an intra prediction mode in which performance is exhibited in a region having a solid 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 for each band as shown in FIG. 8 (a) and a new index is assigned to a band for which NZ_i is true, the corresponding block is solidly segmented belonging to an artificial image through the image analysis unit 13. Let's say we get an analysis of an area with .

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

또한, 화소 또는 화소들 단위로 이웃하는 화소들의 복사하는 방법을 추가할 수도 있다. 만약, 도 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 in units of pixels or pixels may be added. If, in FIG. 8 (a), when the coordinates of the top left of the block are (0,0), the pixel at the position of (1,0) is the pixel (0,0) before the scan (assuming raster scan here). Since the index (0) is the same as ), mode information called CL (copy left) may be transmitted. When a value is copied from a pixel above the current pixel, such as the location of (7, 1), this may be expressed by transmitting mode information called CT (copy top).

또한, 연속해서 반복되는 개수를 부호화할 수도 있다. 만약 도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. 8 (a), the index (0) that occurs first may be coded, and the number of repeated indices appearing consecutively following it may be coded.

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

또한, 여러 화소들을 복사할 수도 있다. 예를 들어, (0,1)에서 (2,1)까지의 화소는 (0,0)에서 (2,0)까지의 화소와 같기 때문에 (CT(copy top), 3(복사할 총 개수))와 같은 방식으로 부호화할 수도 있다. CL, CT외의 추가적인 방향으로부터 복사를 수행할 수도 있다. Also, several pixels may 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 copy) ) can also be coded in the same way. Copying may be performed 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 copy) and Encoding can be performed in the same way.

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

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

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

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

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

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

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

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

M1 : 새로운 화면내 예측 + 변환 + 양자화M1: New In-Screen Prediction + Transformation + Quantization

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

M3 : 새로운 화면내 예측M3: New In-Screen Prediction

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

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

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

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

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

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

예를 들어, NZ_i가 D개보다 작아야 하는 조건, 각 영역 안의 화소가 연속성 조건을 만족해야하는 조건, N개 이상의 화소가 에지로 판명이 나는 조건, 에지 인덱스 맵에서 L개 이상의 화소가 연속성을 가진다는 조건, 꺽인점이 K개 이상 존재해야한다는 조건 등을 만족할 경우 도형 영역인 가능성이 있다라는 분석 결과를 산출하는 것으로 정의할 수 있다. For example, the condition that NZ_i must be less than D, the condition that pixels in each region must satisfy the continuity condition, the condition that more than N pixels turn out to be edges, the condition that more than L pixels have continuity in the edge index map It can be defined as producing the analysis result that there is a possibility that it is a figure area if the condition, the condition that there must be K or more bent points, etc. is 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 a rule set in the encoder and decoder, or the encoder generates information about the definition of the characteristic. and transmit it to the decoder. That is, information may be divided and transmitted in detail for each image characteristic, and transmission units may be transmitted in units such as sequences, pictures, slices, blocks, and the like.

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

도 9를 참조하면, 밴드 오프셋의 경우 해당 블록 내의 유사한 휘도값을 갖는 대역으로 분류한 후, 이 중 연속하는 네 개의 대역들에 대해서 오프셋을 전송한다(Transmission offset). 전송된 오프셋값을 오프셋이 전송된 대역 내의 화소들에 더해줌으로써 복원 영상의 화소값을 보정할 수 있다. Referring to FIG. 9, in the case of a band offset, after classifying into bands having similar luminance values within a corresponding block, offsets are transmitted for four consecutive bands among them (transmission offset). A pixel value of a reconstructed image may be corrected by adding the transmitted offset value to pixels within a 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. 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 , unlike the conventional case of adding a pixel-by-pixel offset to pixels within a specific band of luminance (or color difference) values in order to reduce errors with original image data, pixels within a specific band to pixels within a specific band can be replaced with a value within or near a specific band.

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

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

부호화기와 복호화기에서 연속하는 대역의 시작 위치를 보내는 것과 개별적인 대역의 시작 위치를 보내는 것, 또는 복원 화소에 대한 분석을 통해 대역의 시작 위치를 자동으로 찾는 것 중 택일하여 사용하는 것을 약속할 수도 있고, 선택 정보를 픽쳐, 슬라이스, 블록 등의 단위로 전송하는 것도 가능하다. 예를 들어, 비트 심도가 8이고 대역의 폭이 8일 경우 총 대역의 수는 32개이다. The encoder and decoder may promise to use either sending the starting positions of continuous bands, sending the starting positions of individual bands, or automatically finding the starting positions of the bands through analysis of restored pixels. , it is also possible to transmit selection information in units of pictures, slices, or 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 starting position of the band may be an absolute position in the entire band or 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, when an image characteristic is a case where pixels are concentrated in a certain band, the minimum or maximum value in the block before applying the in-loop filter is determined. The starting position of the band including the pixels may be the reference, the starting position of the band having the average value of the luminance component of the pixels of the corresponding 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 (eg, when the bit depth is 8, the width is 8), or the band may be divided into bands having an adaptive width according to a quantization parameter.

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

개별적인 대역의 시작 위치를 보내는 경우, 각 대역의 위치는 전체 대역에서의 절대 위치로 보낼 수도 있고, 각 대역의 상대적인 차분치를 통해 위치 정보를 보낼 수도 있다. 예를 들어, 각 대역의 위치 정보는 전체 대역의 절대 위치로 보낼 수도 있고, 첫 번째 대역의 시작 위치는 전체 대역의 절대 위치로 보내고, 두 번째 대역의 시작 위치는 첫 번째 대역의 시작 위치를 기준으로 그에 대한 상대적인 차이를 위치 정보로 전송할 수도 있다.In the case of sending the starting position of an individual band, the position of each band may be sent as 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 may be sent as an absolute position of the entire band, the start position of the first band is sent as an 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.

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

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

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

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

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

예를 들어, 필터링 수행 안함 + 에지 오프셋, 필터링 수행 안함 + 밴드 오프셋 + 에지 오프셋, 필터링 수행 안함 + 에지 오프셋 + 대체값 등의 구성이 가능하다. For example, it is possible to configure filtering not performed + edge offset, filtering not performed + band offset + edge offset, filtering not performed + edge offset + replacement value, and the like.

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

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

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

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

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

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

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

예를 들어, 이웃하는 블록이 밴드오프셋을 사용하고 도 11 (a)와 같은 파라미터 정보를 갖고 있다고 하자. For example, assume 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, the parameter information of the neighboring block is fully copied through the 1-bit flag indicating full copy of the in-loop filter parameter information from the neighboring block when '1'. In the case of 0', it is possible to obtain parameter information of the current block from a neighboring block by selecting one of non-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, in case of '1', in-loop filter parameter information may be partially copied from a neighboring block, and in case of '0', in-loop filter parameter information not copied from a neighboring block may be selected.

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

만약, 4개의 오프셋을 모두 이웃하는 블록으로부터 복사하고자 한다면, 1-1-1-1이라는 플래그를 전송할 수 있다. If all four offsets are to be copied from neighboring blocks, 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 other bands except for 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 that is not copied, The corresponding offset can be transmitted separately.

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

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

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

만약, '1'일 경우 이웃 블록으로부터 어떤 정보를 부분 복사하기 위한 것인지 알기 위해 미리 설정해 놓은 순서에 의해 플래그를 전송할 수 있다. 만약 필터링 되는 대역이 4개가 존재한다면, 각 대역별 시작 위치에 대해 복사여부에 대한 플래그를 전송할 수 있다. If '1', flags may be transmitted in a preset order to know which information is to be partially copied from a neighboring block. If there are 4 bands to be filtered, a flag for copying or not 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 starting position from a neighboring block, a flag such as 1-1-1-1 can be transmitted.

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

만약, 4개의 대역 모두 이웃하는 블록으로부터 시작 위치를 복사했다면, 4개 대역에 대한 대체값 복사 여부를 나타내는 플래그를 전송할 수 있다(1-1-1-1 또는 1-0-1-1).If the starting positions of all four bands are copied from neighboring blocks, a flag indicating whether replacement values for the four bands are copied can 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인 대역들의 대체값 복사 플래그>). If, as shown in FIG. 11 (b), if only three copies of the band start position are copied and the start position is transmitted separately in the case of the last band, the replacement value copy flag is sent only for the three bands from which the band start position was copied and the last band 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 whose band start position copy flag is 1 Copy the replacement value of the flag>).

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

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

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

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

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

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

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

예를 들어, 영상 특성 후보 선택부에서 여러 영상 특성 후보군 중 1. 글자 영역인지 아닌지를 선택하여 그를 고려한 추가 모드를 기존의 SAO에 추가 모드를 둘 것인지를 결정한다고 하자. For example, it is assumed that the video feature candidate selector selects 1. whether it is a text area or not from among several video feature candidates, and decides whether to add an additional mode to the existing SAO considering it.

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

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

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

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

도 14은 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 부호화 장치를 설명하기 위한 블록도이다. 14 is a block diagram for explaining 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, the 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, an entropy It includes an encoder 140, an adder 150, an in-loop filter unit 160, a frame memory 170, an intra prediction unit 180, and a motion compensation unit 190.

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

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

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

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

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

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

인트라 예측부(180)는 인트라 예측(Intra Prediction)을 수행하며, 움직임 보상부(190)는 인터 예측(Inter Prediction)을 위한 움직임 벡터를 보상한다. 여기서, 인트라 예측부(180)와 움직임 보상부(190를 예측부로 통칭할 수 있다.The intra predictor 180 performs intra prediction, and the motion compensator 190 compensates for motion vectors 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 serves to generate 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 previously encoded or decoded region of the current picture using neighboring reference pixels using an extrapolation method, DC or planar mode, or an algorithm such as a block matching algorithm or template. An optimal prediction block may be determined in consideration of encoding cost.

여기서, 부호화 또는 복호화가 완료된 영역은 최소 하나 이상의 블록 단위로 구성이 될 수 있고, 슬라이스 단위로 구분 될 수도 있고, 현재 블록을 기준으로 부호화 또는 복호화가 완료된 방향으로 한정된 크기의 영역으로 구성될 수도 있으며, 현재 블록의 수평 또는 수직에 놓인 부호화 또는 복호화가 완료된 영역으로 구성될 수도 있다.Here, the encoded or decoded area may be configured in units of at least one block, may be divided in slice units, or may be configured as an area of a limited size in the direction in which encoding or decoding has been completed based on the current block. , may be composed of an area where encoding or decoding has been completed 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 method such as block matching), prediction direction, and motion information (which direction to use in case of extrapolation). In the case of block matching, etc., a motion vector for generating a prediction sample from a block at a movement distance from a specific position defined by the current block reference or the current slice start point reference or a specific method or from a pixel unit of an arbitrary shape. Information, information on which candidate to select among candidate lists for several motion vectors), composition of the candidate list (how many motion vectors to include as candidates, which motion vectors to put in the candidate group, etc.) information, motion search range (integer, 1/2, 1/4, 1/8, etc.), information for setting the derivation of a motion vector using a preset skip or merge, or other methods, and the like.

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

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

인루프 필터부(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 restored image data and the original image data. An offset value for correcting the error between the restored image and the original image is calculated, and information about it is transmitted to the decoder. In the case of SAO, an offset in pixel units is added to a picture to which a deblocking filter is applied. SAO is subdivided into a case of correcting an error for an edge by subdividing pixel characteristics in a corresponding block (edge offset) and a case of correcting an error for a specific luminance component value band (band offset). For the purpose of efficiently calculating and transmitting offsets, four offsets may be transmitted for a luminance component and a chrominance component in a coding unit.

더 나아가, 인루프 필터부(160)는 다양한 선택 트리를 구성하여 필터링을 수행할 수 있다. 즉, 필터링은 안할 수도 있고, 에지 오프셋을 통한 보정을 수행할 수도 있고, 밴드 오프셋을 통한 보정을 수행할 수도 있으며, 대체값을 통한 보정을 수행할 수도 있다.Furthermore, the in-loop filter unit 160 may configure various selection trees to perform filtering. That is, filtering may not be performed, correction may be performed through edge offset, correction may be performed through band offset, or 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 obtained by reconstructing the current block according to an analysis result of image characteristics. That is, the in-loop filter unit 160 may perform filtering using a Sample Adaptive Offset (SAO) or a replacement value. For example, if an edge exists in the current block or if the current block is a screen content area, the in-loop filter unit 160 may perform filtering by applying a replacement value to a reconstructed block from which the current block is reconstructed. .

도 15는 본 발명의 실시예에 따른 영상 분석을 이용한 비디오 복호화 장치를 설명하기 위한 블록도이다. 15 is a block diagram for explaining 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 adder 240, 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 an inversion motion based on a decoding method for the current block according to the result of analyzing the image characteristics. That is, the intra prediction unit 270 may perform intra prediction on the current block by determining whether to apply an inversion motion to intra prediction based on block matching or template matching based on the analysis result of the image characteristics.

예를 들어, 인트라 예측부(270)는 현재 블록에 에지가 존재하는지 경우 또는 현재 블록이 스크린 콘텐츠 영역인 경우에, 반전 움직임을 적용하여 현재 블록에 인트라 예측을 수행할 수 있다. For example, the intra prediction unit 270 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.

인루프 필터부(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 an analysis result of image characteristics. That is, the in-loop filter unit 250 may perform filtering using a Sample Adaptive Offset (SAO) or a replacement value. For example, if an edge exists in the current block or if the current block is a screen content area, the in-loop filter unit 250 may perform filtering by applying a replacement value to the current block.

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

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

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

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to 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 claims below. You will understand that it can be done.

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 feature candidate selection unit 12: pixel classification unit
13: image analysis unit 14: mode addition determination 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 transformation 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 (6)

비트스트림으로부터 시그날링되는 예측 모드 관련 파라미터를 획득하는 단계, 상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터 또는 후보 리스트 구성 파라미터 중 적어도 하나를 포함함;
상기 복호화 방법 파라미터를 기초로, 현재 블록의 복호화 방법이 블록 매칭에 의한 복호화 방법인지 여부를 결정하는 단계;
상기 현재 블록의 복호화 방법이 상기 블록 매칭에 의한 복호화 방법인 경우, 상기 후보 리스트 구성 파라미터를 기초로, 상기 현재 블록의 복수 개의 움직임 벡터 후보를 포함한 움직임 벡터 후보 리스트를 구성하는 단계;
상기 구성된 움직임 벡터 후보 리스트에서 어느 하나의 움직임 벡터 후보를 선택하는 단계;
상기 선택된 움직임 벡터 후보를 기초로, 상기 현재 블록의 예측 블록을 생성하는 단계;
상기 생성된 예측 블록을 상기 비트스트림으로부터 획득한 잔차 블록에 가산하여, 상기 현재 블록의 복원 블록을 생성하는 단계; 및
상기 현재 블록의 복원 블록에 인루프 필터를 적용하는 단계를 포함하되,
상기 선택된 움직임 벡터 후보는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내고,
상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보의 개수를 나타내고,
상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록이고,
상기 인루프 필터는 에지 오프셋 필터 및 밴드 오프셋 필터를 포함하는 샘플 적응적 오프셋 필터인, 비디오 복호화 방법.
obtaining a prediction mode related parameter signaled from a bitstream, wherein the prediction mode related parameter includes at least one of a decoding method parameter and a candidate list configuration parameter;
determining whether a decoding method of a current block is a decoding method by block matching based on the decoding method parameter;
constructing a motion vector candidate list including a plurality of motion vector candidates of the current block based on the candidate list configuration parameter when the decoding method of the current block is the decoding method by block matching;
selecting one motion vector candidate from the configured motion vector candidate list;
generating a prediction block of the current block based on the selected motion vector candidate;
generating a reconstruction block of the current block by adding the generated prediction block to a residual block obtained from the bitstream; and
Applying an in-loop filter to a reconstruction block of the current block,
The selected motion vector candidate represents a position of a block matching the current block based on the current block;
The candidate list configuration parameter indicates the number of motion vector candidates constituting the motion vector candidate list;
A block matching the current block is a block that belongs to the same picture as the current block and has been decoded before the current block;
The in-loop filter is a sample adaptive offset filter including an edge offset filter and a band offset filter.
제1항에 있어서,
상기 예측 블록의 생성은, 상기 선택된 움직임 벡터 후보가 나타내는 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 비디오 복호화 방법.
According to claim 1,
The video decoding method of claim 1 , wherein the generation of the prediction block is performed by copying pixels of a block that matches the current block indicated by the selected motion vector candidate.
현재 블록의 부호화 방법이 블록 매칭에 의한 방법인지 여부를 결정하는 단계;
상기 현재 블록의 부호화 방법이 상기 블록 매칭에 의한 부호화 방법인 경우, 상기 블록 매칭에 의한 부호화 방법에 따라 상기 현재 블록의 예측 블록을 생성하는 단계;
상기 현재 블록의 원본 블록에서 상기 생성된 예측 블록을 차분하여, 상기 현재 블록의 잔차 블록을 생성하는 단계; 및
상기 잔차 블록 및 예측 모드 관련 파라미터를 부호화하는 단계를 포함하되,
상기 잔차 블록에 상기 생성된 예측 블록을 가산하여 생성된 상기 현재 블록의 복원 블록에 인루프 필터가 적용되고,
상기 예측 블록은, 움직임 벡터 후보 리스트에 속한 복수 개의 움직임 벡터 후보 중에서 특정된 어느 하나의 움직임 벡터 후보를 이용하여 생성되고,
상기 예측 모드 관련 파라미터는, 부호화 방법 파라미터 또는 후보 리스트 구성 파라미터 중 적어도 하나를 포함하고,
상기 부호화 방법 파라미터는, 상기 현재 블록의 부호화 방법이 상기 블록 매칭에 의한 부호화 방법인지 여부를 나타내고,
상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보의 개수를 나타내고,
상기 특정된 움직임 벡터 후보는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내고,
상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록이고,
상기 인루프 필터는 에지 오프셋 필터 및 밴드 오프셋 필터를 포함하는 샘플 적응적 오프셋 필터인, 비디오 부호화 방법.
determining whether an encoding method of a current block is a method by block matching;
generating a predicted block of the current block according to the block matching encoding method when the current block encoding method is the block matching encoding method;
generating a residual block of the current block by differentiating the generated prediction block from the original block of the current block; and
Encoding the residual block and prediction mode related parameters,
An in-loop filter is applied to a reconstructed block of the current block generated by adding the generated prediction block to the residual block;
The prediction block is generated using one motion vector candidate specified from among a plurality of motion vector candidates belonging to a motion vector candidate list;
The prediction mode related parameter includes at least one of an encoding method parameter or a candidate list configuration parameter,
The encoding method parameter indicates whether the encoding method of the current block is the encoding method by block matching;
The candidate list configuration parameter indicates the number of motion vector candidates constituting the motion vector candidate list;
The specified motion vector candidate indicates a position of a block matching the current block based on the current block;
A block matching the current block is a block that belongs to the same picture as the current block and has been decoded before the current block;
Wherein the in-loop filter is a sample adaptive offset filter including an edge offset filter and a band offset filter.
제3항에 있어서,
상기 예측 블록의 생성은, 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 비디오 부호화 방법.
According to claim 3,
The generation of the prediction block is performed by copying pixels of a block that matches the current block.
비트스트림을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서,
상기 비트스트림은 예측 모드 관련 파라미터를 포함하고,
상기 예측 모드 관련 파라미터는, 복호화 방법 파라미터 또는 후보 리스트 구성 파라미터 중 적어도 하나를 포함하고,
상기 복호화 방법 파라미터는, 현재 블록의 복호화 방법이 블록 매칭에 의한 복호화 방법인지 여부를 나타내고,
상기 복호화 방법 파라미터가 상기 현재 블록의 복호화 방법이 상기 블록 매칭에 의한 복호화 방법임을 나타내는 경우, 상기 후보 리스트 구성 파라미터는, 상기 현재 블록의 복수 개의 움직임 벡터 후보를 포함한 움직임 벡터 후보 리스트를 구성하는데 이용되고,
상기 움직임 벡터 후보 리스트에 속한 복수 개의 움직임 벡터 후보 중에서 선택된 움직임 벡터 후보를 기초로, 상기 현재 블록의 예측 블록이 생성되고,
상기 생성된 예측 블록을 상기 비트스트림으로부터 획득한 잔차 블록에 가산하여, 상기 현재 블록의 복원 블록이 생성되고,
상기 현재 블록의 복원 블록에 인루프 필터가 적용되고,
상기 선택된 움직임 벡터 후보는, 상기 현재 블록을 기준으로, 상기 현재 블록과 매칭되는 블록의 위치를 나타내고,
상기 후보 리스트 구성 파라미터는, 상기 움직임 벡터 후보 리스트를 구성하는 움직임 벡터 후보의 개수를 나타내고,
상기 현재 블록과 매칭되는 블록은, 상기 현재 블록과 동일한 픽쳐 내에 속하고, 상기 현재 블록 이전에 복호화가 완료된 블록이고,
상기 인루프 필터는 에지 오프셋 필터 및 밴드 오프셋 필터를 포함하는 샘플 적응적 오프셋 필터인, 컴퓨터로 판독가능한 기록매체.
A computer-readable recording medium storing a bitstream,
The bitstream includes prediction mode related parameters,
The parameter related to the prediction mode includes at least one of a decoding method parameter and a candidate list configuration parameter,
The decoding method parameter indicates whether the decoding method of the current block is a decoding method by block matching;
When the decoding method parameter indicates that the decoding method of the current block is the decoding method by block matching, the candidate list configuration parameter is used to construct a motion vector candidate list including a plurality of motion vector candidates of the current block, ,
A prediction block of the current block is generated based on a motion vector candidate selected from among a plurality of motion vector candidates belonging to the motion vector candidate list;
A reconstruction block of the current block is generated by adding the generated prediction block to a residual block obtained from the bitstream,
An in-loop filter is applied to a reconstruction block of the current block;
The selected motion vector candidate represents a position of a block matching the current block based on the current block;
The candidate list configuration parameter indicates the number of motion vector candidates constituting the motion vector candidate list;
A block matching the current block is a block that belongs to the same picture as the current block and has been decoded before the current block;
The in-loop filter is a sample adaptive offset filter including an edge offset filter and a band offset filter.
제5항에 있어서,
상기 예측 블록의 생성은, 상기 선택된 움직임 벡터 후보가 나타내는 상기 현재 블록과 매칭되는 블록의 화소를 복사하여 수행되는, 컴퓨터로 판독가능한 기록매체.
According to claim 5,
The generation of the prediction block is performed by copying pixels of a block that matches the current block indicated by the selected motion vector candidate.
KR1020230022988A 2015-03-16 2023-02-21 Method and apparatus for video encoding/decoding using image analysis KR102624286B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020150035843 2015-03-16
KR20150035843 2015-03-16
KR1020220017373A KR102503760B1 (en) 2015-03-16 2022-02-10 Method and apparatus for video encoding/decoding using image analysis

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220017373A Division KR102503760B1 (en) 2015-03-16 2022-02-10 Method and apparatus for video encoding/decoding using image analysis

Publications (2)

Publication Number Publication Date
KR20230028745A true KR20230028745A (en) 2023-03-02
KR102624286B1 KR102624286B1 (en) 2024-01-15

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 Before (3)

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

Country Status (1)

Country Link
KR (4) KR102248172B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248172B1 (en) * 2015-03-16 2021-05-04 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis
WO2018174593A1 (en) 2017-03-22 2018-09-27 김기백 In-loop filtering method according to adaptive pixel classification standard
KR20230104771A (en) * 2018-02-28 2023-07-10 삼성전자주식회사 A method of image encoding and an apparatus therefor, a method of image decoding and an apparatus therefor
CN112702598A (en) * 2020-12-03 2021-04-23 浙江智慧视频安防创新中心有限公司 Method, device, electronic equipment and medium for encoding and decoding based on displacement operation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100119562A (en) * 2008-04-24 2010-11-09 가부시키가이샤 엔.티.티.도코모 Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
KR20130098223A (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

Family Cites Families (2)

* 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100119562A (en) * 2008-04-24 2010-11-09 가부시키가이샤 엔.티.티.도코모 Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
KR20130098223A (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
KR102363132B1 (en) * 2015-03-16 2022-02-15 한양대학교 산학협력단 Method and apparatus for video encoding/decoding using image analysis

Also Published As

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

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
KR102394226B1 (en) Method for encoding/decoing video using intra prediction and apparatus for the same
KR101988888B1 (en) Method and apparartus for encoding/decoding for intra prediction mode
KR102503760B1 (en) Method and apparatus for video encoding/decoding using image analysis
US11070831B2 (en) Method and device for processing video signal
KR20170108367A (en) Method and apparatus for processing a video signal based on intra prediction
KR101782154B1 (en) Image encoding/decoding method and image decoding apparatus using motion vector precision
KR101966195B1 (en) Method and apparatus of image encoding/decoding using reference pixel composition in intra prediction
KR20180061027A (en) Method and apparatus for encoding/decoding image and recording medium for storing bitstream
KR20160146591A (en) Method and apparatus of image encoding/decoding using adaptive deblocking filtering
KR101782153B1 (en) Method for selecting motion vector candidate and method for encoding/decoding image using the same
KR101782155B1 (en) Image encoding/decoding method and image decoding apparatus using motion vector precision
KR20200004749A (en) Method for rearranging residual and apparatus
KR20230144426A (en) Image encoding/decoding method and apparatus
KR20230148749A (en) Method, apparatus and recording medium for encoding/decoding feature map for machine vision

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant