KR102217225B1 - Method for intra-prediction, and apparatus thereof - Google Patents

Method for intra-prediction, and apparatus thereof Download PDF

Info

Publication number
KR102217225B1
KR102217225B1 KR1020130047151A KR20130047151A KR102217225B1 KR 102217225 B1 KR102217225 B1 KR 102217225B1 KR 1020130047151 A KR1020130047151 A KR 1020130047151A KR 20130047151 A KR20130047151 A KR 20130047151A KR 102217225 B1 KR102217225 B1 KR 102217225B1
Authority
KR
South Korea
Prior art keywords
current block
prediction
intra prediction
pixel
reference pixels
Prior art date
Application number
KR1020130047151A
Other languages
Korean (ko)
Other versions
KR20140129425A (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 인텔렉추얼디스커버리 주식회사
Priority to KR1020130047151A priority Critical patent/KR102217225B1/en
Priority to US14/787,604 priority patent/US10602155B2/en
Priority to PCT/KR2014/003559 priority patent/WO2014178563A1/en
Publication of KR20140129425A publication Critical patent/KR20140129425A/en
Application granted granted Critical
Publication of KR102217225B1 publication Critical patent/KR102217225B1/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/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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Abstract

본 발명의 인트라 예측을 수행하는 방법 및 장치에 관한 것으로, 그 방법은 예측하고자 하는 영상을 복수의 영역들로 분할하여 복수의 영역들 각각에 적용되는 필터링 탭 수(N)를 결정하는 단계; 인트라 예측 방향에 따라 인접한 두 참소 화소들을 포함하는 N개의 참조 화소들을 이용해 상기 분할된 영역별로 보간을 수행하여 예측 화소를 생성하는 단계; 및 생성된 예측 화소를 이용하여 잔차 신호를 생성하는 단계를 포함한다.The present invention relates to a method and apparatus for performing intra prediction, the method comprising: determining the number of filtering taps (N) applied to each of the plurality of regions by dividing an image to be predicted into a plurality of regions; Generating a prediction pixel by performing interpolation for each of the divided regions using N reference pixels including two adjacent true pixels according to the intra prediction direction; And generating a residual signal using the generated prediction pixel.

Description

인트라 예측 방법 및 장치{Method for intra-prediction, and apparatus thereof}TECHNICAL FIELD [0001] Method for intra-prediction and apparatus

본 발명은 영상 부호화/복호화 방법 및 장치에 관한 것으로, 더욱 상세하게는 부호화 및 복호화 시 보간 필터링을 이용하여 인트라 예측을 수행하는 방법에 관한 것이다.The present invention relates to a video encoding/decoding method and apparatus, and more particularly, to a method of performing intra prediction using interpolation filtering during encoding and decoding.

일반적으로 비디오 코딩 시, 인트라 예측과 인터 예측을 이용하여 잔차 신호(residual signal)를 만든다. 잔차 신호를 구하는 이유는 잔차 신호를 가지고 코딩을 했을 때 데이터의 양이 작아서 데이터 압축률이 높아지고, 예측이 좋을수록 잔차 신호의 값이 작게 된다.In general, in video coding, a residual signal is generated using intra prediction and inter prediction. The reason for obtaining the residual signal is that when coding is performed with the residual signal, the amount of data is small, so the data compression rate is high, and the better the prediction, the smaller the value of the residual signal.

인트라 예측 방법은 현재 블록의 주변의 픽셀을 이용하여 현재 블록의 데이터를 예측한다. 실제 값과 예측 값의 차이를 잔차 신호 블록이라고 한다. HEVC의 경우는 인트라 예측 방법이 기존 H.264/AVC에서 사용되던 9개의 예측모드에서 도 1과 같이 35개의 예측모드로 증가하여 더욱 세분화하여 예측을 한다(단 Planar 예측모드 및 DC예측모드는 도 1에서 안보임).In the intra prediction method, data of a current block is predicted using pixels surrounding the current block. The difference between the actual value and the predicted value is called a residual signal block. In the case of HEVC, the intra prediction method increases from 9 prediction modes used in the existing H.264/AVC to 35 prediction modes as shown in FIG. 1 and further subdivides the prediction (however, the planar prediction mode and the DC prediction mode are shown in FIG. Not visible in 1).

인터 예측 방법의 경우는 현재 블록을 주변의 픽쳐들 내의 블록들과 비교하여 가장 비슷한 블록을 찾는다. 이때 찾은 블록에 대한 위치정보(Vx, Vy)를 모션 벡터라고 한다. 현재블록과 모션 벡터에 의하여 예측된 예측블록간의 블록내 화소 값들의 차이를 잔차 신호(residual signal) 블록이라고 한다 (motion-compensated residual block).In the case of the inter prediction method, the current block is compared with blocks in surrounding pictures to find the most similar block. At this time, the location information (Vx, Vy) of the found block is called a motion vector. The difference between the pixel values in the block between the current block and the prediction block predicted by the motion vector is called a residual signal block (motion-compensated residual block).

이와 같이 인트라 예측과 인터 예측이 더 세분화 되어 잔차 신호의 데이터 양이 줄어들고 있으며, 효율적인 트랜스폼(transform)을 사용하여 코덱 성능이 떨어지지 않으면서 연산량이 적은 비디오 부호화 및 복호화 방법이 필요하다.As described above, intra prediction and inter prediction are further subdivided to reduce the amount of data in the residual signal, and a video encoding and decoding method with a small amount of computation is required without deteriorating codec performance by using an efficient transform.

본 발명의 실시 예는 비디오 코덱의 트랜스폼 코딩과정에서 적은 연산량으로 좋은 성능을 가지는 비디오 부호화 및 복호화 방법과, 이를 위한 장치를 제공한다.An embodiment of the present invention provides a video encoding and decoding method having good performance with a small amount of computation in a transform coding process of a video codec, and an apparatus therefor.

다만, 본 발명의 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems to be achieved by the embodiments of the present invention are not limited to the technical problems as described above, and other technical problems may exist.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 실시예에 따른 인트라 예측 방법은 예측하고자 하는 영상을 복수의 영역들로 분할하여, 상기 복수의 영역들 각각에 적용되는 필터링 탭 수(N)를 결정하는 단계; 인트라 예측 방향에 따라 인접한 두 참소 화소들을 포함하는 N개의 참조 화소들을 이용해 상기 분할된 영역별로 보간을 수행하여 예측 화소를 생성하는 단계; 및 상기 생성된 예측 화소를 이용하여 잔차 신호를 생성하는 단계를 포함한다.As a technical means for achieving the above technical problem, the intra prediction method according to an embodiment of the present invention divides an image to be predicted into a plurality of regions, and the number of filtering taps applied to each of the plurality of regions (N ) Determining; Generating a prediction pixel by performing interpolation for each of the divided regions using N reference pixels including two adjacent true pixels according to the intra prediction direction; And generating a residual signal using the generated prediction pixel.

또한, 본 발명의 실시예에 따른 인트라 예측 장치는, 예측하고자 하는 영상을 복수의 영역들로 분할하여, 상기 복수의 영역들 각각에 적용되는 필터링 탭 수(N)를 결정하는 탭 수 결정부; 인트라 예측 방향에 따라 인접한 두 참소 화소들을 포함하는 N개의 참조 화소들을 이용해 상기 분할된 영역별로 보간을 수행하여 예측 화소를 생성하는 예측 화소 생성부; 및 상기 생성된 예측 화소를 이용하여 잔차 신호를 생성하는 잔차 신호 생성부를 포함한다.In addition, an intra prediction apparatus according to an embodiment of the present invention may include: a tap number determination unit configured to determine the number of filtering taps (N) applied to each of the plurality of regions by dividing an image to be predicted into a plurality of regions; A prediction pixel generator configured to generate a prediction pixel by performing interpolation for each of the divided regions using N reference pixels including two adjacent true pixels according to the intra prediction direction; And a residual signal generator that generates a residual signal using the generated prediction pixel.

한편, 상기 인트라 예측 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.Meanwhile, the intra prediction method may be implemented as a computer-readable recording medium in which a program for execution in a computer is recorded.

본 발명에 따르면, 각 예측 방향(모드)에 따라 잔차(residual) 신호를 생성을 위한 예측을 수행할 때, 최적의 필터링 방법을 결정하여 예측 값을 얻음으로써 잔차 신호의 크기를 최소화하여 압축 성능을 향상시킬 수 있다.According to the present invention, when prediction for generating a residual signal according to each prediction direction (mode) is performed, an optimal filtering method is determined to obtain a prediction value, thereby minimizing the size of the residual signal to improve compression performance. Can be improved.

또한, 인트라 예측 방법에서 적용되는 다양한 방향에 따른 예측에서 Interpolation을 수행할 때 Interpolation을 수행할 때 영상 내의 특정 영역의 변화 혹은 화소 변화 등을 통해 영역별로 Interpolation에 사용하는 필터링 tap 수를 달리함으로써 부호화 성능을 향상시킬 수 있다.In addition, when performing interpolation in prediction in various directions applied in the intra prediction method, coding performance is performed by varying the number of filtering taps used for interpolation for each region through changes in a specific region or pixel change in the image when performing interpolation. Can improve.

도 1은 인트라 예측 모드들에 대한 예들을 나타내는 도면이다.
도 2는 영상 부호화 단위들에 대한 일예를 설명하기 위한 도면이다.
도 3은 인트라 예측을 위해 수행되는 보간 방법에 대한 일예를 나타내는 도면이다.
도 4는 본 발명에 따른 인트라 예측 방법에 대한 제1 실시예를 설명하기 위한 도면이다.
도 4는 본 발명에 따른 인트라 예측 방법에 대한 제1 실시예를 설명하기 위한 도면이다.
도 5는 본 발명에 따른 인트라 예측 방법에 대한 제2 실시예를 설명하기 위한 도면이다.
도 6은 본 발명에 따른 인트라 예측 방법에 대한 제3 실시예를 설명하기 위한 도면이다.
도 7은 본 발명에 따른 인트라 예측 방법에 대한 제4 실시예를 설명하기 위한 도면이다.
도 8 및 도 9는 싱크(Sync) 필터링에 대한 일에를 설명하기 위한 도면이다.
도 10 내지 도 12는 필터링 탭(tab) 수를 조정하여 인트라 예측을 수행하는 구성에 대한 실시예들을 나타내는 블록도이다.
도 13 및 도 14는 화소 값의 변환에 따라 필터링 탭 수를 조정하여 인트라 예측을 수행하는 구성에 대한 실시예들을 나타내는 블록도이다.
도 15는 본 발명의 일실시예에 따른 부호화 장치의 구성을 나타내는 블록도이다.
1 is a diagram illustrating examples of intra prediction modes.
2 is a diagram illustrating an example of image coding units.
3 is a diagram illustrating an example of an interpolation method performed for intra prediction.
4 is a diagram for explaining a first embodiment of an intra prediction method according to the present invention.
4 is a diagram for explaining a first embodiment of an intra prediction method according to the present invention.
5 is a diagram for explaining a second embodiment of an intra prediction method according to the present invention.
6 is a diagram for explaining a third embodiment of an intra prediction method according to the present invention.
7 is a diagram for explaining a fourth embodiment of an intra prediction method according to the present invention.
8 and 9 are diagrams for explaining a case for sync filtering.
10 to 12 are block diagrams illustrating embodiments of a configuration for performing intra prediction by adjusting the number of filtering tabs.
13 and 14 are block diagrams illustrating embodiments of a configuration for performing intra prediction by adjusting the number of filtering taps according to transformation of pixel values.
15 is a block diagram showing the configuration of an encoding apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시 예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present disclosure. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts not related to the description are omitted in order to clearly describe the present application, and similar reference numerals are attached to similar parts throughout the specification.

본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout this specification, when a part is said to be "connected" with another part, this includes not only the case that it is "directly connected", but also the case that it is "electrically connected" with another element interposed therebetween. do.

본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is positioned “on” another member, this includes not only the case where a member is in contact with another member, but also the case where another member exists between the two members.

본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.Throughout the specification of the present application, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary. The terms "about", "substantially", etc., to the extent used throughout this specification are used at or close to the numerical value when manufacturing and material tolerances specific to the stated meaning are presented, and the understanding of the present application To assist, accurate or absolute figures are used to prevent unfair use of the stated disclosure by unscrupulous infringers. As used throughout the specification of the present application, the term "step (to)" or "step of" does not mean "step for".

본원 명세서 전체에서, 마쿠시 형식의 표현에 포함된 “이들의 조합”의 용어는 마쿠시 형식의 표현에 기재된 구성 요소들로 이루어진 군에서 선택되는 하나 이상의 혼합 또는 조합을 의미하는 것으로서, 상기 구성 요소들로 이루어진 군에서 선택되는 하나 이상을 포함하는 것을 의미한다.In the entire specification of the present application, the term "combination of these" included in the expression of the Makushi format refers to one or more mixtures or combinations selected from the group consisting of components described in the expression of the Makushi format, and the component It means to include one or more selected from the group consisting of.

실제 영상과 그것의 깊이 정보 맵을 부호화하는 방법의 일예로, 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)에서 공동으로 표준화를 진행 중인 HEVC(High Efficiency Video Coding)를 이용하여 부호화를 수행할 수 있다. As an example of a method of encoding an actual image and its depth information map, standardization is jointly conducted by MPEG (Moving Picture Experts Group) and VCEG (Video Coding Experts Group), which have the highest coding efficiency among video coding standards developed so far. Encoding can be performed using High Efficiency Video Coding (HEVC).

