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

Method for intra-prediction, and apparatus thereof Download PDF

Info

Publication number
KR20140129425A
KR20140129425A KR1020130047151A KR20130047151A KR20140129425A KR 20140129425 A KR20140129425 A KR 20140129425A KR 1020130047151 A KR1020130047151 A KR 1020130047151A KR 20130047151 A KR20130047151 A KR 20130047151A KR 20140129425 A KR20140129425 A KR 20140129425A
Authority
KR
South Korea
Prior art keywords
prediction
filtering
pixel
pixels
interpolation
Prior art date
Application number
KR1020130047151A
Other languages
Korean (ko)
Other versions
KR102217225B1 (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

The present invention relates to an intra-prediction apparatus and an intra-prediction method comprising: a step of determining the number (N) of filtering taps applied to each area by dividing an image to be predicted into multiple areas; a step of generating a prediction pixel by performing interpolation to the divided area using N-reference pixels containing two reference pixels adjacent to each other according to an intra-prediction direction; and a step of generating a residual signal using the generated prediction pixel.

Description

인트라 예측 방법 및 장치{Method for intra-prediction, and apparatus thereof}[0001] The present invention relates to intra prediction methods and apparatuses,

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

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

인트라 예측 방법은 현재 블록의 주변의 픽셀을 이용하여 현재 블록의 데이터를 예측한다. 실제 값과 예측 값의 차이를 잔차 신호 블록이라고 한다. HEVC의 경우는 인트라 예측 방법이 기존 H.264/AVC에서 사용되던 9개의 예측모드에서 도 1과 같이 35개의 예측모드로 증가하여 더욱 세분화하여 예측을 한다(단 Planar 예측모드 및 DC예측모드는 도 1에서 안보임).The intraprediction method predicts the data of the current block by using the pixels around 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 is increased to 35 prediction modes as shown in FIG. 1 in nine prediction modes used in the existing H.264 / AVC, and is further segmented and predicted (the planar prediction mode and the DC prediction mode 1).

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

이와 같이 인트라 예측과 인터 예측이 더 세분화 되어 잔차 신호의 데이터 양이 줄어들고 있으며, 효율적인 트랜스폼(transform)을 사용하여 코덱 성능이 떨어지지 않으면서 연산량이 적은 비디오 부호화 및 복호화 방법이 필요하다.In this way, intra prediction and inter prediction are further subdivided so that the amount of data of the residual signal is reduced, and a video coding and decoding method with a small amount of computation is required without degrading the codec performance 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 transcoding process of a video codec and an apparatus therefor.

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

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

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

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

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

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

도 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 showing examples of intra prediction modes.
FIG. 2 is a view for explaining an example of image encoding units.
3 is a diagram showing 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 the intra prediction method according to the present invention.
FIG. 6 is a diagram for explaining a third embodiment of the intra prediction method according to the present invention.
FIG. 7 is a diagram for explaining a fourth embodiment of the intra prediction method according to the present invention.
Figs. 8 and 9 are diagrams for explaining the operation of sync filtering. Fig.
10 to 12 are block diagrams illustrating embodiments of an arrangement for performing intraprediction by adjusting the number of filtering tabs.
13 and 14 are block diagrams illustrating embodiments of an arrangement for performing intraprediction by adjusting the number of filtering taps according to the conversion of pixel values.
15 is a block diagram showing a configuration of an encoding apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시 예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. It should be understood, however, that the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, the same reference numbers are used throughout the specification to refer to the same or like parts.

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

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

본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.Throughout this specification, when an element is referred to as "including " an element, it is understood that the element may include other elements as well, without departing from the other elements unless specifically stated otherwise. The terms "about "," substantially ", etc. used to the extent that they are used throughout the specification are intended to be taken to mean the approximation of the manufacturing and material tolerances inherent in the stated sense, Accurate or absolute numbers are used to help prevent unauthorized exploitation by unauthorized intruders of the referenced disclosure. The word " step (or step) "or" step "used to the extent that it is used throughout the specification does not mean" step for.

본원 명세서 전체에서, 마쿠시 형식의 표현에 포함된 “이들의 조합”의 용어는 마쿠시 형식의 표현에 기재된 구성 요소들로 이루어진 군에서 선택되는 하나 이상의 혼합 또는 조합을 의미하는 것으로서, 상기 구성 요소들로 이루어진 군에서 선택되는 하나 이상을 포함하는 것을 의미한다.Throughout this specification, the term " combination thereof " included in the expression of the machine form means one or more combinations or combinations selected from the group consisting of the constituents described in the expression of the machine form, And the like.

실제 영상과 그것의 깊이 정보 맵을 부호화하는 방법의 일예로, 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 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, the Moving Picture Experts Group (MPEG) and the Video Coding Experts Group (VCEG) having the highest coding efficiency among the video coding standards developed so far jointly standardize Encoding can be performed using HEVC (High Efficiency Video Coding).

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

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

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

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

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

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

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

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

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

도 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 pixels for prediction modes 2 to 34 having directionality among 34 prediction methods.

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

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

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

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

예를 들어, DCT-based 필터링 계수는 다음의 수학식 1과 같은 type-2 DCT를 이용하여 나타낼 수 있다.For example, the DCT-based filtering coefficients can be represented 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, the DCT is first performed and a coefficient f (x) according to each position is generated through the inverse transformation of the DCT. 4, f (0) = Q, f (1) = A, f (2) = B, f (3) = C, N = 4.

Figure pat00001
Figure pat00001

N: sample(샘플)의 수 (만약 N=4 인 경우 4-point Inverse DCT f(x)가 됨)N: number of samples (if N = 4 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(보간) 값을 생성할 수 있다.In the case of N = 4 (i.e., 4-point DCT and IDCT are used), x = 1 + 1/2 (= N / 2 + 1/2) in the case of the 30th prediction mode in FIG. 4, An 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(보간) 값을 생성할 수 있다.In the case of the 29th prediction mode in FIG. 4, x = 1 + 13/32 (= N / 2 + 13/32) You can create interpolation values for 32 sample positions.

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

한편, 상기 DTC 기반 interpolation시 사용되는 필터 Tap의 수는 4개 뿐 아니라 다양한 개수로 설정될 수도 있으며, 상기 Tap의 수는 복호화기로 Signaling 되거나, 혹은 주변의 정보(예를 들어, 에지정보 또는 모드정보 등)을 통해서 결정 될 수 있다.Meanwhile, the number of filter tapes used in the DTC-based interpolation may be set to four as well as various numbers, and the number of Tap may be signaled to a decoder or may include 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) 이용 가능한 방법을 모두 포함한다.Although the present invention uses type-2 DCT and inverse DCT (IDCT), it is possible to use other types of DCT and IDCT as well as various types of Discrete Sine Transform (DST) and IDST pairs. Method.

도 5는 34가지 예측 방향에 관한 예측 모드에 대해서 k를 예측하는 3가지 방향 모드의 예측 화소 생성의 예를 나타낸다.Fig. 5 shows an example of prediction pixel generation in three directional modes for predicting k for the prediction modes related to 34 prediction directions.

도 5를 참조하면, 특정 인트라 예측 모드에 대응되는 방향에 적용되는 값이 정확한 방향에 값이 존재하지 않는 경우는 양 옆의 두 픽셀의 값을 이용해 선형 필터링 방법을 통해 예측 화소를 생성할 수 있다.5, when a value applied to a direction corresponding to a particular intra prediction mode does not exist in a correct direction, a predictive 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, the 28th mode of k performs the prediction for the 28th mode through calculation of the weight according to the distance between the pixels of C and D. In the case of the 19th mode, the prediction pixels of k are determined by applying Q and A in the same manner and M and N in the case of the 8th mode.

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

도 6은 4-Tap DCT-IF 필터링을 이용하여 예측 화소를 생성하는 방법에 대한 일예를 도시한 것이다.FIG. 6 shows an example of a method of generating a predictive 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, a 4-tap DCT-IF filter is used to predict the mode prediction of the i-th direction and the 32-directional mode prediction using Q, A, B, Mode predictive pixel of C, D, M, N, and O, and generates a 32-mode predictive pixel between C and D using four pixels of L, M, N and O. Here, DCT-IF filter.

여기서 Tap의 수는 4개 뿐만 아니라 N-Tap의 크기로 변환이 가능하며 이는 복호화기로 Signaling을 하거나, 혹은 주변의 정보를(에지정보, 모드정보 등)을 통해서 Tap의 크기가 결정 될 수 있다.Here, the number of Tap can be converted into the size of N-Tap as well as four, and it can be determined by signaling with a decoder or the size of Tap through 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 intraprediction using a filter having a different number of taps in the horizontal direction and the vertical direction, in which the horizontal direction is 8-Tap and the vertical direction is 4-Tap DCT-IF filtering To generate a predictive pixel.

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

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

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

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

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

Figure pat00002
Figure pat00002

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

Figure pat00003
Figure pat00003

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

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

성능 향상을 가져오는 필터링 방법을 통해 각 예측에 사용되는 신호를 여러 개의 주변의 복원 신호를 이용한 필터링을 통해 주변의 영상의 변화를 고려하는 잔차 신호를 생성함으로써 압축률을 더 높인 동영상 부호화/복호화 방법 및 장치이다.A moving picture encoding / decoding method in which a compression ratio is increased by generating a residual signal considering a change in a surrounding image through filtering using a signal used for each prediction, Device.

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

또한, 본 예에서는 type-2 DCT, Inverse DCT (IDCT)를 이용하였지만, 다른 type의 DCT, IDCT도 이용이 가능하고, 각종 다른 type의 DST (Discrete Sine Transform), IDST 쌍을 (pairs) 사용해도 성능향상을 가져 올 수 있다.In this example, type-2 DCT and IDCT are used, but other types of DCT and IDCT can be used. Also, when using different types of DST (Discrete Sine Transform) and IDST pairs, Performance can be improved.

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

반대로, 에지가 없는 경우(예를 들어, 값의 변화가 적은 경우)는 주변의 화소의 영향을 많이 가져 올 수 있도록 많은 필터링 Tap 수를 사용하는 것이 효과적일 수 있으며, 이는 상단과 좌측에 화소 값의 예측에 모두 동일하게 적용될 수 있다.Conversely, it may be effective to use a large number of filtering taps to have a large effect on the surrounding pixels if there is no edge (e.g., a small change in value) Can be applied equally to all of the predictions.

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

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

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

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

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

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

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

Figure pat00004
Figure pat00004

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

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

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

Figure pat00005
Figure pat00005

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

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

Figure pat00006
Figure pat00006

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

Figure pat00007
Figure pat00007

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

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

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

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

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

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

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

예를 들어, 도 7에 도시된 바와 같이, 수평 방향에 대해서는 4-tap의 필터를 이용한 보간이 수행되고, 수직 방향에 대해서는 8-tap 필터를 이용한 보간이 수행될 수 있다.For example, as shown 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 from the encoder to the decoder in order to decode them, or may include all the methods that can be distinguished without signaling using certain characteristics.

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

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

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

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

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

도 12는 다양한 방법의 Interpolation이 적용 가능한 예를 나타낸 것으로, 4배 Interpolation의 적용인 경우 가능한 다양한 Interpolation 방법을 설명하기 위해 도시한 것이다.FIG. 12 illustrates an example in which various interpolation methods are applicable. In FIG. 12, various interpolation methods are illustrated to illustrate the four possible interpolation methods.

도 12를 참조하면. 총 Step 4를 거치면서 4개의 Interpolation방법이 Horizontal, Vertical 방향으로 모두 적용 될 수 있다.Referring to FIG. Through the total step 4, four interpolation methods can be applied to both the horizontal and vertical directions.

이와 같이, 본 발명은 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 technique but also N interpolation methods can be adaptively changed according to the enhancement of characteristics and performance of an image with N-Tap number, This is a method that includes both possible methods and methods that can be decoded through signaling in some cases.

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

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

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

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

본 발명의 또 다른 실시예에 따르면, Interpolation을 수행할 때 영상 내의 특정 영역의 변화 혹은 화소 변화 등을 통해 영역별로 Interpolation에 사용하는 필터링 tap수를 달리함으로써 성능 향상을 가져올 수 있으며, tap 수를 선택함에 있어서는 Signaling을 통해 복호화에 전달하거나 혹은 주변 정보를 활용하여 복호화를 함에 있어서 tap 개수를 예측해 낼 수 있다.According to another embodiment of the present invention, when interpolation is performed, performance can be improved by changing the number of filtering tap used for interpolation for each region through a change of a specific region or a pixel change in an image, In this case, the number of taps can be predicted in decryption 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 varied according to the change of the pixel value in the area or block unit, thereby improving the performance of the entire coding / decoding.

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

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

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

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

Tap의 수를 결정짓는 것에는 객체의 검출, 혹은 블록(영역)단위의 화소의 변화 및 인접 블록(영역)의 변화를 통해, 도 10에 도시된 과 같이 한 Frame 내에 다양한 tap수로 interpolation을 하는 방법이다.The determination of the number of Tap is performed by detecting an object or interpolating the number of taps in one frame as shown in FIG. 10 through a change of a pixel in a block (area) unit and a change of an adjacent block (area) to be.

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

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

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

여기서, Vertical, Horizontal의 tap과 영역에 관한 tap은 Signaling을 하여 복호화를 하는 방법과 Signaling을 하지 않고도 복호화가 가능한 방법을 모두 포함하는 방법이다.Here, the tap for Vertical and Horizontal tap and the area is a method including both decryption by signaling and decryption without signaling.

예를 들어, 한 프레임 내에서 영역을 분할하여 에지가 많이 분포한 경우는 에지를 보존하기 위해 적은 필터링 Tap 수를 결정하여 사용하고, 에지가 많이 없는 영역은 필터링 Tap 수를 많이 사용하는 것이 효과적일 수 있다.For example, if the area is divided by one frame and there are many edges, it is necessary to determine the number of filtering tapes in order to preserve the edges. .

상세히 설명하면, 도 13에서 8-Tap interpolation을 사용하는 영역은 에지가 적은 영역으로 많은 필터링 Tap 수를 사용하여 interpolation을 하고, 4-Tap인 경우는 에지가 많이 분포한 영역으로 에지를 보존하기 위해서 적은 필터링 Tap 개수를 사용하여 전체 영상을 Interpolation 할 수 잇다.In detail, in FIG. 13, an area using 8-tap interpolation is interpolated using a large number of filtering tapes with a small number of edges. In the case of 4-Tap, You can interpolate the whole image using fewer filtering tap counts.

또한, 도 14에서는 도 13과 같이 분할된 영상을 구체적으로 에지의 방향에 따라 Tap수를 달리하는 방법으로, 각 영역의 Vertical과 Horizontal의 필터링 Tap 수를 달리하는 방법이다.In addition, FIG. 14 shows a method of varying the number of tapes according to the direction of the edge, and dividing the number of tapes of Vertical and Horizontal in each region by the method of FIG.

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

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

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

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

도 15를 참조하면, 영상 부호화 장치는 부호화 모드 결정부(110), 인트라 예측부(120), 움직임 보상부(130), 움직임 추정부(131), 변환부호화/양자화부(140), 엔트로피 부호화부(150), 역양자화/변환복호화부(160), 디블록킹 필터링부(170), 픽쳐 저장부(180), 감산부(190) 및 가산부(200)를 포함한다.15, an image 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 transcoding / quantization unit 140, A dequantization / conversion decoding unit 160, a deblocking filtering unit 170, a picture storage unit 180, a subtracting unit 190, and an adding unit 200. The dequantization /

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

픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수개의 최대 부호화 단위(Largest coding unit: LCU)로 구성된다. 상기 LCU는 복수개의 부호화 단위(CU)로 분할될 수 있고, 부호기는 분할여부를 나타내는 정보(flag)를 비트스트림에 추가할 수 있다. 복호기는 LCU의 위치를 어드레스(LcuAddr)를 이용하여 인식할 수 있다. 분할이 허용되지 않는 경우의 부호화 단위(CU)는 예측 단위(Prediction unit: PU)로 간주되고, 복호기는 PU의 위치를 PU 인덱스를 이용하여 인식할 수 있다.The picture is composed of a plurality of slices, and the slice is composed of a plurality of maximum coding units (LCU). The LCU can be divided into a plurality of coding units (CUs), and the encoder can add information indicating whether or not to be divided to a bit stream. The decoder can recognize the position of the LCU by using the address (LcuAddr). The coding unit CU in the case where division is not allowed 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 may be divided into a plurality of partitions. Also, the prediction unit PU may be composed of a plurality of conversion units (TUs).

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

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

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

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

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

디블록킹 필터링부(170)는 역양자화/변환부호화부(160)로부터 역양자화 및 역변환된 영상 데이터를 입력 받아 블록킹(blocking) 효과를 제거하기 위한 필터링을 수행한다.The deblocking filtering unit 170 receives the inverse quantized and inverse transformed image data from the inverse quantization / inverse transform coding unit 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 restores the image in picture units. The picture may be a frame-based image or a field-based image. The picture storage unit 180 has 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 referred to as reference pictures.

움직임 추정부(131)는 상기 픽쳐 저장부(180)에 저장된 적어도 하나의 참조 픽쳐를 제공받아 움직임 추정을 수행하여 움직임 벡터, 참조 픽쳐를 나타내는 인덱스 및 블록 모드를 포함한 모션 데이터(Motion Data)를 출력한다.The motion estimation unit 131 receives the at least one reference picture stored in the picture storage unit 180 and performs motion estimation to output motion data including an index indicating a motion vector and 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 a fractional pixel precision, for example, 1/2 or 1/4 pixel accuracy. Since the motion vector can have a fractional pixel precision, the motion compensation unit 130 applies the interpolation filter for calculating the pixel value of the fractional pixel position to the reference picture so that the pixel value of the fractional pixel position .

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

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

필터의 사이즈는, 예를 들면, 적응적 보간 필터의 필터 계수의 수인 탭 수 등이다.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 may determine either a separate type or a non-separable type adaptive filter as an adaptive interpolation filter. Then, the number of taps of the determined adaptive interpolation filter and the value of each filter coefficient are determined. The value of the filter coefficient can be determined differently for each position of the fractional pixel relative to the integer pixel. Also, the motion compensation unit 130 may use a plurality of non-adaptive interpolation filters with fixed filter coefficients.

움직임 보상부(130)는, 보간 필터의 특성을 소정의 처리 단위로 설정할 수 있다. 예를 들면, 소수 화소 단위, 부호화 기본 단위(부호화 유닛), 슬라이스 단위, 픽쳐 단위, 또는, 시퀀스 단위로 설정할 수 있다. 또한, 1개의 영상 데이터에 대해서, 1개의 특성을 설정해도 된다.The motion compensation unit 130 can set the characteristics of the interpolation filter in a predetermined processing unit. For example, it can be set in a fractional pixel unit, a coding basic unit (encoding 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픽쳐마다 필터 특성을 결정하고, 슬라이스 단위로 필터 계수를 결정할 수 있다.Therefore, since the same filter characteristic is used in a predetermined processing unit, the motion compensation unit 130 has a memory that temporarily holds the filter characteristic. This memory maintains filter characteristics, filter coefficients, and the like as needed. For example, the motion compensation unit 130 can determine the filter characteristic for each I picture and determine the filter coefficient for each slice.

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

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

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

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

현재 픽처에 포함된 영역 중에서 이전에 부호화된 영역은 인트라 예측부(120)가 이용할 수 있도록 다시 복호화되어 픽쳐 저장부(180) 에 저장되어 있다. 인트라 예측부(120)는 픽쳐 저장부(180)에 저장되어 있는 현재 픽처의 이전에 부호화된 영역에서 현재 블록에 인접한 화소 또는 인접하지 않지만 적용 가능한 화소들을 이용하여 현재 블록의 예측 블록을 생성한다.The previously encoded region of the current picture is decoded again for use by the intra prediction unit 120 and stored in the picture storage unit 180. [ The intra prediction unit 120 generates a prediction block of a current block using pixels neighboring the current block or non-adjacent but applicable pixels in the previously coded area 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, it is possible to transmit information indicating whether or not filtering is performed in the encoder. Or the intra-prediction mode of the current block and the size information of the current block.

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

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

엔트로피 부호화부(150)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수와 움직임 추정부(131)에 의해 생성된 움직임 정보를 엔트로피 부호화한다. 또한, 인트라 예측 모드, 제어 데이터(예를 들면, 양자화 스텝 사이즈 등) 등도 부호화될 수 있다. 또한, 움직임 보상부(130)에 의해 결정된 필터 계수도 부호화되어 비트 스트림으로서 출력한다.The entropy encoding unit 150 entropy-codes the quantization coefficients quantized by the transcoding / quantization unit 140 and the motion information generated by the motion estimation unit 131. [ Also, an intra prediction mode, control data (e.g., quantization step size, etc.), and the like can be coded. Also, the filter coefficient determined by the motion compensation unit 130 is 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, and for example, the inverse of the encoding process as described with reference to FIG. So that the image can be decoded.

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

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

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It should be understood that various modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.

Claims (11)

인트라 예측을 수행하는 방법에 있어서,
예측하고자 하는 영상을 복수의 영역들로 분할하여, 상기 복수의 영역들 각각에 적용되는 필터링 탭 수(N)를 결정하는 단계;
인트라 예측 방향에 따라 인접한 두 참소 화소들을 포함하는 N개의 참조 화소들을 이용해 상기 분할된 영역별로 보간을 수행하여 예측 화소를 생성하는 단계; 및
상기 생성된 예측 화소를 이용하여 잔차 신호를 생성하는 단계를 포함하는 인트라 예측 방법.
A method for performing intra prediction,
Dividing an image to be predicted into a plurality of regions and determining a number N of filtering taps applied to each of the plurality of regions;
Generating prediction pixels by performing interpolation for each of the divided regions using N reference pixels including two adjacent pixels according to an intra prediction direction; And
And generating a residual signal using the generated predictive pixel.
제1항에 있어서, 상기 필터링 탭 수(N)는
상기 영상 내 객체의 위치, 특정 영역의 화소 값 변화 및 주변 영역의 화소 값 변화 중 적어도 하나에 따라 결정되는 인트라 예측 방법.
2. The filter according to claim 1, wherein the filtering tap number (N)
Wherein the intra prediction method is determined according to at least one of a position of an object in the image, a pixel value change in a specific area, and a pixel value change in a surrounding area.
제2항에 있어서,
상기 객체의 위치에 대응되는 제1 영역과 나머지 제2 영역에 대해 서로 다른 필터링 탭수가 적용되는 인트라 예측 방법.
3. The method of claim 2,
Wherein a different filtering tap number is applied to the first area corresponding to the position of the object and the remaining second area.
제1항에 있어서,
상기 분할된 복수의 영역들 중 어느 하나에 대하여, 수직 방향과 수평 방향에 각각 서로 다른 필터링 탭 수가 적용되는 인트라 예측 방법.
The method according to claim 1,
Wherein different filtering tap numbers are applied to any one of the plurality of divided regions in the vertical direction and the horizontal direction.
제1항에 있어서,
상기 필터링의 종류 및 탭 수 중 적어도 하나는 부호화 장치로부터 복호화 장치로 전달되는 인트라 예측 방법.
The method according to claim 1,
Wherein at least one of the type of filtering and the number of taps is transmitted from an encoding device to a decoding device.
제1항에 있어서,
상기 인접한 두 화소들 사이에 에지가 존재하는 경우, 상기 필터링의 탭 수는 상기 인접한 두 화소들 사이에 에지가 존재하는 경우보다 작게 결정되는 인트라 예측 방법.
The method according to claim 1,
Wherein the number of taps of the filtering is determined to be smaller than the case where edges exist between the adjacent two pixels when an edge exists between the adjacent two pixels.
제1항에 있어서,
에지가 수직 방향보다 수평 방향으로 더 많이 존재하는 경우, 수평 방향의 필터링 탭 수가 수직 방향의 필터링 탭 수보다 크게 결정되는 인트라 예측 방법.
The method according to claim 1,
The number of filtering taps in the horizontal direction is determined to be larger than the number of filtering taps in the vertical direction when edges are present in a horizontal direction more than the vertical direction.
인트라 예측을 수행하는 장치에 있어서,
예측하고자 하는 영상을 복수의 영역들로 분할하여, 상기 복수의 영역들 각각에 적용되는 필터링 탭 수(N)를 결정하는 탭 수 결정부;
인트라 예측 방향에 따라 인접한 두 참소 화소들을 포함하는 N개의 참조 화소들을 이용해 상기 분할된 영역별로 보간을 수행하여 예측 화소를 생성하는 예측 화소 생성부; 및
상기 생성된 예측 화소를 이용하여 잔차 신호를 생성하는 잔차 신호 생성부를 포함하는 인트라 예측 장치.
An apparatus for performing intra prediction, the apparatus comprising:
A tap number determination unit for dividing an image to be predicted into a plurality of regions and determining a number of filtering taps N to be applied to each of the plurality of regions;
A prediction pixel generation unit for generating prediction pixels by performing interpolation for each of the divided regions using N reference pixels including two adjacent pixel candidates according to an intra prediction direction; And
And a residual signal generator for generating a residual signal using the generated predictive pixel.
제8항에 있어서, 상기 필터링 탭 수(N)는
상기 영상 내 객체의 위치, 특정 영역의 화소 값 변화 및 주변 영역의 화소 값 변화 중 적어도 하나에 따라 결정되는 인트라 예측 장치.
9. The method of claim 8, wherein the filtering tap number (N)
Wherein the intra prediction is determined according to at least one of a position of an object in the image, a pixel value change in the specific area, and a pixel value change in the surrounding area.
제9항에 있어서,
상기 객체의 위치에 대응되는 제1 영역과 나머지 제2 영역에 대해 서로 다른 필터링 탭수가 적용되는 인트라 예측 장치.
10. The method of claim 9,
Wherein different filtering tap numbers are applied to the first area corresponding to the position of the object and the remaining second area.
제8항에 있어서,
상기 분할된 복수의 영역들 중 어느 하나에 대하여, 수직 방향과 수평 방향에 각각 서로 다른 필터링 탭 수가 적용되는 인트라 예측 장치.
9. The method of claim 8,
Wherein a different filtering tap number is applied to any one of the divided regions in the vertical direction and the horizontal direction.
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 true KR20140129425A (en) 2014-11-07
KR102217225B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019022537A1 (en) * 2017-07-26 2019-01-31 엘지전자 주식회사 Intra-prediction mode-based image processing method, and apparatus therefor
US11368682B2 (en) 2016-04-26 2022-06-21 Intellectual Discovery Co., Ltd. Method and device for encoding/decoding image

Citations (2)

* 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
US20130101032A1 (en) * 2010-04-26 2013-04-25 Panasonic Corporation Filtering mode for intra prediction inferred from statistics of surrounding blocks

Patent Citations (2)

* 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
KR20120140181A (en) * 2011-06-20 2012-12-28 한국전자통신연구원 Method and apparatus for encoding and decoding using filtering for prediction block boundary

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11368682B2 (en) 2016-04-26 2022-06-21 Intellectual Discovery Co., Ltd. Method and device for encoding/decoding image
US11882275B2 (en) 2016-04-26 2024-01-23 Intellectual Discovery Co., Ltd. Method and device for encoding/decoding image
WO2019022537A1 (en) * 2017-07-26 2019-01-31 엘지전자 주식회사 Intra-prediction mode-based image processing method, and apparatus therefor

Also Published As

Publication number Publication date
KR102217225B1 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
US11889107B2 (en) Image encoding method and image decoding method
US10491892B2 (en) Method and apparatus for processing a video signal
US20050013500A1 (en) Intelligent differential quantization of video coding
US10602155B2 (en) Intra prediction method and apparatus
KR20140129423A (en) Method for intra-prediction, and apparatus thereof
KR20110017302A (en) Method and apparatus for encoding/decoding image by using motion vector accuracy control
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
KR20230110695A (en) Method for intra-prediction, and apparatus thereof
KR101377529B1 (en) Video Coding and Decoding Method and Apparatus Using Adaptive Motion Vector Coding/Encoding
KR20140124442A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
KR20140129417A (en) Method for encoding and decoding image using a plurality of transforms, and apparatus thereof
KR102217225B1 (en) Method for intra-prediction, and apparatus thereof
WO2014084674A2 (en) Intra prediction method and intra prediction apparatus using residual transform
KR20150105348A (en) Method and apparatus for encoding/decoding images using transform
KR20140129421A (en) Method for intra-prediction, and apparatus thereof
KR102189259B1 (en) Method for intra-prediction, and apparatus thereof
KR20140129424A (en) Method for intra-prediction, and apparatus thereof
KR20140129418A (en) Method for intra-prediction using residual transform, and apparatus thereof
KR20140124447A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
KR20140129419A (en) Method for intra-prediction using residual transform, and apparatus thereof
KR20140129416A (en) Method for encoding and decoding image using transform, and apparatus thereof
KR20140129411A (en) Method for encoding and decoding image using transform, and apparatus thereof
KR20140129414A (en) Method for encoding and decoding image using transform, and apparatus thereof
KR20140129409A (en) Method for encoding and decoding image using transform, 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)