본 발명은 영상 부호화/복호화 방법 및 장치의 인트라 예측 방법에 관한 것으로, 동영상 부호화/복호화에서 수행하는 각 방향에 따른 인트라 예측(Intra Prediction)시, 각 예측 방향(모드)에 따라 잔차(residual) 신호를 생성을 위한 예측을 수행할 때, 정확한 예측 값을 얻기 위해, 최적의 필터링 방법을 결정하여 예측 값을 얻음으로써 잔차 신호의 크기를 최소화하여 압축 성능을 향상시킨다.The present invention relates to a video encoding/decoding method and an intra prediction method of an apparatus. In the case of intra prediction in each direction performed in video encoding/decoding, a residual signal according to each prediction direction (mode) When performing prediction for generating a, in order to obtain an accurate prediction value, an optimal filtering method is determined to obtain a prediction value, thereby minimizing the size of the residual signal and improving the compression performance.

구체적으로, 인트라 예측 방법에서 적용되는 다양한 방향에 따른 예측에서, 각 예측 방향(Prediction mode)에 따라 잔차(residual) 신호를 생성을 위한 예측을 할 때, 정확한 예측 값을 얻기 위해, DCT 기반 또는 싱크(Sync) 함수 기반 필터링을 적용하여 정확한 예측 값을 얻음으로써 압축 성능을 향상시키는 방법이다.Specifically, in prediction according to various directions applied in the intra prediction method, when prediction for generating a residual signal according to each prediction mode (Prediction mode), in order to obtain an accurate prediction value, DCT-based or sink (Sync) This is a method of improving compression performance by applying function-based filtering to obtain accurate prediction values.

도 2는 영상 부호화 단위들에 대한 일예를 설명하기 위한 도시한 것이다.2 is a diagram for describing an example of image coding units.

HEVC에서는 동영상 부호화 단위로 CTB (Coding Tree Block)을 사용하며, 이 때 CTB는 다양한 정사각형 모양으로 정의된다. CTB는 코딩단위 CU(Coding Unit)라고 부른다.In HEVC, CTB (Coding Tree Block) is used as a video coding unit, and in this case, CTB is defined in various square shapes. The CTB is called a coding unit (CU).

도 2를 참조하면, 코딩단위(CU)는 쿼드트리(Quad Tree)의 모습을 하고 있으며, 크기가 64×64인 최대 코딩단위 LCU(Largest Coding Unit)일 때 깊이(Depth)를 0으로 하여 깊이가 3이 될 때까지, 즉 8×8크기의 코딩단위(CU)까지 재귀적(Recursive)으로 최적의 예측단위를 찾아 부호화를 수행한다.Referring to FIG. 2, the coding unit (CU) is in the form of a quad tree, and when the largest coding unit LCU (Largest Coding Unit) having a size of 64×64, the depth is set to 0. The coding is performed by recursively finding the optimal prediction unit until is 3, that is, the 8×8 coding unit (CU).

예측을 수행하는 예측단위는 PU(Prediction Unit)로 정의되며, 각 코딩단위(CU)는 다수개의 블록으로 분할된 단위의 예측이 수행되며, 정사각형과 직사각형의 형태로 나뉘어 예측을 수행한다. A prediction unit that performs prediction is defined as a PU (Prediction Unit), and each coding unit (CU) performs prediction in a unit divided into a plurality of blocks, and performs prediction by being divided into square and rectangular shapes.

동영상 데이터를 부호화/복호화 하기 위해 마련된 HEVC 표준에 따르면, 인터/인트라 예측(Inter/Intra Prediction)을 수행한 후 블록 내 잔차 신호의 공간적 상관성을 줄이고 에너지의 압축률을 높이기 위한 방법으로 다양한 크기의 변환단위(Transform Unit)에 대한 변환 방법이 사용된다. 변환단위에 따라 변환된 신호는 엔트로피코딩(Entropy Coding)을 통해 최종적으로 비트스트림으로 생성된다.According to the HEVC standard prepared for encoding/decoding video data, it is a method to reduce the spatial correlation of the residual signal in a block and increase the energy compression rate after performing Inter/Intra Prediction. The transformation method for (Transform Unit) is used. The signal converted according to the conversion unit is finally generated as a bitstream through entropy coding.

한편, 인트라 예측은 총 34가지의 방향성을 고려하며 최소 예측단위인 4x4부터 최대 예측 단위인 64x64의 정사각형 PU에 모두 적용된다. 각 예측에 사용되는 블록 경계의 예측 값은 각 방향에 따라 예측을 위한 두 화소의 거리에 대비해 1/32 선형 interpolation (보간) 예측 화소를 생성하며, 이는 두 화소의 값만 고려하므로 예측 샘플이 boundary블록의 edge 인 여러 화소의 변화는 전혀 고려되지 않는 문제점을 가진다. Meanwhile, intra prediction considers a total of 34 directions, and is applied to all square PUs of 4x4, which is the smallest prediction unit, and 64x64, which is the maximum prediction unit. The predicted value of the block boundary used for each prediction creates a 1/32 linear interpolation (interpolation) prediction pixel in relation to the distance between the two pixels for prediction in each direction, which considers only the values of the two pixels, so that the prediction sample is a boundary block. The change of several pixels, which is the edge of, is not considered at all.

특히, 영상의 변화가 심한 경우나 객체의 경계에 위치하는 화소일 경우 이러한 두개의 화소를 이용한 예측 방법은 기존의 방법은 효율이 더욱 떨어지는 문제점을 가진다.Particularly, in the case of a case in which the image change is severe or in the case of a pixel located at the boundary of an object, a prediction method using these two pixels has a problem that the efficiency of the conventional method is further lowered.

도 3은 인트라 예측을 위해 수행되는 보간 방법에 대한 일예를 도시한 것으로, 34가지 예측 방법 중 방향성을 가지는 2~34번까지의 예측 모드에 대해서 a 화소를 예측하는 방법을 나타낸다.FIG. 3 shows an example of an interpolation method performed for intra prediction, and shows a method of predicting a pixel for prediction modes 2 to 34 having directionality among 34 prediction methods.

도 3을 참조하면, 각각의 방향에 따라 왼쪽의 복원 픽셀과 상단의 복원 픽셀의 사이에 방향이 위치하게 되며, 이 방향에 적용되는 위치의 값을 두 픽셀의 값을 이용해서 예측 화소를 생성한다. Referring to FIG. 3, a direction is positioned between the reconstructed pixel on the left and the reconstructed pixel on the top according to each direction, and a predicted pixel is generated by using the values of the two pixels applied to this direction. .

예를 들어, 32번 모드는 A와 B의 화소를 거리에 따른 가중치 계산을 통해서 a 화소에 대한 예측을 수행할 수 있다. 이 경우, 2개의 화소를 통해서 예측을 수행하기 때문에 영상의 값이 급격이 변화는 경계에서는 효율적이지 않다. For example, in mode 32, prediction for pixel a may be performed by calculating weights of pixels A and B according to distances. In this case, since prediction is performed through two pixels, it is not efficient at the boundary where the image value changes rapidly.

본 발명의 실시예에 따르면, 인트라 예측 방법에서 적용되는 다양한 방향에 따른 예측에서, 각 예측 방향(Prediction mode)에 따라 잔차(residual) 신호를 생성을 위한 예측을 할 때, 정확한 예측 값을 얻기 위해, DCT-IF 필터링을 적용하여 정확한 예측 값을 얻음으로써 압축성능을 향상시킬 수 있다.According to an embodiment of the present invention, in prediction according to various directions applied in an intra prediction method, when prediction for generating a residual signal according to each prediction mode (Prediction mode) is performed, in order to obtain an accurate prediction value , By applying DCT-IF filtering to obtain an accurate prediction value, compression performance can be improved.

이러한 문제점을 해결하기 위해서 도 4와 같이 주변의 4개 화소, 예를 들어 Q, A, B, C 화소들을 이용하여 DCT 기반 (DCT-based) 필터링을 통해 예측 화소를 생성할 수 있다.In order to solve this problem, as shown in FIG. 4, a prediction pixel may be generated through DCT-based filtering using four pixels, for example, Q, A, B, and C pixels.

예를 들어, DCT-based 필터링 계수는 다음의 수학식 1과 같은 type-2 DCT를 이용하여 나타낼 수 있다.For example, the DCT-based filtering coefficient can be expressed using a type-2 DCT as shown in Equation 1 below.

이 경우, 먼저 DCT를 수행하고 DCT의 역변환을 통해서 각각의 위치에 따른 계수 f(x)를 생성한다. 도 4에 도시된 경우를 참조하면, f(0)=Q, f(1)=A, f(2)=B, f(3)=C, N=4 이다.In this case, DCT is first performed, and a coefficient f(x) according to each position is generated through inverse transformation of the DCT. Referring to the case shown in FIG. 4, f(0)=Q, f(1)=A, f(2)=B, f(3)=C, and N=4.

Figure 112013037431871-pat00001
Figure 112013037431871-pat00001

N: sample(샘플)의 수 (만약 N=4 인 경우 4-point Inverse DCT f(x)가 됨)N: number of samples (if N=4, it becomes 4-point Inverse DCT f(x))

N=4이면 (즉, 4-point DCT, IDCT를 사용하면), 도 4에서 30번 예측모드의 경우, x = 1+1/2 (= N/2 + 1/2) 이고, 그에 따라 위 수학식 1의 (2)번 식을 이용하여 1+1/2 sample position의 interpolation(보간) 값을 생성할 수 있다.If N=4 (i.e., using 4-point DCT, IDCT), in the case of prediction mode 30 in FIG. 4, x = 1+1/2 (= N/2 + 1/2), and accordingly An interpolation (interpolation) value of 1+1/2 sample position can be generated using Equation (2) of Equation 1.

한편, 도 4에서 29번 예측모드의 경우, x = 1+13/32 (= N/2 + 13/32)이고, 그에 따라 위 수학식 1의 (2)번 식을 이용하여 1+13/32 sample position의 interpolation(보간) 값을 생성할 수 있다.Meanwhile, in the case of prediction mode 29 in FIG. 4, x = 1+13/32 (= N/2 + 13/32), and accordingly, 1+13/ using Equation (2) of Equation 1 above. Interpolation (interpolation) value of 32 sample positions can be created.

그리고, 도 4에서 32번 예측모드의 경우, x = 1+26/32(= N/2 + 26/32)이고, 그에 따라 수학식 1의 (2)번 식을 이용하여 1+26/32 sample position의 interpolation(보간) 값을 생성할 수 있다.And, in the case of prediction mode 32 in FIG. 4, x = 1+26/32 (= N/2 + 26/32), and accordingly, 1+26/32 using Equation (2) of Equation 1 Interpolation (interpolation) value of sample position can be created.

한편, 상기 DTC 기반 interpolation시 사용되는 필터 Tap의 수는 4개 뿐 아니라 다양한 개수로 설정될 수도 있으며, 상기 Tap의 수는 복호화기로 Signaling 되거나, 혹은 주변의 정보(예를 들어, 에지정보 또는 모드정보 등)을 통해서 결정 될 수 있다.Meanwhile, the number of filter taps used in the DTC-based interpolation may be set to not only 4 but also various numbers, and the number of taps is signaled by a decoder, or surrounding information (for example, edge information or mode information Etc.).

본 발명의 예는 type-2 DCT, Inverse DCT (IDCT)를 이용하였지만, 다른 type의 DCT, IDCT도 이용이 가능하고, 각종 다른 type의 DST (Discrete Sine Transform), IDST 쌍을 (pairs) 이용 가능한 방법을 모두 포함한다.In the example of the present invention, type-2 DCT and Inverse DCT (IDCT) were used, but other types of DCT and IDCT are also available, and various other types of DST (Discrete Sine Transform) and IDST pairs are available. Includes all methods.

도 5는 34가지 예측 방향에 관한 예측 모드에 대해서 k를 예측하는 3가지 방향 모드의 예측 화소 생성의 예를 나타낸다.5 shows an example of generation of prediction pixels in three direction modes in which k is predicted for prediction modes in 34 prediction directions.

도 5를 참조하면, 특정 인트라 예측 모드에 대응되는 방향에 적용되는 값이 정확한 방향에 값이 존재하지 않는 경우는 양 옆의 두 픽셀의 값을 이용해 선형 필터링 방법을 통해 예측 화소를 생성할 수 있다.Referring to FIG. 5, when a value applied to a direction corresponding to a specific intra prediction mode does not exist in an accurate direction, a prediction pixel may be generated through a linear filtering method using values of two pixels on both sides. .

예를 들어, k의 28번 모드는 C와 D의 화소를 거리에 따른 가중치 계산을 통해서 28번 모드에 대한 예측을 수행한다. 19번 모드인 경우는 Q와 A, 8번 모드인 경우는 M과 N을 동일하게 적용 되어 k 의 예측 화소를 결정한다.For example, mode 28 of k performs prediction on mode 28 by calculating weights of pixels C and D according to distance. In the 19th mode, Q and A, in the 8th mode, M and N are applied equally to determine the predicted pixel of k.

이와 같은 양 옆의 2개만의 화소를 통해서 예측을 수행하기 때문에 영상의 값이 급격이 변화는 경계에서는 효율적이지 않다. 이러한 문제점을 해결하기 위해서 (B,C,D,E), (L,M,N,O)와 같이 주변의 4개 화소를 이용해 각각의 예측 화소를 DCT 기반 (DCT-based) 필터링을 통한 예측화소를 생성할 수 있다.Since prediction is performed through only two pixels on both sides, it is not efficient at the boundary where the image value changes rapidly. To solve this problem, each prediction pixel is predicted through DCT-based (DCT-based) filtering using four pixels around it, such as (B,C,D,E), (L,M,N,O). You can create pixels.

도 6은 4-Tap DCT-IF 필터링을 이용하여 예측 화소를 생성하는 방법에 대한 일예를 도시한 것이다.6 shows an example of a method of generating a prediction pixel using 4-Tap DCT-IF filtering.

도 6을 참조하면, 4-Tap DCT-IF 필터를 이용해 i의 4번 방향의 모드 예측인 경우와 32번 방향 모드 예측인 경우를 Q,A,B,C 4개 화소를 이용해 A와 B 사이의 4번 모드 예측 화소를 생성, L,M,N,O 4개 화소를 이용해 C와 D 사이의 32번 모드 예측 화소를 생성하는 2가지 화소 예측의 예를 나타내며, 여기서 필터링 방법을 4-Tap DCT-IF필터를 사용하는 방법을 말한다.Referring to FIG. 6, the case of mode prediction in the direction 4 of i and the mode prediction in direction 32 of i using a 4-Tap DCT-IF filter is between A and B using 4 pixels of Q, A, B, and C. Here is an example of two pixel predictions that generate the 4th mode prediction pixel of, and generate the 32nd mode prediction pixel between C and D using 4 pixels L,M,N,O, where the filtering method is 4-Tap This is how to use the DCT-IF filter.

여기서 Tap의 수는 4개 뿐만 아니라 N-Tap의 크기로 변환이 가능하며 이는 복호화기로 Signaling을 하거나, 혹은 주변의 정보를(에지정보, 모드정보 등)을 통해서 Tap의 크기가 결정 될 수 있다.Here, the number of taps can be converted into not only four, but also the size of N-Tap, and the size of the tap can be determined through signaling by a decoder or by surrounding information (edge information, mode information, etc.).

도 7은 가로 방향과 세로 방향에 대하여 Tap수가 다른 필터를 이용하여 인트라 예측을 수행하는 방법에 대한 일예를 설명하기 위한 도면으로서, 가로 방향은 8-Tap, 세로 방향은 4-Tap DCT-IF 필터링을 이용하여 예측 화소를 생성하는 방법을 나타낸 것이다.FIG. 7 is a diagram for explaining an example of a method of performing intra prediction using filters with different tap numbers for the horizontal and vertical directions, in which the horizontal direction is 8-Tap and the vertical direction is 4-Tap DCT-IF filtering It shows a method of generating a predicted pixel by using.

도 7의 경우는 도 6과 달리, 영상의 특징에 맞추어 상단에는 8-Tap, 좌측은 4-Tap의 필터링을 사용하는 것과 같이 Tap의 수를 다르게 결정 할 수 있으며, 이는 N-Tap으로 다양한 Tap이 모두 가능할 수 있다.In the case of FIG. 7, unlike FIG. 6, the number of taps can be determined differently, such as using 8-Tap at the top and 4-Tap at the left according to the characteristics of the image. This is N-Tap. All of this can be possible.

도 7에 도시된 바와 같이, 화소의 예측을 수행할 경우 좌측 4번 모드를 수행할 경우 예측 화소는 M과 N사이에 위치하며 이는 4-Tap DCT-IF 필터링을 통해 4번 모드의 예측 화소에 해당하는 예측 화소를 예측 할 수 있으며, i 위치에 화소에 예측모드가 32번 방향의 모드인 경우는 상단의 8-Tap DCT-IF 필터링을 통한 예측 화소의 값을 통해 예측할 수 있는 예를 나타낸다.As shown in FIG. 7, when performing prediction of a pixel, when performing the left mode 4, the prediction pixel is located between M and N, which is applied to the prediction pixel of mode 4 through 4-Tap DCT-IF filtering. A corresponding prediction pixel can be predicted, and when the prediction mode is a mode in the direction of 32 in the pixel at the i position, an example of predicting through the value of the predicted pixel through 8-Tap DCT-IF filtering at the top is shown.

또한, 상기한 바와 같은 필터 관련 정보는 주변의 정보를 통해 Signaling 없이 가능한 방법 혹은 Signaling을 통해서 Tap의 수를 다르게 필터링 화소를 복호화 할 수 있는 방법을 모두 포함한다.In addition, the filter-related information as described above includes both a method capable of decoding a filtering pixel with a different number of taps through signaling or a method that is possible without signaling through surrounding information.

이렇게 생성된 interpolation 계수 값은 소수점으로 구성되기 때문에, 다음과 같이 정수형 값으로 정규화 시킨 좌우 대칭인 interpolation 필터링 계수 값을 얻을 수 있다.Since the generated interpolation coefficient value is composed of a decimal point, the symmetric interpolation filtering coefficient value normalized to an integer value can be obtained as follows.

아래의 표 1은 4-point (4-tap) 필터링의 인트라 예측 방법에 따른 interpolation 계수 값들에 대한 일예를 나타낸다.Table 1 below shows an example of interpolation coefficient values according to the intra prediction method of 4-point (4-tap) filtering.

Figure 112013037431871-pat00002
Figure 112013037431871-pat00002

예를 들어, 도 4에서 a의 예측 화소를 위해 32번 예측모드가 결정 되었을 때, 그 위치의 값은 위의 테이블의 필터링 계수 값을 적용하여 다음의 수학식 2와 같이 계산될 수 있다.For example, when the 32nd prediction mode is determined for the prediction pixel a in FIG. 4, the position value may be calculated as in Equation 2 below by applying the filtering coefficient value of the table above.

Figure 112013037431871-pat00003
Figure 112013037431871-pat00003

이와 같이, 각 모드의 위치별로 DCT-기반 interpolation의 계수를 통해서 예측화소를 생성하면, 기존의 주변 두 화소만을 고려하여 각 위치별 예측 화소를 생성하는 것보다 더욱 정확한 예측 화소를 생성할 수 있는 방법이다.In this way, when a prediction pixel is generated through the DCT-based interpolation coefficient for each location of each mode, a more accurate prediction pixel can be generated than that of generating a prediction pixel for each location by considering only the existing two surrounding pixels. to be.

여기서, DCT-기반 interpolation필터는 하나의 예를 나타내며 여러 가지 필터링을 선택적으로 적용 가능한 방법을 모두 포함한다.Here, the DCT-based interpolation filter represents one example and includes all methods that can selectively apply various filtering.

성능 향상을 가져오는 필터링 방법을 통해 각 예측에 사용되는 신호를 여러 개의 주변의 복원 신호를 이용한 필터링을 통해 주변의 영상의 변화를 고려하는 잔차 신호를 생성함으로써 압축률을 더 높인 동영상 부호화/복호화 방법 및 장치이다.A video encoding/decoding method with higher compression ratio by generating a residual signal that takes into account changes in surrounding images through filtering the signal used for each prediction through a filtering method that improves performance, and Device.

위의 예에서는 N=4인 경우로부터 interpolation 필터계수를 유도하여 예측샘플로 이용하는 방법을 예로 들었지만 N=2n,n=1,2,3,4,…이 되는 모든 경우에도 interpolation 필터를 유도하여 사용할 수 있다.In the above example, the method of deriving the interpolation filter coefficient from the case of N=4 and using it as a prediction sample was exemplified, but N=2n,n=1,2,3,4,... In all cases of this, interpolation filters can be derived and used.

또한, 본 예에서는 type-2 DCT, Inverse DCT (IDCT)를 이용하였지만, 다른 type의 DCT, IDCT도 이용이 가능하고, 각종 다른 type의 DST (Discrete Sine Transform), IDST 쌍을 (pairs) 사용해도 성능향상을 가져 올 수 있다.In addition, although type-2 DCT and Inverse DCT (IDCT) were used in this example, other types of DCT and IDCT can also be used, and various other types of DST (Discrete Sine Transform) and IDST pairs can also be used. It can improve performance.

한편, 상단에서 예측화소를 가져오는 경우 상단에 위치한 두 화소간의 에지가 있는 경우(예를 들어, 값의 변화가 큰 경우)는 적은 필터링 Tap 수를 사용하는 것이 효과적일 수 있다.On the other hand, when a prediction pixel is obtained from the top, it may be effective to use a small number of filtering taps when there is an edge between two pixels located at the top (for example, when a change in value is large).

반대로, 에지가 없는 경우(예를 들어, 값의 변화가 적은 경우)는 주변의 화소의 영향을 많이 가져 올 수 있도록 많은 필터링 Tap 수를 사용하는 것이 효과적일 수 있으며, 이는 상단과 좌측에 화소 값의 예측에 모두 동일하게 적용될 수 있다.Conversely, when there is no edge (e.g., when the value is small), it may be effective to use a large number of filtering taps to bring a lot of influence from the surrounding pixels, which is the pixel value at the top and left. The same can be applied to all predictions of

즉, 주변 화소의 변화(예를 들어, 에지 정보 또는 화소간의 크기)에 따라 Tap의 수를 증가 혹은 감소시키는 방법을 적응적으로 적용시킴으로써 정확한 예측 화소를 생성하여 전체 부호화/복호화 성능을 가져올 수 있다.That is, by adaptively applying a method of increasing or decreasing the number of taps according to changes in neighboring pixels (eg, edge information or size between pixels), accurate prediction pixels can be generated, resulting in overall encoding/decoding performance. .

본 발명의 또 다른 실시예에 따르면, 인트라 예측 방법에서 적용되는 다양한 방향에 따른 예측에서, 각 예측 방향(Prediction mode)에 따라 잔차(residual) 신호를 생성을 위한 예측을 할 때, 정확한 예측 값을 얻기 위해, Sync 필터링을 적용하여 Interpolation을 통한 정확한 예측 값을 얻음으로써 압축 성능을 향상시킬 수 있다.According to another embodiment of the present invention, when prediction for generating a residual signal according to each prediction mode in prediction according to various directions applied in an intra prediction method, an accurate prediction value is obtained. In order to obtain it, it is possible to improve compression performance by applying sync filtering to obtain an accurate prediction value through interpolation.

예를 들어, 도 4 내지 도 7을 참조하여 설명한 바와 같은 인트라 예측 방법에 있어서, DCT 기반 필터를 대신하여, 또는 DCT 기반 필터에 추가하여 Sync 필터를 이용해 보간을 수행함으로써 예측 화소를 생성할 수 있다.For example, in the intra prediction method described with reference to FIGS. 4 to 7, a prediction pixel may be generated by performing interpolation using a Sync filter in place of a DCT-based filter or in addition to a DCT-based filter. .

도 8 및 도 9는 싱크(Sync) 필터링에 대한 일에를 설명하기 위한 도면이다.8 and 9 are diagrams for explaining a case for sync filtering.

도 8은 정규화된 싱크 함수(Sync function)를 나타내며, 도시된 바와 같은 Sync 함수를 통해 각 4-tap의 계수를 구할 수 있다.8 shows a normalized sync function, and a coefficient of each 4-tap can be obtained through the sync function as shown.

이를 통해 interpolation을 수행함에 따라 도 4 내지 도 7을 참조하여 설명한 바와 같은 방법에 따라 각 예측 화소를 구할 수 있다. 또한, 4-tap뿐만 아니라 N-tap으로 적용이 가능한 방법을 모두 포함할 수 있다.Through this, as interpolation is performed, each prediction pixel can be obtained according to the method described with reference to FIGS. 4 to 7. In addition, all methods applicable to N-tap as well as 4-tap may be included.

현재 영상기기를 통해 보는 모든 영상은 샘플링-복원 정리를 통해 아날로그신호를 디지털신호로 변환된 값들이다. 그렇기 때문에 디지털신호 x[k]가 무한대로 존재한다면, 다음의 수학식 3을 통해 가장 이상적인 아날로그신호로 복원할 수 있다. All the images currently viewed through video equipment are values converted from analog signals to digital signals through sampling-restore theorem. Therefore, if the digital signal x[k] exists indefinitely, the most ideal analog signal can be restored through Equation 3 below.

Figure 112013037431871-pat00004
Figure 112013037431871-pat00004

위의 수학식 3에서 t는 시간, Ts는 샘플링 주기, x[kTs]는 디지털신호를 나타낸다. 샘플링 주기(Ts)를 1로 정의하였을 때 그래프는 도 8과 같을 수 있다.In Equation 3 above, t is time, Ts is a sampling period, and x[kTs] is a digital signal. When the sampling period Ts is defined as 1, the graph may be as shown in FIG. 8.

위의 수학식 3에 디지털신호의 값을 대입하면 아날로그신호 x(t)를 복원할 수 있다. Substituting the value of the digital signal in Equation 3 above, the analog signal x(t) can be restored.

예를 들어, 복원된 아날로그신호 x(t)를 이용하여 정수 화소 사이의 예측 화소를 구할 수 있다. 참조되는 정수 화소의 개수와 예측 화소의 위치에 따라 다음의 수학식 4를 통해 필터 계수를 구할 수 있다.For example, prediction pixels between integer pixels may be obtained using the restored analog signal x(t). Filter coefficients may be obtained through Equation 4 below according to the number of referenced integer pixels and the location of the prediction pixels.

Figure 112013037431871-pat00005
Figure 112013037431871-pat00005

위의 수학식 4에서 α는 예측 화소 위치, N은 참조되는 정수 화소 개수이다. In Equation 4 above, α is the predicted pixel position and N is the number of referenced integer pixels.

예를 들어, 참조되는 정수 화소 개수가 8인 경우(N = 8) 다음 표와 같이 예측 화소 위치에 따라 필터 계수를 구할 수 있다. For example, when the number of referenced integer pixels is 8 (N = 8), filter coefficients can be obtained according to the predicted pixel positions as shown in the following table.

Figure 112013037431871-pat00006
Figure 112013037431871-pat00006

위의 필터 계수는 소수점 연산으로 계산복잡도가 높기 때문에 스케일링 하여 다음의 표 3과 같이 정수 필터 계수를 구할 수 있다. Since the above filter coefficient is a decimal arithmetic operation and has high computational complexity, it can be scaled to obtain the integer filter coefficient as shown in Table 3 below.

Figure 112013037431871-pat00007
Figure 112013037431871-pat00007

유사한 방법으로 α와 N의 값에 따라 모든 필터 계수를 구할 수 있다. In a similar way, all filter coefficients can be obtained according to the values of α and N.

본 발명의 일실시예에 따르면, Interpolation을 수행할 때 영상의 에지(edge) 정보를 통해 가로와 세로의 Interpolation에 사용하는 필터링 tap수를 달리함으로써 성능 향상을 가져오는 방법으로 tap 수를 선택함에 있어서는 Signaling을 통해 복호화에 전달하거나 혹은 주변 정보를 활용하여 복호화를 함에 있어서 tap 개수를 예측해 낼 수 있다.According to an embodiment of the present invention, when performing interpolation, in selecting the number of taps by varying the number of filtering taps used for horizontal and vertical interpolation through edge information of an image to improve performance, The number of taps can be predicted when transmitting to decoding through signaling or performing decoding using surrounding information.

상기한 바와 같이, 움직임 벡터(MV)를 찾는 방법에 있어서, Interpolation은 성능에 큰 영향을 줄 수 있다. 특히, 정확한 Interpolation을 통한 예측을 할 경우 이어지는 변환 및 양자화, 스캐닝, 엔트로피 부호화/복호화에 계속되는 성능에 영향을 미치게 된다. 즉, Interpolation을 통해 정확한 보간을 한다면 전체 코덱의 성능 향상에 매우 큰 영향을 가진다.As described above, in a method of finding a motion vector (MV), interpolation can have a great influence on performance. In particular, when prediction through precise interpolation is performed, the performance of subsequent transformation and quantization, scanning, and entropy encoding/decoding is affected. In other words, if accurate interpolation through interpolation is performed, it has a very great effect on the performance improvement of the entire codec.

본 발명의 실시예는 기존의 보간법(Interpolation)보다 효과적인 방법을 위해 영상의 에지 방향에 따른 정보에 따라 필터링 tap의 수를 다르게 함으로써 전체 부호화/복호화에 성능향상을 가져오는 Interpolation 방법이다.An embodiment of the present invention is an interpolation method that improves overall encoding/decoding performance by varying the number of filtering taps according to information according to an edge direction of an image for a more effective method than the conventional interpolation method.

이하, 도 10 내지 도 12를 참조하여 필터링 탭(tab) 수를 조정하여 인트라 예측을 수행하는 구성에 대한 실시예들을 상세히 설명하기로 한다.Hereinafter, embodiments of a configuration for performing intra prediction by adjusting the number of filtering tabs will be described in detail with reference to FIGS. 10 to 12.

도 10은 필터링의 tap 수를 결정하는 방법에 대한 일예를 설명하기 위한 도면으로서, 영상의 에지를 분석하고 Horizontal, Vertical 방향의 tap 수를 결정짓는 방법을 나타낸 것이다.10 is a diagram for explaining an example of a method of determining the number of taps for filtering, and illustrates a method of analyzing an edge of an image and determining the number of taps in the horizontal and vertical directions.

도 10을 참조하면, 영상의 에지가 분석되어 검출되고, 검출된 에지에 따라 필터의 Tap 크기(Tap의 수)가 결정된 후, 상기 결정된 Tap 수에 따라 수직 방향과 수평 방향에 대해 서로 다른 Tap 수의 필터를 이용하여 보간이 수행될 수 있다.Referring to FIG. 10, after the edge of the image is analyzed and detected, the tap size (number of taps) of the filter is determined according to the detected edge, and then different number of taps in the vertical direction and the horizontal direction according to the determined number of taps. Interpolation can be performed using a filter of.

예를 들어, 도 7에 도시된 바와 같이, 수평 방향에 대해서는 4-tap의 필터를 이용한 보간이 수행되고, 수직 방향에 대해서는 8-tap 필터를 이용한 보간이 수행될 수 있다.For example, as illustrated in FIG. 7, interpolation using a 4-tap filter may be performed in the horizontal direction, and interpolation using an 8-tap filter may be performed in the vertical direction.

여기서, 필터링 tap의 수는 복호화 하기 위해 부호화기로부터 복호화기로 Signaling하여 보내어 질 수도 있고, 일정한 특성을 이용해 Signaling없이 구분 할 수 있는 방법을 모두 포함할 수도 있다.Here, the number of filtering taps may be transmitted by signaling from an encoder to a decoder for decoding, or may include all methods of distinguishing without signaling by using a certain characteristic.

도 11은 4-tap 필터와 8-tap 필터을 사용한 2배 확장 Interpolation의 예를 도시한 것으로, Reference로 사용되는 영상을 Frame 혹은 Picture를 1/2 화소 예측을 할 경우의 예를 나타낸 것이다. FIG. 11 shows an example of 2-fold extension interpolation using a 4-tap filter and an 8-tap filter, and shows an example in which a frame or picture is predicted by 1/2 pixel of an image used as a reference.

도 10을 참조하여 설명한 바와 같은 방법에 의해 결정된 tap의 크기로 Horizontal과 Vertical의 edge에 따른 tap 크기로 Interpolation을 수행한다.Interpolation is performed with the tap size according to the horizontal and vertical edges with the tap size determined by the method described with reference to FIG. 10.

Step 1은 가로 방향의 Interpolation 할 경우는 4-tap 필터링을 통해 예측하고, Step 2는 세로방향의 Interpolation 할 경우는 8-tap을 이용한 화소 예측을 수행할 수 있다.Step 1 predicts through 4-tap filtering in case of horizontal interpolation, and in Step 2, pixel prediction using 8-tap in case of vertical interpolation.

본 발명의 tap의 크기는 상기한 수에 제한되지 않으며 N-tap으로 구성하는 방법을 모두 포함하며, tap의 계수는 가로와 세로의 크기에 상관없이 적용 가능하다. 이는 영상의 에지(edge) 특성에 따라서 달리 적용된다. The size of the tap of the present invention is not limited to the above number, and includes all methods of configuring N-taps, and the coefficient of tap can be applied regardless of the size of the horizontal and vertical. This is applied differently depending on the edge characteristics of the image.

또한, Signaling을 통해서 tap의 크기와 방향에 따른 tap의 크기를 모두 결정 가능하거나 Signaling없이도 에지 방향 및 영상의 변화(MV의 변화, 화소의 변화량 등) 주변정보를 복합적인 결정 방법을 통해서도 tap의 계수를 예측 가능한 방법을 모두 포함한다.In addition, it is possible to determine both the size of the tap according to the size and direction of the tap through signaling, or even through a complex determination method of edge direction and image change (MV change, pixel change amount, etc.)without signaling. Includes all predictable methods.

도 12는 다양한 방법의 Interpolation이 적용 가능한 예를 나타낸 것으로, 4배 Interpolation의 적용인 경우 가능한 다양한 Interpolation 방법을 설명하기 위해 도시한 것이다.FIG. 12 shows an example in which interpolation of various methods can be applied, and is shown to explain various interpolation methods that can be applied in the case of application of 4-fold interpolation.

도 12를 참조하면. 총 Step 4를 거치면서 4개의 Interpolation방법이 Horizontal, Vertical 방향으로 모두 적용 될 수 있다.Referring to Figure 12. Four interpolation methods can be applied in both horizontal and vertical directions while going through a total of Step 4.

이와 같이, 본 발명은 1개의 Interpolation 기술뿐만 아니라 N개의 Interpolation 방법이 N-Tap의 수로 영상의 특징 및 성능향상에 따라 적응적으로 변화가 가능한 Interpolation 방법을 말하며, 이는 영상의 변화에 따라 Signaling 없이 복호화가 가능한 방법 혹은 경우에 따라 Signaling을 통해서 복호화가 가능한 방법을 모두 포함하는 방법이다.As described above, the present invention refers to an interpolation method in which not only one interpolation technology but also N interpolation methods can be adaptively changed according to the characteristics and performance of the N-Tap channel image, which is decoded without signaling according to the change of the image. This is a method that includes all possible methods or methods that can be decoded through signaling in some cases.

한편, 에지가 있거나 크게 영상이 변화가 있는 경우는 적은 필터링의 Tap 개수를 사용하는 것이 에지를 살리는 interpolation방법이 되고, 에지가 거의 없이 화소의 변화가 적은 경우는 필터링 Tap 개수를 사용하는 것이 효과적일 수 있다. On the other hand, if there is an edge or there is a large change in the image, using a small number of taps of filtering is an interpolation method that saves the edge, and when there are few edges and there is little change in pixels, it is effective to use the number of filtering taps. I can.

예를 들어, 에지가 수평으로 많이 분포한 경우는 Horizontal 필터링의 Tap 개수를 늘리고 Vertical 필터링의 Tap개수를 줄이는 것이 효과적이며, 에지가 수직으로 많이 분포한 경우는 Vertical 필터링의 tap 개수를 늘리고 Horizontal 필터링의 Tap 개수를 줄이는 것이 효과적이다.For example, if the edges are distributed horizontally, it is effective to increase the number of taps for horizontal filtering and reduce the number of taps for vertical filtering. If the edges are distributed vertically, increase the number of taps for vertical filtering and use horizontal filtering. It is effective to reduce the number of taps.

혹은, 두 가지 방법을 모두 사용해 보고, Signaling을 통해 성능이 높은 방법을 선택하는 방법을 포함한다.Alternatively, it involves using both methods and selecting a method with high performance through signaling.

그리고 Inter 예측에서 MV를 찾아서 예측하는 경우, 2배 interpolation이라 함은 1/2 픽셀 위치에 예측하는 방법과 4배 interpolation이라 함은 1/4 픽셀 위치의 예측하는 방법을 말한다.In the case of finding and predicting an MV in inter prediction, double interpolation refers to a method of predicting a 1/2 pixel position, and a quadruple interpolation refers to a method of predicting a quarter pixel position.

본 발명의 또 다른 실시예에 따르면, Interpolation을 수행할 때 영상 내의 특정 영역의 변화 혹은 화소 변화 등을 통해 영역별로 Interpolation에 사용하는 필터링 tap수를 달리함으로써 성능 향상을 가져올 수 있으며, tap 수를 선택함에 있어서는 Signaling을 통해 복호화에 전달하거나 혹은 주변 정보를 활용하여 복호화를 함에 있어서 tap 개수를 예측해 낼 수 있다.According to another embodiment of the present invention, when performing interpolation, performance can be improved by varying the number of filtering taps used for interpolation for each area through a change in a specific area or pixel change in an image, and the number of taps is selected. In doing so, it is possible to predict the number of taps in decoding by using signaling or by using surrounding information.

기존의 보간법(Interpolation)보다 효과적인 방법을 위해 영역 혹은 블록 단위의 화소 값의 변화에 따라 필터링 tap의 수를 다르게 함으로써 전체 부호화/복호화에 성능 향상을 가져올 수 있다.In order to be more effective than the conventional interpolation method, the number of filtering taps may be changed according to a change in a pixel value in units of regions or blocks, thereby improving the performance of the entire encoding/decoding.

예를 들어, 특정 객체 검출을 통해서 객체에 영역에는 A-tap 필터링을 수행하고, 나머지 영역에는 B-tap 필터링을 수행하는 것과 같이 일정 한 영역, 혹은 일정 단위의 화소들의 변화 혹은 인접 화소의 변화에 적응적으로 필터링 계수를 달리하여 Interpolation을 수행 할 수 있다.For example, by detecting a specific object, A-tap filtering is performed on the object area and B-tap filtering is performed on the other area. Interpolation can be performed by adaptively different filtering coefficients.

도 13 및 도 14는 화소 값의 변환에 따라 필터링 탭 수를 조정하여 인트라 예측을 수행하는 구성에 대한 실시예들을 블록도로 도시한 것이다13 and 14 are block diagrams illustrating embodiments of a configuration for performing intra prediction by adjusting the number of filtering taps according to transformation of pixel values.

도 13은 한 Frame에서 영역별로 Interpolation에 사용되는 필터의 tap을 서로 달리 하는 방법에 대한 일예를 도시한 것이다.13 shows an example of a method of varying taps of filters used for interpolation for each region in one frame.

도 13을 참조하면, 한 Frame 내에서 다양한 영역별로 서로 상이하게 tap 수가 결정될 수 있으며, 한 frame에 동일한 tap수를 사용하는 방법이 아닌 다양한 tap의 개수로 interpolation 하는 경우가 모두 포함 된 interpolation 방법이다.Referring to FIG. 13, the number of taps may be differently determined for various areas within one frame, and interpolation method includes all cases of interpolation with various number of taps rather than a method of using the same number of taps in one frame.

Tap의 수를 결정짓는 것에는 객체의 검출, 혹은 블록(영역)단위의 화소의 변화 및 인접 블록(영역)의 변화를 통해, 도 10에 도시된 과 같이 한 Frame 내에 다양한 tap수로 interpolation을 하는 방법이다.Determining the number of taps is a method of interpolation with various number of taps in one frame as shown in FIG. 10 through detection of an object or change of pixels in units of blocks (areas) and changes in adjacent blocks (areas). to be.

여기서 tap의 수는 복호화로 Signaling을 하거나, Signaling 없이 주변의 화소 및 영역 변화를 통해 동일한 복호화가 가능한 방법을 모두 포함한다.Here, the number of taps includes all methods in which signaling is performed by decoding or the same decoding is possible through changes in surrounding pixels and regions without signaling.

도 14는 영역별 Interpolation tap의 구분 및 Vertical, Horizontal tap의 구분의 예를 도시한 것으로, 도 13에 도시된 경우보다 추가적으로 세분화 하여 Vertical과 Horizontal의 tap까지 다르게 결정할 수 있는 방법에 대한 일예를 나타낸 것이다.FIG. 14 shows an example of the division of the interpolation tap by region and the division of the vertical and horizontal taps, and shows an example of a method in which the vertical and horizontal taps can be determined differently than the case shown in FIG. .

도 14를 참조하면, 영역별 tap수의 변화와 가로 세로의 변화를 줌으로써 영상의 특성에 맞추어 최적의 interpolation된 화소 값을 얻어 전체 부호화/복호화에 성능 향상을 가져올 수 있다.Referring to FIG. 14, by applying a change in the number of taps for each region and a change in width and height, an optimal interpolated pixel value according to the characteristics of an image may be obtained, thereby improving performance in overall encoding/decoding.

여기서, Vertical, Horizontal의 tap과 영역에 관한 tap은 Signaling을 하여 복호화를 하는 방법과 Signaling을 하지 않고도 복호화가 가능한 방법을 모두 포함하는 방법이다.Here, the vertical and horizontal taps and the taps on the region are a method including both a method of decoding by signaling and a method capable of decoding without signaling.

예를 들어, 한 프레임 내에서 영역을 분할하여 에지가 많이 분포한 경우는 에지를 보존하기 위해 적은 필터링 Tap 수를 결정하여 사용하고, 에지가 많이 없는 영역은 필터링 Tap 수를 많이 사용하는 것이 효과적일 수 있다.For example, if a region is divided within one frame and many edges are distributed, it is effective to determine and use a small number of filtering taps to preserve the edges, and to use a large number of filtering taps for areas with no edges. I can.

상세히 설명하면, 도 13에서 8-Tap interpolation을 사용하는 영역은 에지가 적은 영역으로 많은 필터링 Tap 수를 사용하여 interpolation을 하고, 4-Tap인 경우는 에지가 많이 분포한 영역으로 에지를 보존하기 위해서 적은 필터링 Tap 개수를 사용하여 전체 영상을 Interpolation 할 수 잇다.In detail, in FIG. 13, the area using 8-Tap interpolation is an area with few edges, and interpolation is performed using a large number of filtering taps. In the case of 4-Tap, in order to preserve the edge as an area where many edges are distributed. The entire image can be interpolated using a small number of filtering taps.

또한, 도 14에서는 도 13과 같이 분할된 영상을 구체적으로 에지의 방향에 따라 Tap수를 달리하는 방법으로, 각 영역의 Vertical과 Horizontal의 필터링 Tap 수를 달리하는 방법이다.In addition, in FIG. 14, as shown in FIG. 13, the number of taps of the divided image is specifically changed according to the direction of the edge, and the number of vertical and horizontal filtering taps of each region is different.

이는 위에 도 10 내지 도 12에서 설명한 바와 같이 Vertical과 Horizontal에 따라 필터링 Tap수를 달리 하는 방법을 적용한 것과 같을 수 있다.This may be the same as applying a method of varying the number of filtering taps according to vertical and horizontal as described in FIGS. 10 to 12 above.

도 15는 본 발명의 일실시예에 따른 영상 부호화 장치의 구성을 블록도로 도시한 것이다.15 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.

통상, 부호화 장치는 인코딩 과정과 디코딩 과정을 포함하고, 복호화 장치는 디코딩 과정을 구비한다. 복호화 장치의 디코딩 과정은 부호화 장치의 디코딩 과정과 동일하다. 따라서, 이하에서는 부호화 장치를 위주로 설명하기로 한다.Typically, the encoding apparatus includes an encoding process and a decoding process, and the decoding apparatus includes a decoding process. The decoding process of the decoding device is the same as that of the encoding device. Therefore, in the following description, the encoding device will be mainly described.

도 15에서와 같이, 본 발명의 일실시예에 따른 영상 부호화 장치에는 부호화 단위 및 구조, 화면 간(Inter) 예측, 화면 내(Intra) 예측, 보간(Interpolation), 필터링(filtering), 변환(Transform) 방법 등 다양한 새로운 알고리즘들을 포함하고 있다.As shown in FIG. 15, the video encoding apparatus according to an embodiment of the present invention includes coding units and structures, inter prediction, intra prediction, interpolation, filtering, and transformation. ) Method and other new algorithms.

도 15를 참조하면, 영상 부호화 장치는 부호화 모드 결정부(110), 인트라 예측부(120), 움직임 보상부(130), 움직임 추정부(131), 변환부호화/양자화부(140), 엔트로피 부호화부(150), 역양자화/변환복호화부(160), 디블록킹 필터링부(170), 픽쳐 저장부(180), 감산부(190) 및 가산부(200)를 포함한다.Referring to FIG. 15, the video encoding apparatus includes an encoding mode determination unit 110, an intra prediction unit 120, a motion compensation unit 130, a motion estimation unit 131, a transform encoding/quantization unit 140, and entropy encoding. A unit 150, an inverse quantization/transformation/decoding unit 160, a deblocking filtering unit 170, a picture storage unit 180, a subtraction unit 190, and an addition unit 200 are included.

부호화 모드 결정부(110)는 입력되는 비디오 신호를 분석하여 픽쳐를 소정 크기의 부호화 블록으로 분할하고, 분할된 소정 크기의 부호화 블록에 대한 부호화 모드를 결정한다. 상기 부호화 모드는 인트라 예측 부호화 및 인터 예측 부호화를 포함한다.The encoding mode determiner 110 analyzes the input video signal, divides the picture into coding blocks having a predetermined size, and determines an encoding mode for the divided coding blocks having a predetermined size. The coding mode includes intra prediction coding and inter prediction coding.

픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수개의 최대 부호화 단위(Largest coding unit: LCU)로 구성된다. 상기 LCU는 복수개의 부호화 단위(CU)로 분할될 수 있고, 부호기는 분할여부를 나타내는 정보(flag)를 비트스트림에 추가할 수 있다. 복호기는 LCU의 위치를 어드레스(LcuAddr)를 이용하여 인식할 수 있다. 분할이 허용되지 않는 경우의 부호화 단위(CU)는 예측 단위(Prediction unit: PU)로 간주되고, 복호기는 PU의 위치를 PU 인덱스를 이용하여 인식할 수 있다.A picture is composed of a plurality of slices, and a slice is composed of a plurality of largest coding units (LCU). The LCU may be divided into a plurality of coding units (CU), and the encoder may add information (flag) indicating whether to be divided to the bitstream. The decoder can recognize the location of the LCU using the address (LcuAddr). When partitioning is not allowed, the coding unit (CU) is regarded as a prediction unit (PU), and the decoder can recognize the position of the PU using the PU index.

예측 단위(PU)는 복수개의 파티션으로 나뉠 수 있다. 또한 예측 단위(PU)는 복수개의 변환 단위(Transform unit: TU)로 구성될 수 있다.The prediction unit (PU) can be divided into a plurality of partitions. In addition, the prediction unit PU may be composed of a plurality of transform units (TUs).

부호화 모드 결정부(110)는 결정된 부호화 모드에 따른 소정 크기의 블록 단위(예를 들면, PU 단위 또는 TU 단위)로 영상 데이터를 감산부(190)로 보낸다.The encoding mode determiner 110 transmits the image data to the subtraction unit 190 in block units (eg, PU units or TU units) having a predetermined size according to the determined encoding mode.

변환부호화/양자화부(140)는 감산부(190)에 의해 산출된 잔차 블록을 공간 영역으로부터 주파수 영역으로 변환 한다. 예를 들면, 잔차 블록에 대해서 2차원의 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST) 기반의 변환을 실행한다.The transform encoding/quantization unit 140 converts the residual block calculated by the subtraction unit 190 from the spatial domain to the frequency domain. For example, a two-dimensional discrete cosine transform (DCT) or discrete sine transform (DST) based transform is performed on the residual block.

또한, 변환부호화/양자화부(140)는 변환 계수를 양자화하기 위한 양자화 스텝 사이즈를 결정하고, 결정된 양자화 스텝 사이즈를 이용하여 변환 계수를 양자화한다. 결정된 양자화 스텝 사이즈 및 부호화 모드에 따라 양자화 매트릭스가 결정될 수 있다.Further, the transform coding/quantization unit 140 determines a quantization step size for quantizing the transform coefficient, and quantizes the transform coefficient using the determined quantization step size. A quantization matrix may be determined according to the determined quantization step size and coding mode.

양자화된 2차원의 변환 계수는 미리 정해진 스캐닝 방법 중 하나에 의해 1차원의 양자화 변환 계수로 변환된다. 상기 변환된 1차원의 양자화 변환 계수의 시퀀스는 엔트로피 부호화부(150)로 공급된다.The quantized two-dimensional transform coefficients are transformed into one-dimensional quantized transform coefficients by one of predetermined scanning methods. The transformed sequence of one-dimensional quantization transform coefficients is supplied to the entropy encoding unit 150.

역양자화/변환복호화부(160)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수를 역양자화한다. 또한, 역양자화에 의해 얻어지는 역양자화 계수를 역변환한다. 이에 따라, 주파수 영역으로 변환된 잔차 블록을 공간 영역의 잔차 블록으로 복원할 수 있다.The inverse quantization/transformation decoding unit 160 inverse quantizes the quantized coefficients quantized by the transform encoding/quantization unit 140. In addition, the inverse quantization coefficient obtained by inverse quantization is inversely transformed. Accordingly, the residual block converted into the frequency domain can be restored to the residual block in the spatial domain.

디블록킹 필터링부(170)는 역양자화/변환부호화부(160)로부터 역양자화 및 역변환된 영상 데이터를 입력 받아 블록킹(blocking) 효과를 제거하기 위한 필터링을 수행한다.The deblocking filtering unit 170 receives inverse quantization and inverse transformed image data from the inverse quantization/transform encoder 160 and performs filtering to remove a blocking effect.

픽쳐 저장부(180)는 필터링된 영상 데이터를 디블록킹 필터링부(170)로부터 입력 받아 픽쳐(picture) 단위로 영상을 복원하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상일 수 있다. 픽쳐 저장부(180)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다. 버퍼에 저장된 다수의 픽쳐는 인트라 예측 및 움직임 추정을 위해 제공된다.The picture storage unit 180 receives the filtered image data from the deblocking filtering unit 170 and restores and stores the image in units of pictures. The picture may be a frame-based image or a field-based image. The picture storage unit 180 includes a buffer (not shown) capable of storing a plurality of pictures. A plurality of pictures stored in the buffer are provided for intra prediction and motion estimation.

인트라 예측 또는 움직임 추정을 위해 제공되는 상기 픽쳐들은 참조 픽쳐로 불리운다.The pictures provided for intra prediction or motion estimation are called reference pictures.

움직임 추정부(131)는 상기 픽쳐 저장부(180)에 저장된 적어도 하나의 참조 픽쳐를 제공받아 움직임 추정을 수행하여 움직임 벡터, 참조 픽쳐를 나타내는 인덱스 및 블록 모드를 포함한 모션 데이터(Motion Data)를 출력한다.The motion estimation unit 131 receives at least one reference picture stored in the picture storage unit 180, performs motion estimation, and outputs motion data including a motion vector, an index indicating a reference picture, and a block mode. do.

예측 정밀도를 최적화하기 위해서, 소수 화소 정밀도, 예를 들면, 1/2 또는 1/4 화소 정밀도로 움직임 벡터를 결정한다. 움직임 벡터가 소수 화소 정밀도를 가질 수 있으므로, 움직임 보상부(130)는 소수 화소 위치의 화소 값을 산출하기 위한 보간 필터를 참조 픽쳐에 적용함으로써, 정수 화소 위치의 화소값으로부터 소수 화소 위치의 화소값을 산출한다.In order to optimize the prediction precision, a motion vector is determined with fractional pixel precision, for example, 1/2 or 1/4 pixel precision. Since the motion vector can have a fractional pixel precision, the motion compensation unit 130 applies an interpolation filter for calculating a pixel value at a fractional pixel position to the reference picture, thereby Yields

움직임 보상부(130)는 움직임 추정부(131)로부터 입력된 모션 데이터에 따라, 픽쳐 저장부(180)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 부호화하고자 하는 블록에 대응하는 예측 블록을 추출하여 출력한다.The motion compensation unit 130 corresponds to a block to be encoded from a reference picture used for motion estimation among a plurality of reference pictures stored in the picture storage unit 180 according to motion data input from the motion estimation unit 131 The predicted block is extracted and output.

움직임 보상부(130)는 소수 정밀도의 움직임 보상에 필요한 적응적 보간 필터의 필터 특성을 결정한다. 필터 특성은, 예를 들면, 적응적 보간 필터의 필터 타입을 나타내는 정보, 및, 적응적 보간 필터의 사이즈를 나타내는 정보 등이다.The motion compensation unit 130 determines filter characteristics of an adaptive interpolation filter required for motion compensation with fractional precision. The filter characteristics are, for example, information indicating the filter type of the adaptive interpolation filter, information indicating the size of the adaptive interpolation filter, and the like.

필터의 사이즈는, 예를 들면, 적응적 보간 필터의 필터 계수의 수인 탭 수 등이다.The size of the filter is, for example, the number of taps, which is the number of filter coefficients of the adaptive interpolation filter.

구체적으로, 움직임 보상부(130)는 적응적 보간 필터로서, 분리형 및 비분리형 적응적 필터 중 어느 하나를 결정할 수 있다. 그리고 나서, 결정된 적응적 보간 필터의 탭 수, 및, 각 필터 계수의 값을 결정한다. 필터 계수의 값은, 정수 화소와의 상대적인 소수 화소의 위치마다 다르게 결정될 수 있다. 또한, 움직임 보상부(130)는, 필터 계수가 고정인 복수개의 비적응적 보간 필터를 이용할 수도 있다.Specifically, the motion compensation unit 130 is an adaptive interpolation filter and may determine any one of a separable type and a non-separated type adaptive filter. Then, the determined number of taps of the adaptive interpolation filter and the value of each filter coefficient are determined. The value of the filter coefficient may be determined differently for each position of the fractional pixel relative to the integer pixel. In addition, the motion compensation unit 130 may use a plurality of non-adaptive interpolation filters having fixed filter coefficients.

움직임 보상부(130)는, 보간 필터의 특성을 소정의 처리 단위로 설정할 수 있다. 예를 들면, 소수 화소 단위, 부호화 기본 단위(부호화 유닛), 슬라이스 단위, 픽쳐 단위, 또는, 시퀀스 단위로 설정할 수 있다. 또한, 1개의 영상 데이터에 대해서, 1개의 특성을 설정해도 된다.The motion compensation unit 130 may set the characteristics of the interpolation filter in a predetermined processing unit. For example, it can be set in a unit of a fractional pixel, a basic coding unit (coding unit), a slice unit, a picture unit, or a sequence unit. In addition, one characteristic may be set for one video data.

따라서, 소정의 처리 단위 내에서는, 동일한 필터 특성을 이용하므로, 움직임 보상부(130)는 필터 특성을 일시적으로 유지하는 메모리를 구비한다. 이 메모리는 필요에 따라, 필터 특성 및 필터 계수 등을 유지한다. 예를 들면, 움직임 보상부(130)는, I픽쳐마다 필터 특성을 결정하고, 슬라이스 단위로 필터 계수를 결정할 수 있다.Accordingly, in a predetermined processing unit, the same filter characteristics are used, so the motion compensation unit 130 includes a memory temporarily maintaining the filter characteristics. This memory maintains filter characteristics, filter coefficients, etc. as needed. For example, the motion compensation unit 130 may determine a filter characteristic for each I picture and determine a filter coefficient in a slice unit.

움직임 보상부(130)는, 픽쳐 저장부(180)로부터 참조 픽쳐를 수신하고, 결정된 적응적 보간 필터를 이용하여 필터 처리를 적용함으로써, 소수 정밀도의 예측 참조 화상을 생성한다.The motion compensation unit 130 receives a reference picture from the picture storage unit 180 and applies filter processing using the determined adaptive interpolation filter, thereby generating a prediction reference picture with decimal precision.

그리고, 생성된 참조 화상과, 움직임 추정부(131)에 의해 결정된 움직임 벡터에 의거하여 소수 화소 정밀도의 움직임 보상을 행함으로써, 예측 블록을 생성한다.Then, based on the generated reference image and the motion vector determined by the motion estimation unit 131, a prediction block is generated by performing motion compensation with precision of a few pixels.

감산부(190)는 부호화하고자 하는 입력 블록을 픽쳐 간 예측 부호화하는 경우, 움직임 보상부(130)로부터 입력 블록에 대응하는 참조 픽쳐 내의 블록을 입력받아 입력 매크로 블록과의 차분 연산을 수행하여 잔차 신호(residue signal)를 출력한다.The subtraction unit 190 receives a block in a reference picture corresponding to the input block from the motion compensation unit 130 when performing inter-picture prediction encoding on an input block to be encoded, and performs a difference operation with the input macroblock to obtain a residual signal. (residue signal) is output.

인트라 예측부(120)는 예측이 수행되는 픽처 내부의 재구성된 화소값을 이용하여 인트라 예측 부호화를 수행한다. 인트라 예측부는 예측 부호화할 현재 블록을 입력 받아 현재 블록의 크기에 따라 미리 설정된 복수개의 인트라 예측 모드 중에 하나를 선택하여 인트라 예측을 수행한다. 인트라 예측부(120)는 현재 블록에 인접한 이전에 부호화된 화소들을 이용해 현재 블록의 인트라 예측 모드를 결정하고, 상기 결정된 모드에 대응하는 예측 블록을 생성한다.The intra prediction unit 120 performs intra prediction coding by using reconstructed pixel values within a picture on which prediction is performed. The intra prediction unit receives a current block to be predicted and encoded and performs intra prediction by selecting one of a plurality of preset intra prediction modes according to the size of the current block. The intra prediction unit 120 determines an intra prediction mode of the current block using previously coded pixels adjacent to the current block, and generates a prediction block corresponding to the determined mode.

현재 픽처에 포함된 영역 중에서 이전에 부호화된 영역은 인트라 예측부(120)가 이용할 수 있도록 다시 복호화되어 픽쳐 저장부(180) 에 저장되어 있다. 인트라 예측부(120)는 픽쳐 저장부(180)에 저장되어 있는 현재 픽처의 이전에 부호화된 영역에서 현재 블록에 인접한 화소 또는 인접하지 않지만 적용 가능한 화소들을 이용하여 현재 블록의 예측 블록을 생성한다.Among the regions included in the current picture, previously encoded regions are decoded again to be used by the intra predictor 120 and are stored in the picture storage unit 180. The intra prediction unit 120 generates a prediction block of the current block using pixels adjacent to the current block or pixels that are not adjacent but applicable in a previously encoded region of the current picture stored in the picture storage unit 180.

인트라 예측부(120)는 인트라 블록을 예측하기 위하여 인접 화소를 적응적으로 필터링할 수 있다. 복호기에서의 동일한 동작을 위해 부호기에서 필터링 여부를 알려주는 정보를 전송할 수 있다. 또는 현재 블록의 인트라 예측 모드 및 현재 블록의 크기 정보에 기초하여 필터링 여부를 결정할 수 있다.The intra prediction unit 120 may adaptively filter adjacent pixels to predict an intra block. For the same operation in the decoder, information indicating whether or not to filter may be transmitted in the encoder. Alternatively, filtering may be determined based on the intra prediction mode of the current block and size information of the current block.

영상 부호화 장치에 의해 사용되는 예측 타입은 상기 부호화 모드 결정부에 의해 입력 블록이 인트라 모드 또는 인터 모드로 부호화되는지 여부에 의존한다.The prediction type used by the video encoding apparatus depends on whether the input block is encoded in an intra mode or an inter mode by the encoding mode determiner.

인트라 모드와 인터 모드의 전환은, 인트라/인터 전환 스위치에 의해 제어된다.Switching between the intra mode and the inter mode is controlled by an intra/inter switching switch.

엔트로피 부호화부(150)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수와 움직임 추정부(131)에 의해 생성된 움직임 정보를 엔트로피 부호화한다. 또한, 인트라 예측 모드, 제어 데이터(예를 들면, 양자화 스텝 사이즈 등) 등도 부호화될 수 있다. 또한, 움직임 보상부(130)에 의해 결정된 필터 계수도 부호화되어 비트 스트림으로서 출력한다.The entropy encoding unit 150 entropy-encodes the quantization coefficient quantized by the transcoding/quantization unit 140 and motion information generated by the motion estimation unit 131. In addition, the intra prediction mode, control data (eg, quantization step size, etc.) may be encoded. Also, the filter coefficients determined by the motion compensation unit 130 are encoded and output as a bit stream.

상기한 바와 같이, 본 발명의 일실시예에 따른 영상 복호화 장치의 구성은 도 15에 도시된 영상 부호화 장치의 구성으로부터 도출될 수 있으며, 예를 들어 도 15를 참조하여 설명한 바와 같은 부호화 과정의 역과정을 수행함으로써 영상을 복호화할 수 있다.As described above, the configuration of the image decoding apparatus according to an embodiment of the present invention can be derived from the configuration of the image encoding apparatus shown in FIG. 15, for example, the reverse of the encoding process as described with reference to FIG. 15. An image can be decoded by performing the process.

상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The above-described method according to the present invention may be produced as a program for execution in a computer and stored in a computer-readable recording medium. Examples of computer-readable recording media include ROM, RAM, CD-ROM, and magnetic tape. , Floppy disks, optical data storage devices, and the like, and also include those implemented in the form of a carrier wave (for example, transmission through the Internet).

컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer-readable recording medium is distributed over a computer system connected through a network, so that computer-readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. In addition, various modifications can be implemented by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.

Claims (13)

인트라 예측을 이용하는 영상 복호화 방법에 있어서,
현재 블록의 인트라 예측 방향을 결정하는 단계;
상기 인트라 예측 방향에 따라 결정된 위치에 인접한 4개의 연속하는 참조 화소들에 4탭 보간필터를 적용하여 예측 화소를 생성하는 단계; 및
상기 생성된 예측 화소를 이용하여 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하고,
상기 보간필터를 적용하여 예측 화소를 생성하는 단계는 상기 현재 블록의 인트라 예측 모드가 방향성 예측 모드인 경우에 수행되고,
상기 연속하는 참조 화소들은 상기 현재 블록에 인접한 화소이며,
상기 인트라 예측 방향에 따라 결정된 위치가 상기 현재 블록의 상단에 위치하는 경우, 상기 4개의 연속하는 참조 화소들은 상기 현재 블록의 상단에 인접하여 위치한 4개의 연속하는 참조 화소들로 결정되고,
상기 인트라 예측 방향에 따라 결정된 위치가 상기 현재 블록의 좌측에 위치하는 경우, 상기 4개의 연속하는 참조 화소들은 상기 현재 블록의 좌측에 인접하여 위치한 4개의 연속하는 참조 화소들로 결정되는 것을 특징으로 하는 영상 복호화 방법.
In the video decoding method using intra prediction,
Determining an intra prediction direction of the current block;
Generating a prediction pixel by applying a 4-tap interpolation filter to four consecutive reference pixels adjacent to a position determined according to the intra prediction direction; And
And generating a prediction block of the current block by using the generated prediction pixel,
The step of generating a prediction pixel by applying the interpolation filter is performed when the intra prediction mode of the current block is a directional prediction mode,
The consecutive reference pixels are pixels adjacent to the current block,
When a position determined according to the intra prediction direction is located at the upper end of the current block, the four consecutive reference pixels are determined as four consecutive reference pixels located adjacent to the upper end of the current block,
When the position determined according to the intra prediction direction is located on the left side of the current block, the four consecutive reference pixels are determined as four consecutive reference pixels located adjacent to the left side of the current block. Video decoding method.
제1항에 있어서, 상기 예측 화소 생성 단계는
DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform) 기반 필터링을 이용하는 영상 복호화 방법.
The method of claim 1, wherein generating the prediction pixel comprises:
An image decoding method using DCT (Discrete Cosine Transform) or DST (Discrete Sine Transform) based filtering.
제2항에 있어서,
상기 보간필터의 종류는 부호화 장치로부터 전달되는 영상 복호화 방법.
The method of claim 2,
The type of the interpolation filter is an image decoding method transmitted from an encoding device.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 인트라 예측을 이용하는 영상 부호화 방법에 있어서,
현재 블록의 인트라 예측 방향을 결정하는 단계;
상기 인트라 예측 방향에 따라 결정된 위치에 인접한 4개의 연속하는 참조 화소들에 4탭 보간필터를 적용하여 예측 화소를 생성하는 단계; 및
상기 생성된 예측 화소를 이용하여 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하고,
상기 보간필터를 적용하여 예측 화소를 생성하는 단계는 상기 현재 블록의 인트라 예측 모드가 방향성 예측 모드인 경우에 수행되고,
상기 연속하는 참조 화소들은 상기 현재 블록에 인접한 화소이며,
상기 인트라 예측 방향에 따라 결정된 위치가 상기 현재 블록의 상단에 위치하는 경우, 상기 4개의 연속하는 참조 화소들은 상기 현재 블록의 상단에 인접하여 위치한 4개의 연속하는 화소들로 결정되고,
상기 인트라 예측 방향에 따라 결정된 위치가 상기 현재 블록의 좌측에 위치하는 경우, 상기 4개의 연속하는 참조 화소들은 상기 현재 블록의 좌측에 인접하여 위치한 4개의 연속하는 화소들로 결정되는 것을 특징으로 하는 영상 부호화 방법.
In the video encoding method using intra prediction,
Determining an intra prediction direction of the current block;
Generating a prediction pixel by applying a 4-tap interpolation filter to four consecutive reference pixels adjacent to a position determined according to the intra prediction direction; And
And generating a prediction block of the current block by using the generated prediction pixel,
The step of generating a prediction pixel by applying the interpolation filter is performed when the intra prediction mode of the current block is a directional prediction mode,
The consecutive reference pixels are pixels adjacent to the current block,
When the position determined according to the intra prediction direction is located at the upper end of the current block, the four consecutive reference pixels are determined as four consecutive pixels located adjacent to the upper end of the current block,
When the position determined according to the intra prediction direction is located on the left side of the current block, the four consecutive reference pixels are determined as four consecutive pixels located adjacent to the left side of the current block Encoding method.
영상 복호화 장치에서 이용되는 비트스트림을 포함하는 비 일시적 컴퓨터 판독가능한 저장매체에 있어서,
상기 비트스트림은,
현재 블록의 인트라 예측 방향에 대한 정보를 포함하고,
상기 현재 블록의 인트라 예측 방향에 대한 정보는 상기 영상 복호화 장치가 상기 현재 블록의 예측 화소를 생성하게 하고,
상기 영상 복호화 장치에서,
상기 예측 화소는 상기 인트라 예측 방향에 따라 결정된 위치에 인접한 4개의 연속하는 참조 화소들에 4탭 보간필터를 적용함으로써 생성되고,
상기 현재 블록의 인트라 예측 모드가 방향성 예측 모드인 경우에 상기 보간필터를 적용하여 예측 화소가 생성되며,
상기 연속하는 참조 화소들은 상기 현재 블록에 인접한 화소이며,
상기 인트라 예측 방향에 따라 결정된 위치가 상기 현재 블록의 상단에 위치하는 경우, 상기 4개의 연속하는 참조 화소들은 상기 현재 블록의 상단에 인접하여 위치한 4개의 연속하는 참조 화소들로 결정되고,
상기 인트라 예측 방향에 따라 결정된 위치가 상기 현재 블록의 좌측에 위치하는 경우, 상기 4개의 연속하는 참조 화소들은 상기 현재 블록의 좌측에 인접하여 위치한 4개의 연속하는 참조 화소들로 결정되는 것을 특징으로 하는 저장매체.




A non-transitory computer-readable storage medium comprising a bitstream used in an image decoding apparatus,
The bitstream,
Contains information on the intra prediction direction of the current block,
The information on the intra prediction direction of the current block causes the image decoding apparatus to generate a prediction pixel of the current block,
In the video decoding apparatus,
The prediction pixel is generated by applying a 4-tap interpolation filter to four consecutive reference pixels adjacent to a position determined according to the intra prediction direction,
When the intra prediction mode of the current block is a directional prediction mode, a prediction pixel is generated by applying the interpolation filter,
The consecutive reference pixels are pixels adjacent to the current block,
When a position determined according to the intra prediction direction is located at the upper end of the current block, the four consecutive reference pixels are determined as four consecutive reference pixels located adjacent to the upper end of the current block,
When the position determined according to the intra prediction direction is located on the left side of the current block, the four consecutive reference pixels are determined as four consecutive reference pixels located adjacent to the left side of the current block. Storage medium.




KR1020130047151A 2013-04-29 2013-04-29 Method for intra-prediction, and apparatus thereof KR102217225B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130047151A KR102217225B1 (en) 2013-04-29 2013-04-29 Method for intra-prediction, and apparatus thereof
US14/787,604 US10602155B2 (en) 2013-04-29 2014-04-23 Intra prediction method and apparatus
PCT/KR2014/003559 WO2014178563A1 (en) 2013-04-29 2014-04-23 Intra prediction method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130047151A KR102217225B1 (en) 2013-04-29 2013-04-29 Method for intra-prediction, and apparatus thereof

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020200104394A Division KR102189259B1 (en) 2020-08-20 2020-08-20 Method for intra-prediction, and apparatus thereof
KR1020210019304A Division KR20210023911A (en) 2021-02-10 2021-02-10 Method for intra-prediction, and apparatus thereof

Publications (2)

Publication Number Publication Date
KR20140129425A KR20140129425A (en) 2014-11-07
KR102217225B1 true KR102217225B1 (en) 2021-02-18

Family

ID=52454698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130047151A KR102217225B1 (en) 2013-04-29 2013-04-29 Method for intra-prediction, and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102217225B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189679A (en) 2016-04-26 2022-03-15 英迪股份有限公司 Image decoding method, image encoding method, and method for transmitting bit stream
KR102342870B1 (en) * 2017-07-26 2021-12-24 엘지전자 주식회사 Intra prediction mode-based image processing method and apparatus therefor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130101032A1 (en) * 2010-04-26 2013-04-25 Panasonic Corporation Filtering mode for intra prediction inferred from statistics of surrounding blocks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120140181A (en) * 2011-06-20 2012-12-28 한국전자통신연구원 Method and apparatus for encoding and decoding using filtering for prediction block boundary

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130101032A1 (en) * 2010-04-26 2013-04-25 Panasonic Corporation Filtering mode for intra prediction inferred from statistics of surrounding blocks

Also Published As

Publication number Publication date
KR20140129425A (en) 2014-11-07

Similar Documents

Publication Publication Date Title
JP7051773B2 (en) Intra prediction method and encoders and decoders using it
US11533470B2 (en) Method and apparatus for encoding/decoding an image signal
AU2012310514B2 (en) Method for inducing a merge candidate block and device using same
TW201715888A (en) Non-separable secondary transform for video coding
EP2536151A2 (en) Method and apparatus for processing a video signal
KR101981905B1 (en) Encoding method and device, decoding method and device, and computer-readable storage medium
US10602155B2 (en) Intra prediction method and apparatus
KR20140129423A (en) Method for intra-prediction, and apparatus thereof
JP7047777B2 (en) Image data coding and decoding
KR20180041578A (en) Image encoding method/apparatus, image decoding method/apparatus and and recording medium for storing bitstream
KR20140124443A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
KR20140124448A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
KR20220007541A (en) Encoding information determination method based on Neural Network
KR102217225B1 (en) Method for intra-prediction, and apparatus thereof
KR20140129417A (en) Method for encoding and decoding image using a plurality of transforms, and apparatus thereof
KR20140124442A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
JP2015211386A (en) Dynamic image encoding device, dynamic image encoding method, and computer program for dynamic image encoding
WO2014084674A2 (en) Intra prediction method and intra prediction apparatus using residual transform
KR102189259B1 (en) Method for intra-prediction, and apparatus thereof
KR20150105348A (en) Method and apparatus for encoding/decoding images using transform
KR20140129421A (en) Method for intra-prediction, and apparatus thereof
KR20210156256A (en) Method for intra-prediction, and apparatus thereof
KR101735798B1 (en) Method and apparatus for video encoding based on merge mode
KR20140129418A (en) Method for intra-prediction using residual transform, and apparatus thereof
KR20140129424A (en) Method for intra-prediction, and apparatus thereof

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)