KR101557374B1 - Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same - Google Patents

Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same Download PDF

Info

Publication number
KR101557374B1
KR101557374B1 KR1020130081459A KR20130081459A KR101557374B1 KR 101557374 B1 KR101557374 B1 KR 101557374B1 KR 1020130081459 A KR1020130081459 A KR 1020130081459A KR 20130081459 A KR20130081459 A KR 20130081459A KR 101557374 B1 KR101557374 B1 KR 101557374B1
Authority
KR
South Korea
Prior art keywords
pixel
current block
weighted
pixel value
pixels
Prior art date
Application number
KR1020130081459A
Other languages
Korean (ko)
Other versions
KR20130091295A (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 KR1020130081459A priority Critical patent/KR101557374B1/en
Publication of KR20130091295A publication Critical patent/KR20130091295A/en
Application granted granted Critical
Publication of KR101557374B1 publication Critical patent/KR101557374B1/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters

Abstract

본 발명은 인트라 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명은 인트라 예측 장치에 있어서, 주변 블록에 포함되는 하나 이상의 인접 화소의 화소값을 현재 블록의 각 화소와 하나 이상의 인접 화소와의 거리에 따라 가중 평균하여 현재 블록의 각 화소의 화소값을 예측하는 것을 특징으로 하는 인트라 예측 장치를 제공한다.
본 발명에 의하면, 부호화하고자 하는 현재 블록을 더욱 정확하게 예측함으로써, 실제 블록과 예측된 블록 간의 차이를 줄여 부호화의 효율을 높일 수 있으며, 그를 통해 압축 효율을 향상시킬 수 있다.
The present invention relates to an intra prediction method and apparatus, and a method and apparatus for image coding / decoding using the same.
The present invention relates to an intra prediction apparatus for predicting a pixel value of each pixel of a current block by weighting a pixel value of one or more adjacent pixels included in a neighboring block in accordance with a distance between each pixel of the current block and one or more adjacent pixels, And an intraprediction unit.
According to the present invention, the current block to be encoded can be more accurately predicted, thereby reducing the difference between the actual block and the predicted block, thereby improving the coding efficiency and improving the compression efficiency.

Description

인트라 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치{Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same}[0001] The present invention relates to an intra prediction method and apparatus, and an image encoding / decoding method and apparatus using the intra prediction method and apparatus.

본 발명은 인트라 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 영상의 현재 블록을 주변 블록으로부터 예측하고 부호화하고 복호화하는 데 있어서, 실제의 현재 블록과 예측된 현재 블록 간의 차이를 최소화하는 인트라 예측 방법 및 장치와 그를 이용한 영상의 부호화/복호화 방법 및 장치에 관한 것이다.The present invention relates to an intra prediction method and apparatus, and a method and apparatus for image coding / decoding using the same. More particularly, the present invention relates to an intra prediction method and apparatus for predicting, coding, and decoding a current block of an image from neighboring blocks, which minimizes a difference between an actual current block and a predicted current block, and an image encoding / And apparatus.

MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced video Coding)이라 하며, MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동으로 발표되었다. 이러한 H.264/AVC(이하 'H.264'라 약칭함)에서는 MPEG-1, MPEG-2, MPEG-4 Part2 Visual 등 기존의 동영상 부호화와 관련된 국제 표준과는 다른 방법인 공간 예측 부호화(Spatial Predictive Coding) 방법을 사용한다.Moving Picture Experts Group (MPEG) and Video Coding Experts Group (VCEG) have developed superior video compression techniques superior to the existing MPEG-4 Part 2 and H.263 standards. This new standard is called H.264 / AVC (Advanced Video Coding) and is jointly announced as MPEG-4 Part 10 AVC and ITU-T Recommendation H.264. In this H.264 / AVC (abbreviated as 'H.264'), a spatial prediction coding method which is different from the international standard related to the conventional video coding such as MPEG-1, MPEG-2 and MPEG- Predictive Coding) method.

기존의 동영상 부호화 방법에서는 이산 코사인 변환 영역(DCT Domain: Discrete Cosine Transform Domain)에서 변환된 계수(Coefficient)값에 대한 "인트라 예측(Intra Prediction)"을 사용함으로써 부호화 효율 증대를 추구하며, 그로 인해 저역 전송 비트율 대의 주관적 화질을 열화시키는 결과를 초래하였다. 하지만, H.264에서는 변환 영역(Transform Domain)이 아닌 공간 영역(Spatial Domain)에서의 공간적 인트라 예측(Spatial Intra Prediction)을 기반으로 하는 부호화 방법을 채택하고 있다.In the conventional moving image encoding method, "intra prediction" is used for the coefficient value transformed in the discrete cosine transform domain (DCT domain), thereby seeking to increase the coding efficiency. As a result, Resulting in deterioration in the subjective image quality of the transmission bit rate band. However, H.264 adopts a coding method based on Spatial Intra Prediction in a Spatial Domain instead of a Transform Domain.

기존의 공간적 인트라 예측을 기반으로 하는 부호화 방법을 사용하는 부호화기(Encoder)는 이미 부호화가 완료되어 재생된 이전 블록의 정보로부터 현재 부호화하고자 하는 블록 정보를 예측하고 부호화하고자 하는 실제 블록 정보의 차이(Difference) 정보만을 부호화해서 복호화기(Decoder)로 전송한다. 이때, 블록 정보를 예측하는 데 필요한 파라미터를 복호화기로 전송하거나, 부호화기와 복호화기를 동기화시켜 예측에 필요한 파라미터를 공유하도록 함으로써 복호화기가 블록 정보를 예측하도록 할 수도 있다. 복호화기는 이미 복호화가 완료되어 재생된 주변 블록의 정보를 예측하고, 부호화기로부터 전송된 오차 정보와 예측된 주변 블록의 정보의 합을 구하여 원하는 현재 복호화하고자 하는 블록의 정보를 생성하여 재생한다. 이때도 역시 부호화기로부터 예측에 필요한 파라미터가 전송되었다면, 복호화기는 해당 파라미터를 이용하여 주변 블록의 정보를 예측하는데 이용한다.An encoder using a coding method based on the existing spatial intraprediction predicts block information to be currently encoded from the information of a previous block that has been already encoded and reproduced and calculates a difference ) Information and transmits it to a decoder. At this time, parameters necessary for predicting the block information may be transmitted to the decoder, or the encoder and the decoder may be synchronized to share parameters required for prediction, so that the decoder may predict the block information. The decoder predicts the information of the neighboring block that has already been decoded and reproduced, obtains the sum of the error information transmitted from the encoder and the information of the predicted neighboring block, and generates and reproduces information of a desired current block to be decoded. In this case, if parameters necessary for prediction are also transmitted from the encoder, the decoder uses the parameter to predict information of neighboring blocks.

한편, 인트라 예측에는 인트라 4×4 예측, 인트라 16×16 예측 및 인트라 8×8 예측 등이 있는데, 각 인트라 예측에는 복수 개의 예측 모드를 포함하고 있다.Intra prediction includes intra 4x4 prediction, intra 16x16 prediction, and intra 8x8 prediction, and each intra prediction includes a plurality of prediction modes.

도 1은 통상적인 9 가지의 4×4 인트라 예측 모드를 나타내는 예시도이다.1 is an exemplary diagram showing nine conventional 4x4 intra prediction modes.

도 1을 참조하면, 인트라 4×4 예측에는, 수직(Vertical) 모드, 수평(Horizontal) 모드, DC(Direct Current) 모드, 대각선 왼쪽(Diagonal down-left) 모드, 대각선 오른쪽(Diagonal down-right), 수직 오른쪽(Vertical-right) 모드, 수평 아래쪽(Horizontal-down) 모드, 수직 왼쪽(Vertical-left) 및 수평 위쪽(Horizontal-up) 모드를 포함하는 9 가지의 예측 모드가 있다.1, intra 4x4 prediction includes a vertical mode, a horizontal mode, a DC (direct current) mode, a diagonal down-left mode, a diagonal down-right mode, There are nine prediction modes including a vertical-right mode, a horizontal-down mode, a vertical-left and a horizontal-up mode.

도 2는 통상적인 4 가지 16×16 인트라 예측 모드를 나타내는 예시도이다.FIG. 2 is an exemplary diagram showing a conventional four 16 × 16 intra prediction modes.

도 2를 참조하면, 인트라 16×16 예측에는, 수직(Vertical) 모드, 수평(Horizontal) 모드, DC 모드 및 플래인(Plane) 모드를 포함하는 4 가지의 예측 모드가 있다. 인트라 8×8 예측도 인트라 16×16 예측과 유사하게 4 가지의 예측 모드가 있다. Referring to FIG. 2, intra-16 × 16 prediction has four prediction modes including a vertical mode, a horizontal mode, a DC mode, and a plane mode. Intra 8x8 prediction There are four prediction modes similar to intra 16x16 prediction.

예측 모드로서 DC 모드를 활용하는 인트라 예측(이하에서는 'DC 모드 예측'이라 약칭함)에서는 블록 단위의 평균값으로 예측이 된다. 여기서, 평균값이란 부호화하고자 하는 현재 블록의 좌측 블록의 4 화소(인트라 4×4 예측인 경우) 또는 16 화소(인트라 16×16 예측인 경우)와 상단 블록의 4 화소(인트라 4×4 예측인 경우) 또는 16 화소(인트라 16×16 예측인 경우)에 대한 총 8 화소(인트라 4×4 예측인 경우) 또는 32 화소(인트라 16×16 예측인 경우)의 평균값을 말한다. 따라서, DC 모드를 예측 모드로서 활용하여 인트라 예측을 하는 경우, 현재 블록의 주변 블록의 평균값을 구해 부호화하고자 하는 현재 블록의 4×4 화소 또는 16×16 화소 모두를 예측한다.In the intra prediction using the DC mode as the prediction mode (hereinafter referred to as " DC mode prediction "), prediction is made with an average value in block units. Here, the average value is the average value of four pixels (intra 4x4 prediction) or 16 pixels (intra 16x16 prediction) and four pixels (intra 4x4 prediction) of the left block of the current block to be coded Refers to an average value of a total of 8 pixels (for intra 4x4 prediction) or 32 pixels (for intra 16x16 prediction) for 16 pixels (for intra 16x16 prediction). Therefore, when intraprediction is performed using the DC mode as a prediction mode, an average value of neighboring blocks of the current block is sought to predict both 4x4 pixels or 16x16 pixels of the current block to be coded.

따라서, 인트라 4×4 예측, 인트라 16×16 예측 등의 종류에 관계없이, DC 모드 예측을 위한 예측값(Prediction Value 또는 Predictor)은 현재 블록의 16 화소(인트라 4×4 예측인 경우) 또는 256 화소(인트라 16×16 예측인 경우)에 대하여 모두 같은 값을 갖는다. 이는 현재 블록에 대한 예측의 정확성을 저하시켜 부호화 효율 또는 압축 효율을 저하하는 문제점을 발생시킨다.Therefore, regardless of the types of intra 4x4 prediction and intra 16x16 prediction, a predictive value (Prediction Value or Predictor) for DC mode prediction is 16 pixels (in case of intra 4x4 prediction) or 256 pixels (In case of intra 16x16 prediction). This lowers the accuracy of the prediction of the current block, thereby causing a problem of lowering the coding efficiency or the compression efficiency.

또한, 예측의 정확성이 떨어진다면 실제 블록과 예측된 블록 간의 차분 값은 커지게 되는데, 전술한 바와 같은 DC 모드 예측은 오차 정보를 증가시켜 부호화 효율을 저하하는 문제점이 있다.Also, if the accuracy of the prediction deteriorates, the difference value between the actual block and the predicted block becomes large. However, the DC mode prediction as described above has a problem of increasing the error information and decreasing the coding efficiency.

전술한 문제점을 해결하기 위해 본 발명은, 영상의 현재 블록을 예측하는 인트라 예측을 수행하는 데 있어서 실제 블록과 예측된 블록 간의 차이를 줄일 수 있도록 하여 영상의 압축 효율을 향상시키는 데 주된 목적이 있다.In order to solve the above-described problems, the present invention has a main purpose of improving the compression efficiency of an image by reducing the difference between an actual block and a predicted block in performing intra prediction for predicting a current block of an image .

전술한 목적을 달성하기 위해 본 발명은, 인트라 예측 장치에 있어서, 주변 블록에 포함되는 하나 이상의 인접 화소 각각의 화소값에 가중치를 부가하여 가중 화소값을 계산하는 가중 화소값 계산부; 및 하나 이상의 인접 화소의 가중 화소값을 이용하여 현재 블록의 각 화소의 예측 화소값을 계산하는 예측 화소값 계산부를 포함하는 것을 특징으로 하는 인트라 예측 장치를 제공한다.According to an aspect of the present invention, there is provided an intraprediction apparatus comprising: a weighted pixel value calculation unit for calculating a weighted pixel value by adding a weight to pixel values of one or more adjacent pixels included in a neighboring block; And a predictive pixel value calculation unit for calculating a predictive pixel value of each pixel of the current block using the weighted pixel values of one or more adjacent pixels.

또한, 본 발명의 다른 목적에 의하면, 인트라 예측 방법에 있어서, (a) 주변 블록에 포함되는 하나 이상의 인접 화소 각각의 화소값에 가중치를 부가하여 가중 화소값을 계산하는 단계; 및 (b) 하나 이상의 인접 화소의 가중 화소값을 이용하여 현재 블록의 각 화소의 예측 화소값을 계산하는 단계를 포함하는 것을 특징으로 하는 인트라 예측 방법을 제공한다.According to another aspect of the present invention, there is provided an intraprediction method comprising the steps of: (a) calculating a weighted pixel value by adding a weight to pixel values of one or more adjacent pixels included in a neighboring block; And (b) calculating a predicted pixel value of each pixel of the current block using the weighted pixel values of one or more adjacent pixels.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 주변 블록의 하나 이상의 인접 화소의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측하는 인트라 예측부; 현재 블록의 각 화소의 원 화소값과 현재 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차신호를 생성하는 감산부; 잔차신호를 주파수 영역으로 변환하는 변환부; 변환된 잔차신호를 양자화하는 양자화부; 및 양자화된 잔차신호를 비트스트림으로 부호화하는 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to still another aspect of the present invention, there is provided an apparatus for encoding an image, the apparatus comprising: prediction means for calculating a predicted pixel value of each pixel of a current block by adding a weight to pixel values of one or more adjacent pixels of a neighboring block, An intra predictor; A subtractor for generating a residual signal by calculating a difference value between an original pixel value of each pixel of the current block and a predicted pixel value of each pixel of the current block; A converter for converting the residual signal into a frequency domain; A quantization unit for quantizing the transformed residual signal; And a coding unit for coding the quantized residual signal into a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, (a) 주변 블록의 하나 이상의 인접 화소의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측하는 단계; (b) 현재 블록의 각 화소의 원 화소값과 현재 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차신호를 생성하는 단계; (c) 잔차신호를 주파수 영역으로 변환하는 단계; (d) 변환된 잔차신호를 양자화하는 단계; 및 (e) 양자화된 잔차신호를 비트스트림으로 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another aspect of the present invention, there is provided a method of encoding an image, comprising: (a) adding a weight to a pixel value of one or more adjacent pixels of a neighboring block to calculate a predicted pixel value of each pixel of the current block, Predicting a block; (b) generating a residual signal by calculating a difference value between an original pixel value of each pixel of the current block and a predicted pixel value of each pixel of the current block; (c) converting the residual signal into a frequency domain; (d) quantizing the transformed residual signal; And (e) encoding the quantized residual signal into a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 잔차신호를 추출하는 복호화부; 추출된 잔차신호를 역 양자화하는 역 양자화부; 역 양자화된 잔차신호를 시간 영역으로 역 변환하는 역 변환부; 주변 블록의 하나 이상의 인접 화소의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측하는 인트라 예측부; 및 역 변환된 잔차신호와 현재 블록의 각 화소의 예측 화소값을 더한 값을 계산하여 현재 블록의 원 화소값을 복원하는 가산부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to another aspect of the present invention, there is provided an apparatus for decoding an image, comprising: a decoding unit decoding a bitstream to extract a residual signal; A dequantizer for dequantizing the extracted residual signal; An inverse transform unit for inversely transforming the inversely quantized residual signal into a time domain; An intra predictor for predicting a current block by adding weight values to pixel values of one or more adjacent pixels of a neighboring block to calculate a predicted pixel value of each pixel of the current block; And an adder for calculating a sum of the inverse transformed residual signal and the predicted pixel value of each pixel of the current block and restoring the original pixel value of the current block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, (a) 비트스트림을 복호화하여 잔차신호를 추출하는 단계; (b) 추출된 잔차신호를 역 양자화하는 단계; (c) 역 양자화된 잔차신호를 시간 영역으로 역 변환하는 단계; (d) 주변 블록의 하나 이상의 인접 화소의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측하는 단계; 및 (e) 역 변환된 잔차신호와 현재 블록의 각 화소의 예측 화소값을 더한 값을 계산하여 현재 블록의 원 화소값을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to another aspect of the present invention, there is provided a method of decoding an image, the method comprising: (a) decoding a bitstream to extract a residual signal; (b) dequantizing the extracted residual signal; (c) inversely transforming the dequantized residual signal into a time domain; (d) predicting a current block by adding a weight to pixel values of one or more adjacent pixels of a neighboring block to calculate a predicted pixel value of each pixel of the current block; And (e) reconstructing the original pixel value of the current block by calculating a value obtained by adding the inverse transformed residual signal to the predicted pixel value of each pixel of the current block.

또한, 본 발명의 또 다른 목적에 의하면, 인트라 예측 장치에 있어서, 주변 블록에 포함되는 하나 이상의 인접 화소의 화소값을 현재 블록의 각 화소와 하나 이상의 인접 화소와의 거리에 따라 가중 평균하여 현재 블록의 각 화소의 화소값을 예측하는 것을 특징으로 하는 인트라 예측 장치를 제공한다.According to still another aspect of the present invention, in an intraprediction apparatus, a pixel value of one or more adjacent pixels included in a neighboring block is weighted averaged according to a distance between each pixel of the current block and one or more adjacent pixels, And the pixel value of each pixel of the intra prediction unit is predicted.

이상에서 설명한 바와 같이 본 발명에 의하면, 부호화하고자 하는 현재 블록을 더욱 정확하게 예측함으로써, 실제 블록과 예측된 블록 간의 차이를 줄여 부호화의 효율을 높일 수 있으며, 그를 통해 압축 효율을 향상시킬 수 있다.As described above, according to the present invention, the current block to be encoded can be more accurately predicted, thereby reducing the difference between the actual block and the predicted block, thereby improving the coding efficiency and improving the compression efficiency.

도 1은 통상적인 9 가지의 4×4 인트라 예측 모드를 나타내는 예시도,
도 2는 통상적인 4 가지 16×16 인트라 예측 모드를 나타내는 예시도,
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,
도 4는 본 발명의 일 실시예에 따른 인트라 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,
도 5는 본 발명의 일 실시예에 따른 인트라 예측 방법을 설명하기 위한 순서도,
도 6은 본 발명의 일 실시예에 따라 현재 블록의 각 화소에 대한 인접 화소의 가중 화소값을 계산하는 과정을 설명하기 위한 순서도,
도 7은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,
도 9는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 10은 본 발명의 일 실시예에 따라 거리에 따른 가중치를 이용하여 현재 블록을 예측하는 과정을 설명하기 위한 예시도이다.
1 is an exemplary diagram showing nine conventional 4x4 intra prediction modes,
2 is an exemplary diagram showing a conventional four 16 × 16 intra prediction modes,
3 is a block diagram schematically illustrating an electronic configuration of an image encoding apparatus according to an embodiment of the present invention.
4 is a block diagram schematically illustrating an electronic configuration of an intra prediction apparatus according to an embodiment of the present invention;
5 is a flowchart illustrating an intra prediction method according to an embodiment of the present invention.
6 is a flowchart illustrating a process of calculating a weighted pixel value of an adjacent pixel for each pixel of a current block according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a method of encoding an image according to an embodiment of the present invention. FIG.
8 is a block diagram schematically illustrating an electronic configuration of an image decoding apparatus according to an embodiment of the present invention.
FIG. 9 is a flowchart illustrating a video decoding method according to an embodiment of the present invention. FIG.
10 is an exemplary diagram for explaining a process of predicting a current block using a weight according to distance according to an embodiment of the present invention.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to designate the same or similar components throughout the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.3 is a block diagram schematically illustrating an electronic configuration of an image encoding apparatus according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 영상 부호화 장치(300)는 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하고 영상을 부호화하는 장치로서, 도시한 바와 같이, 인트라 예측부(310), 감산부(320), 변환부(330), 양자화부(340) 및 부호화부(350)를 포함하여 구성될 수 있다.The image encoding apparatus 300 according to an exemplary embodiment of the present invention predicts a current block of an image using one or more neighboring blocks around the current block and encodes the image, A quantization unit 310, a subtraction unit 320, a transform unit 330, a quantization unit 340, and an encoding unit 350.

이러한 영상 부호화 장치(300)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image encoding apparatus 300 may be a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a PlayStation Portable ), A mobile communication terminal, and the like, and may be a communication device such as a communication modem for performing communication with various devices or wired / wireless communication networks, a memory for storing various programs for encoding an image and data, a program And a microprocessor for calculating and controlling the microprocessor.

인트라 예측부(310)는 현재 블록을 영상 내에서 현재 블록의 주변 블록을 이용하여 예측하는데, 하나 이상의 주변 블록의 하나 이상의 화소값(Pixel Value)에 가중치(Weight Value)를 부가하여 현재 블록의 각 화소의 예측 화소값(Predicted Pixel Value)을 계산함으로써 현재 블록을 예측한다. 여기서, 주변 블록은 전술한 바와 같이, 현재 블록 이전에 압축되고 현재 블록의 주변에 위치한 하나 이상의 주변 블록일 수 있는데, 특히 현재 블록의 좌측 블록 및 현재 블록의 상단 블록 중 하나 이상일 수 있다.The intra predictor 310 predicts a current block in an image using a neighboring block of the current block, adds a weight value to one or more pixel values of one or more neighboring blocks, The current block is predicted by calculating a predicted pixel value of the pixel. Here, the neighboring block may be one or more neighboring blocks that are compressed before the current block and located in the periphery of the current block, as described above, and may be at least one of the left block of the current block and the upper block of the current block.

또한, 인트라 예측부(310)는 부호화하고자 하는 현재 블록의 주변에 있는 하나 이상의 주변 블록의 하나 이상의 인접 화소의 화소값의 평균값을 현재 블록의 화소값으로 예측하는 인트라 예측 모드인 DC(Direct Current) 모드를 이용하여 인트라 예측을 수행할 때에만 전술한 바와 같이 가중치를 부여하여 현재 블록을 예측할 수 있다. 또한, 가중치는 현재 블록의 각 화소의 위치와 하나 이상의 주변 블록의 하나 이상의 인접 화소 각각의 위치 간의 거리에 따라 다르게 부가될 수 있다.In addition, the intra prediction unit 310 may include a direct current (DC) mode, which is an intra prediction mode for predicting an average value of pixel values of one or more neighboring pixels of one or more neighboring blocks neighboring the current block to be encoded, Mode, it is possible to predict a current block only by performing weighting as described above when intra prediction is performed. In addition, the weight may be added differently depending on the distance between the position of each pixel of the current block and the position of each of one or more adjacent pixels of one or more neighboring blocks.

즉, 인트라 예측부(310)는 현재 블록의 주변 블록에 포함된 화소들 중 현재 블록과 인접한 화소들의 화소값을 평균하여 현재 블록의 각 화소를 예측하는 인트라 예측 모드인 DC 모드를 이용하여 현재 블록을 예측할 때에는, 인접 화소들의 화소값을 단순히 평균하여 그 평균값을 현재 블록의 모든 화소의 화소값으로 예측하는 것이 아니라, 현재 블록의 각 화소와 인접 화소들 간의 거리에 따라 가중치를 다르게 설정하여 인접 화소들의 화소값에 부가함으로써 인접 화소들의 가중 화소값(Weighted Pixel Value)을 계산하고 가중 화소값을 평균하여 현재 블록의 모든 화소의 화소값을 예측한다. 여기서, "인접 화소"란, 주변 블록에 포함되되 현재 블록과 인접해 있는 화소일 수 있지만, 주변 블록에 포함되되 현재 블록과 인접하지 않은 화소도 될 수 있다. 인트라 예측부(310)에 대해서는 후술하는 과정에서 도 4를 통해 상세히 설명한다. That is, the intra predictor 310 averages the pixel values of the pixels adjacent to the current block among the pixels included in the neighboring blocks of the current block, and uses the DC mode, which is an intra prediction mode in which each pixel of the current block is predicted, The pixel value of the adjacent pixels is simply averaged and the average value thereof is not predicted as the pixel value of all the pixels of the current block but the weights are set differently according to the distance between each pixel of the current block and the adjacent pixels, The weighted pixel values of adjacent pixels are calculated and the weighted pixel values are averaged to predict the pixel values of all the pixels of the current block. Here, the "adjacent pixel" may be a pixel included in the neighboring block but adjacent to the current block, but may be a pixel included in the neighboring block but not adjacent to the current block. The intra prediction unit 310 will be described in detail with reference to FIG. 4 in the following description.

감산부(320)는 현재 블록의 각 화소의 원 화소값(Original Pixel Value)과 현재 블록의 각 화소의 예측 화소값(Predicted Pixel Value)의 차이값을 계산하여 잔차신호(Residual Signal)를 생성한다.The subtraction unit 320 generates a residual signal by calculating the difference between the original pixel value of each pixel of the current block and the predicted pixel value of each pixel of the current block .

변환부(330)는 감산부(320)에 의해 생성된 잔차신호를 주파수 영역으로 변환한다. 여기서, 변환부(330)는 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT 변환'이라 칭함) 또는 웨이블릿 변환(Wavelet Transform) 등의 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차신호를 주파수 영역으로 변환할 수 있다.The transforming unit 330 transforms the residual signal generated by the subtracting unit 320 into a frequency domain. Here, the transforming unit 330 may use various transformation techniques for transforming image signals on a time axis, such as a discrete cosine transform (DCT) or a wavelet transform, to a frequency axis So that the residual signal can be converted into the frequency domain.

양자화부(340)는 변환부에 의해 주파수 영역으로 변환된 잔차신호를 양자화(Quantization)한다. 부호화부(350)는 양자화부(340)에 의해 양자화된 잔차신호를 비트스트림으로 부호화한다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다.The quantization unit 340 quantizes the residual signal transformed into the frequency domain by the transform unit. The encoding unit 350 encodes the residual signal quantized by the quantization unit 340 into a bitstream. As such an encoding technique, entropy encoding technology may be used, but various other encoding techniques may be used without being limited thereto.

도 4는 본 발명의 일 실시예에 따른 인트라 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.4 is a block diagram schematically showing an electronic configuration of an intra prediction apparatus according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 인트라 예측 장치(400)는 도 3을 통해 전술한 영상 부호화 장치에서는 인트라 예측부(310)로 구현될 수 있다. 이하에서는 설명의 편의를 위해, 본 발명의 일 실시예에 따른 인트라 예측 장치를 '인트라 예측부(310)'라 약칭한다.The intraprediction apparatus 400 according to an embodiment of the present invention may be implemented as an intra predictor 310 in the image encoding apparatus described above with reference to FIG. Hereinafter, for the convenience of explanation, the intra prediction apparatus according to an embodiment of the present invention is abbreviated as an 'intra prediction unit 310'.

본 발명의 일 실시예에 따른 인트라 예측부(310)는 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하는 인트라 예측 장치로서, 하나 이상의 주변 블록에 포함되는 하나 이상의 인접 화소의 화소값을 현재 블록의 각 화소와 하나 이상의 인접 화소와의 거리에 따라 가중 평균하여 현재 블록의 각 화소의 화소값을 예측한다.The intra prediction unit 310 according to an embodiment of the present invention predicts a current block of an image using one or more neighboring blocks around the current block, The pixel value of each pixel of the current block is predicted by weighted averaging the pixel value of the pixel according to the distance between each pixel of the current block and one or more adjacent pixels.

또한, 인트라 예측부(310)는 가중 화소값 계산부(410) 및 예측 화소값 계산부(420)를 포함하여 구성될 수 있으며, 하나 이상의 주변 블록의 하나 이상의 화소값(Pixel Value)에 가중치(Weight Value)를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측한다.The intraprediction unit 310 may include a weighted pixel value calculation unit 410 and a predicted pixel value calculation unit 420. The intraprediction unit 310 may include weighted values of one or more pixel values of one or more neighboring blocks Weight value) to predict the current block by calculating the predicted pixel value of each pixel of the current block.

가중 화소값 계산부(410)는 부호화하고자 하는 현재 블록의 주변에 있는 하나 이상의 주변 블록에 포함되는(특히, 현재 블록과 인접하는) 하나 이상의 인접 화소 각각의 화소값에 가중치를 부가하여 하나 이상의 인접 화소의 가중 화소값을 계산한다.The weighted pixel value calculation unit 410 adds weight values to pixel values of one or more neighboring pixels included in one or more neighboring blocks adjacent to the current block to be encoded (in particular, adjacent to the current block) And calculates the weighted pixel value of the pixel.

여기서, 가중 화소값 계산부(410)는 현재 블록의 각 화소의 위치와 하나 이상의 인접 화소 각각의 위치 간의 거리를 계산하여 거리에 따라 가중치를 다르게 부가할 수 있으며, 이와 같이 거리에 따라 다르게 부가되는 가중치에 따라 인접 화소의 가중 화소값을 계산할 수 있다. 또한, 가중 화소값 계산부(410)는 전술한 가중치를 인접 화소의 화소값에 부가하는 데 있어서, 계산된 거리에 반비례하도록 부가할 수 있다.Here, the weighted pixel value calculation unit 410 can calculate the distance between the position of each pixel of the current block and the position of each of the one or more adjacent pixels, and add the weight according to the distance. Thus, The weighted pixel value of the adjacent pixel can be calculated according to the weighted value. In addition, the weighted pixel value calculation unit 410 may add the weighted value to the pixel value of the adjacent pixel so as to be in inverse proportion to the calculated distance.

즉, 가중 화소값 계산부(410)는 현재 블록의 현재 화소와 주변 블록의 인접 화소와의 거리가 가까우면 현재 화소와 인접 화소 간의 유사성이 높을 수 있으므로 큰 가중치를 인접 화소의 화소값에 부가하며, 현재 블록의 현재 화소와 주변 블록의 인접 화소와의 거리가 멀면 현재 화소와 인접 화소 간의 유사성이 낮을 수 있으므로 작은 가중치를 인접 화소의 화소값에 부가할 수 있다. 이와 같이, 인접 화소의 화소값에 현재 화소와 인접 화소와의 거리에 반비례하는 가중치를 부가함으로써 예측 모드로서 DC 모드를 활용하는 인트라 예측(이하 'DC 모드 예측'이라 약칭함)에서 화소 간의 유사성을 반영하여 현재 블록과 예측 블록 간의 차이를 더욱 줄일 수 있다.That is, if the current pixel of the current block is close to the adjacent pixel of the neighboring block, the weighted pixel value calculation unit 410 may add a large weight to the pixel value of the adjacent pixel , If the distance between the current pixel of the current block and the adjacent pixel of the neighboring block is large, the similarity between the current pixel and the neighboring pixel may be low, so that a small weight can be added to the pixel value of the adjacent pixel. In this manner, similarity between pixels in intra prediction (hereinafter referred to as " DC mode prediction ") utilizing a DC mode as a prediction mode by adding a weight in inverse proportion to the distance between the current pixel and the adjacent pixel to the pixel value of the adjacent pixel The difference between the current block and the prediction block can be further reduced.

예측 화소값 계산부(420)는 가중 화소값 계산부(410)에 의해 계산된 하나 이상의 인접 화소에 대한 가중 화소값을 이용하여 현재 블록의 각 화소의 예측 화소값을 계산한다. 여기서, 예측 화소값 계산부(420)는 현재 블록의 각 화소에 대해 하나 이상의 인접 화소의 가중 화소값을 평균함으로써 현재 블록의 각 화소의 예측 화소값을 계산할 수 있다.The predictive pixel value calculation unit 420 calculates a predictive pixel value of each pixel of the current block using the weighted pixel values of one or more adjacent pixels calculated by the weighted pixel value calculation unit 410. [ Here, the predictive pixel value calculation unit 420 may calculate the predictive pixel value of each pixel of the current block by averaging the weighted pixel values of one or more adjacent pixels with respect to each pixel of the current block.

도 5는 본 발명의 일 실시예에 따른 인트라 예측 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating an intra prediction method according to an embodiment of the present invention.

영상 부호화 장치(300)는 영상을 부호화할 때, 부호화된 데이터의 양을 줄여 부호화 효율을 높이기 위해 부호화하고자 하는 현재 블록의 원 화소값과 이전에 부호화된 주변 블록에 의해 예측된 현재 블록의 예측 화소값의 차이(즉, 잔차 신호)를 부호화한다.When coding an image, the image coding apparatus 300 reduces the amount of coded data to increase the coding efficiency. The image coding apparatus 300 calculates a difference between an original pixel value of a current block to be coded and a prediction pixel of a current block predicted by a previously- (I.e., a residual signal).

이를 위해, 인트라 예측부(310)는 전술한 바와 같이, 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하는데, 부호화할 대상인 현재 블록의 각 화소에 대해 인접 화소의 가중 화소값을 계산한다(S510). 즉, 인트라 예측부(310)는 하나 이상의 주변 블록에 포함되는(특히, 현재 블록과 인접하는) 하나 이상의 인접 화소 각각의 화소값에 가중치를 부가하여 하나 이상의 인접 화소의 가중 화소값을 계산한다.For this purpose, as described above, the intra predictor 310 predicts the current block of the image using one or more neighboring blocks around the current block. For each pixel of the current block to be encoded, The pixel value is calculated (S510). That is, the intra predictor 310 calculates a weighted pixel value of one or more adjacent pixels by adding a weight to pixel values of one or more adjacent pixels included in one or more neighboring blocks (particularly, adjacent to the current block).

또한, 인접 화소의 가중 화소값이 계산되면, 인트라 예측부(310)는 인접 화소의 가중 화소값을 이용하여 현재 블록의 각 화소의 예측 화소값을 계산한다(S520). 여기서, 인트라 예측부(310)는 현재 블록의 각 화소에 대해 하나 이상의 인접 화소의 가중 화소값을 평균함으로써 현재 블록의 각 화소의 예측 화소값을 계산할 수 있다.When the weighted pixel value of the adjacent pixel is calculated, the intra predictor 310 calculates the predicted pixel value of each pixel of the current block using the weighted pixel value of the adjacent pixel (S520). Here, the intra predictor 310 may calculate the predicted pixel value of each pixel of the current block by averaging the weighted pixel values of one or more adjacent pixels with respect to each pixel of the current block.

한편, 인트라 예측부(310)는 단계 S510에서, 현재 블록의 각 화소에 대한 인접 화소의 가중 화소값을 계산할 때, 각 화소의 위치와 인접 화소의 위치와의 거리에 따라 가중치를 다르게 부가할 수 있다.Meanwhile, when calculating the weighted pixel values of the adjacent pixels for each pixel of the current block in step S510, the intraprediction unit 310 may add weights according to distances between the positions of the pixels and the positions of the adjacent pixels have.

도 6은 본 발명의 일 실시예에 따라 현재 블록의 각 화소에 대한 인접 화소의 가중 화소값을 계산하는 과정을 설명하기 위한 순서도이다.6 is a flowchart illustrating a process of calculating a weighted pixel value of an adjacent pixel for each pixel of a current block according to an exemplary embodiment of the present invention.

인트라 예측부(310)는 영상에서 부호화하고자 하는 블록 즉, 현재 블록이 정해지면, 영상 중에서 주변 블록에 포함되는 화소들 중에서 현재 블록과 인접하는 하나 이상의 인접 화소를 선택한다(S610). 여기서, 선택되는 인접 화소는 현재 블록의 좌측 블록의 모든 인접 화소 중 하나 또는 그 이상의 화소들이거나 현재 블록의 상단 블록의 모든 인접 화소 중 하나 또는 그 이상의 화소들일 수 있으며, 좌측 블록과 상단 블록의 모든 인접 화소들일 수도 있지만, 반드시 이에 한정하지 않고 현재 블록의 주변 블록(우측블록과 하단 블록을 포함할 수 있음)에 있는 모든 화소들일 수 있다.The intra predictor 310 selects one or more adjacent pixels adjacent to the current block among the pixels included in the neighboring block in the image if the current block is determined to be coded in the image (S610). Here, the selected neighboring pixel may be one or more of all the neighboring pixels of the left block of the current block, or one or more of all the neighboring pixels of the upper block of the current block, and all of the left block and the upper block But may be all pixels in a neighboring block (which may include a right block and a lower block) of the current block without being necessarily limited thereto.

하나 이상의 인접 화소를 선택한 인트라 예측부(310)는 현재 블록의 각 화소의 위치와 하나 이상의 인접 화소 각각의 위치 간의 거리를 계산한다(S620). 이와 같이, 현재 블록의 각 화소와 하나 이상의 인접 화소 각각과의 거리가 계산되면, 인트라 예측부(310)는 가중치를 단계 S620에서 계산된 거리에 따라 다르게 설정하여 하나 이상의 인접 화소의 화소값에 부가하고 하나 이상의 인접 화소의 가중 화소값을 계산한다(S630).In step S620, the intra predictor 310 selects one or more neighboring pixels and calculates a distance between each pixel of the current block and a corresponding one of the adjacent pixels. When the distance between each pixel of the current block and each of the one or more adjacent pixels is calculated as described above, the intra predictor 310 sets the weight according to the distance calculated in step S620, And calculates weighted pixel values of one or more adjacent pixels (S630).

즉, 인트라 예측부(310)는 단계 S610에서와 같이, 주변 블록의 인접 화소들이 선택되면, 현재 블록의 모든 화소 중에 특정 화소를 선택하여 선택된 하나 이상의 인접 화소 각각과의 거리를 계산한다. 인트라 예측부(310)는 이와 같이 계산된 특정 화소에 대한 인접 화소 각각과의 거리에 따라 가중치를 다르게 설정하여 각 인접 화소의 화소값에 부가하는데, 거리가 멀면 작은 가중치를 부가하고 거리가 가까우면 큰 가중치를 부가하여 특정 화소와 인접 화소 간의 유사성을 고려한다. 이와 같이, 거리에 따라 다르게 부가된 가중치를 반영하여 인접 화소의 가중 화소값을 계산한다. 인트라 예측부(310)는 전술한 바와 같은 현재 블록의 특정 화소에 대해 인접 화소의 가중 화소값을 계산하는 작업을 모든 화소에 대해 수행한다.That is, as in step S610, when the adjacent pixels of the neighboring block are selected, the intra-prediction unit 310 calculates a distance to each of the selected one or more adjacent pixels by selecting a specific pixel among all the pixels of the current block. The intraprediction unit 310 sets different weights according to the distances to the adjacent pixels for the specific pixels calculated as described above, and adds them to the pixel values of the adjacent pixels. When the distance is long, a small weight is added, A similarity between a specific pixel and an adjacent pixel is considered by adding a large weight. Thus, the weighted pixel value of the adjacent pixel is calculated by reflecting the weight value added differently depending on the distance. The intra predictor 310 performs an operation for calculating a weighted pixel value of an adjacent pixel with respect to a specific pixel of the current block as described above for all the pixels.

현재 블록의 모든 화소에 대해 각 화소의 위치와 인접 화소의 위치와의 거리에 따라 다른 가중치를 인접 화소의 화소값에 부가하여 가중 화소값을 계산한 후, 인트라 예측부(310)는 현재 블록의 특정 화소에 대해 인접 화소의 가중 화소값을 평균함으로써 특정 화소에 대한 예측 화소값을 계산하며, 이와 같은 과정을 현재 블록의 모든 화소에 대해 수행하여 현재 블록의 모든 화소에 대한 예측 화소값을 계산한다.The intra predictor 310 calculates a weighted pixel value by adding different weights to the pixel values of the adjacent pixels according to the distance between the position of each pixel and the position of the adjacent pixel with respect to all the pixels of the current block, A predicted pixel value for a specific pixel is calculated by averaging the weighted pixel values of the adjacent pixels with respect to a specific pixel, and the process is performed on all pixels of the current block to calculate a predicted pixel value for all pixels of the current block .

도 7은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.

도 3을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(300)는 도 4 내지 도 6을 통해 전술한 인트라 예측 장치 즉, 인트라 예측부(310)와 인트라 예측 방법을 이용하여 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하고 영상을 부호화한다.Referring to FIG. 3, the image encoding apparatus 300 according to an embodiment of the present invention may include an intra prediction unit 310, which is described above with reference to FIGS. 4 through 6, and an intra prediction unit 310, The current block is predicted using one or more neighboring blocks around the current block and the image is encoded.

즉, 영상 부호화 장치(300)는 하나 이상의 주변 블록의 인접 화소의 하나 이상의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측하고(S710), 현재 블록의 각 화소의 원 화소값과 현재 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차신호를 생성하며(S720), 생성된 잔차신호를 DCT 변환 또는 웨이블릿 변환 등을 이용하여 주파수 영역으로 변환한 후(S730), 주파수 영역으로 변환된 잔차신호를 양자화하여(S740), 양자화된 잔차신호를 비트스트림으로 부호화한다(S740).That is, the image encoding apparatus 300 predicts a current block by adding a weight to one or more pixel values of adjacent pixels of one or more neighboring blocks to calculate a predicted pixel value of each pixel of the current block (S710) A residual signal is generated by calculating a difference value between the original pixel value of each pixel and the predicted pixel value of each pixel of the current block (S720), and the generated residual signal is converted into a frequency domain using DCT or wavelet transform (S730), quantizes the residual signal transformed into the frequency domain (S740), and encodes the quantized residual signal into a bitstream (S740).

전술한 바와 같이, 영상 부호화 장치(300)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.As described above, the image encoded with the bit stream by the image encoding apparatus 300 can be transmitted in real time or in non-real time through a wired / wireless communication network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, And transmitted to a video decoding device through a communication interface such as a serial bus (USB: Universal Serial Bus), decoded by the video decoding device, and restored and reproduced as an image.

도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.FIG. 8 is a block diagram schematically illustrating an electronic configuration of an image decoding apparatus according to an embodiment of the present invention. Referring to FIG.

본 발명의 일 실시예에 따른 영상 복호화 장치(800)는 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하고 영상을 복호화(Decoding)하는 장치로서, 복호화부(810), 역 양자화부(820), 역 변환부(830), 가산부(840) 및 인트라 예측부(850)를 포함하여 구성된다.The image decoding apparatus 800 according to an embodiment of the present invention predicts a current block of an image using one or more neighboring blocks around the current block and decodes the image, An inverse quantization unit 820, an inverse transform unit 830, an adder 840, and an intra prediction unit 850.

이러한 영상 복호화 장치(800)는 도 3을 통해 전술한 영상 부호화 장치(300)와 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image decoding apparatus 800 may be implemented by a computer such as a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player A portable communication terminal, a PMP (Portable Multimedia Player), a PlayStation Portable (PSP), a mobile communication terminal, and the like. The communication device such as a communication modem for performing communication with various devices or wired / wireless communication networks, A memory for storing various programs and data for performing the functions, a microprocessor for executing and controlling the programs, and the like.

복호화부(810)는 비트스트림을 복호화하여 잔차신호를 추출한다. 즉, 복호화부(810)는 영상 부호화 장치(300)에 의해 부호화된 영상인 비트스트림을 복호화하여 영상의 현재 블록에 대한 화소 정보를 포함하고 있는 잔차신호를 추출한다.The decoding unit 810 decodes the bit stream to extract a residual signal. That is, the decoding unit 810 decodes a bitstream, which is an image encoded by the image encoding apparatus 300, and extracts a residual signal including pixel information of a current block of the image.

역 양자화부(820)는 복호화부(810)에 의해 비트스트림으로부터 추출된 잔차신호를 역 양자화(De-quantization)한다. 역 변환부(830)는 역 양자화부(820)에 의해 역 양자화된 잔차신호를 시간 영역으로 역 변환(Inverse Trasformation)한다.The inverse quantization unit 820 dequantizes the residual signal extracted from the bit stream by the decoding unit 810. The inverse transform unit 830 inverse transforms the residual signal inversely quantized by the inverse quantization unit 820 into a time domain.

가산부(830)는 역 변환부(820)에 의해 역 변환된 잔차신호와 인트라 예측부(850)에 의해 예측된 현재 블록의 각 화소의 예측 화소값을 더하여 현재 블록의 원 화소값을 복원한다.The adder 830 restores the original pixel value of the current block by adding the residual signal inversely transformed by the inverse transform unit 820 and the predicted pixel value of each pixel of the current block predicted by the intra predictor 850 .

인트라 예측부(850)는 이전에 복호화되어 복원된 영상의 여러 블록 중에 현재 블록의 주변에 있는 하나 이상의 주변 블록의 하나 이상의 인접 화소의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측한다.The intraprediction unit 850 adds a weight to pixel values of one or more neighboring pixels of one or more neighboring blocks neighboring the current block among a plurality of blocks of the previously decoded and reconstructed image, To predict the current block.

여기서, 가중치는 현재 블록의 각 화소의 위치와 하나 이상의 주변 블록의 하나 이상의 인접 화소 각각의 위치 간의 거리에 따라 다르게 부가될 수 있다. 또한, 인트라 예측부(850)는 DC 모드 예측을 수행할 때에만 전술한 바와 같이 가중치를 부여하여 현재 블록의 각 화소의 예측 화소값을 계산할 수 있다.Here, the weight may be added differently depending on the distance between the position of each pixel of the current block and the position of each of one or more adjacent pixels of one or more neighboring blocks. In addition, the intra-prediction unit 850 can calculate a predicted pixel value of each pixel of the current block by assigning weights only when DC mode prediction is performed, as described above.

이뿐만 아니라, 본 발명의 일 실시예에 따른 영상 복호화 장치(800)의 인트라 예측부(800)는 도 3을 통해 전술한 영상 부호화 장치(300)의 인트라 예측부(310)와 동일 또는 유사하게 주변 블록을 이용하여 현재 블록을 예측할 수 있다. 따라서, 중복 설명을 피하기 위해 이에 대한 상세한 설명은 생략한다.In addition, the intraprediction unit 800 of the video decoding apparatus 800 according to an embodiment of the present invention may have the same or similar function as the intraprediction unit 310 of the video encoding apparatus 300 described above with reference to FIG. 3 The current block can be predicted using neighboring blocks. Therefore, a detailed description thereof will be omitted in order to avoid redundant description.

도 9는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

유무선 통신망 또는 케이블 등을 통해 영상에 대한 비트스트림을 수신하여 저장한 영상 복호화 장치(800)는 사용자의 선택 또는 실행 중인 다른 프로그램의 알고리즘에 따라 영상을 재생하기 위해, 영상의 현재 블록을 현재 블록의 주변에 있는 하나 이상의 주변 블록을 이용하여 예측하고 영상을 복호화하여 복원한다.The video decoding apparatus 800 receives and stores a bitstream for an image through a wired / wireless communication network or a cable. The video decoding apparatus 800 decodes the current block of the current block to reproduce the video according to an algorithm of another program, Prediction is performed using one or more surrounding blocks in the vicinity, and the image is decoded and restored.

이를 위해, 영상 복호화 장치(800)는 비트스트림을 복호화하여 영상의 현재 블록의 화소값에 대한 정보를 나타내는 잔차 신호를 추출한다(S910). 잔차 신호가 추출되면 영상 복호화 장치(800)는 추출된 잔차신호를 역 양자화하고(S920), 역 양자화된 잔차신호를 시간 영역으로 역 변환하며(S930), 시간 영역으로 역 변환된 잔차신호가 나타내는 현재 블록 주위에 있는 하나 이상의 주변 블록의 하나 이상의 화소값에 가중치를 부가하여 현재 블록의 각 화소의 예측 화소값을 계산함으로써 현재 블록을 예측하고(S940), 단계 S930에서 역 변환된 현재 블록의 잔차신호와 단계 S940에서 예측된 현재 블록의 각 화소의 예측 화소값을 더하여 현재 블록의 원 화소값을 복원한다(S950).To this end, the image decoding apparatus 800 decodes the bit stream and extracts a residual signal indicating information on a pixel value of a current block of the image (S910). When the residual signal is extracted, the image decoding apparatus 800 dequantizes the extracted residual signal (S920), inversely transforms the inversely quantized residual signal into a time domain (S930), and outputs the inverse transformed residual signal to the time domain The current block is predicted by calculating a predictive pixel value of each pixel of the current block by adding a weight to one or more pixel values of one or more neighboring blocks around the current block (S940), and the residual of the current block inversely transformed in step S930 And the predicted pixel value of each pixel of the current block predicted in step S940 is added to restore the original pixel value of the current block (S950).

도 10은 본 발명의 일 실시예에 따라 거리에 따른 가중치를 이용하여 현재 블록을 예측하는 과정을 설명하기 위한 예시도이다.10 is an exemplary diagram for explaining a process of predicting a current block using a weight according to distance according to an embodiment of the present invention.

통상적으로 인트라 예측을 수행할 때에는 "복수 개의 인트라 예측 모드"를 이용하여 인트라 예측을 수행하는데, "복수 개의 인트라 예측 모드" 중 DC 모드에서는 이미 부호화된 주변 블록의 화소(특히, 좌측 블록의 화소와 상단 블록의 화소일 수 있음)들의 평균값을 이용하여 현재 블록의 모든 화소의 화소값을 예측하고 그를 통해 현재 블록을 예측한다.In intra-prediction, intra-prediction is performed using a plurality of intra-prediction modes. In the DC mode among the plurality of intra-prediction modes, pixels of neighboring blocks already coded (Which may be the pixels of the upper block), and predicts the current block through the prediction of the pixel values of all the pixels of the current block.

도 10에서는 비디오 압축 기술의 표준 중 하나인 H.264의 인트라 4×4 모드 예측에서 사용되는 화소들을 나타내었다. 소문자 a 내지 p까지의 16 개의 화소들은 부호화할 현재 블록의 화소들이고, 대문자 A 내지 M까지의 13 개의 화소들은 이전에 압축된 주변 블록의 화소들(즉, 인접 화소들)이다.FIG. 10 shows pixels used in the intra 4x4 mode prediction of H.264, which is one of standards of video compression techniques. The sixteen pixels from the lower case letters a to p are the pixels of the current block to be encoded and the 13 pixels from the uppercase letters A to M are pixels of the previously compressed neighboring block (i.e., adjacent pixels).

도 1을 통해 전술한 통상적인 인트라 4×4 모드 예측을 위한 9 개의 인트라 예측 모드를 이용하여 도 10에 도시한 현재 블록에 대한 인트라 예측을 수행하면, 이미 압축된 주변 블록의 인접 화소 A 내지 M의 화소값을 이용하여 9 개 방향으로 예측하고, 율-왜곡 최적화 방식(RDO: Rate-Distortion Optimization)을 이용하여 9 개의 인트라 예측 모드 중에서 최적 예측 모드를 결정한다.10, intraprediction of the current block shown in FIG. 10 is performed using nine intra prediction modes for intra 4x4 mode prediction described above with reference to FIG. 1, and neighboring pixels A through M Prediction mode is determined from 9 intra-prediction modes using Rate-Distortion Optimization (RDO).

도 1에 도시된 2 번의 인트라 예측 모드인 DC 모드를 이용하여 도 10에 도시한 현재 블록의 화소들의 화소값을 예측할 때, 통상적인 예측 방법의 경우에는 a 내지 p에 이르는 16 개의 화소가 모두 같은 값으로 예측된다. 예를 들어, 첫 번째 행에서 첫 번째 열의 화소인 a 화소의 예측 화소값은 수학식 1과 같이 계산되며, a 화소뿐만 아니라 나머지 b 화소 내지 p 화소도 a 화소와 같이 계산된다. 즉, 현재 블록 내의 화소는 화소의 위치에 관계없이 모두 같은 화소값을 같도록 예측된다.When predicting the pixel values of the pixels of the current block shown in FIG. 10 using the DC mode, which is the intra-prediction mode of 2 times shown in FIG. 1, in the case of the conventional prediction method, all 16 pixels ranging from a to p are the same Lt; / RTI > For example, the predicted pixel value of a pixel which is the pixel of the first column in the first row is calculated as shown in Equation (1), and not only the a pixel but also the remaining b pixel to p pixel are calculated as a pixel. That is, the pixels in the current block are predicted to have the same pixel values regardless of the positions of the pixels.

Figure 112013062394361-pat00001
Figure 112013062394361-pat00001

이와 같이 통상적인 DC 모드를 이용한 현재 블록의 화소값 예측 방법은 현재 블록 내의 화소의 위치가 인접 화소들(A 내지 L)의 위치와 관계없이 모두 같은 화소값으로 예측되기 때문에, 현재 블록 내에서 화소의 위치에 따른 정확한 화소값의 예측이 불가능하다.As described above, in the method of predicting the pixel value of the current block using the normal DC mode, since the positions of the pixels in the current block are predicted to be the same pixel values regardless of the positions of the adjacent pixels (A to L) It is impossible to predict an accurate pixel value according to the position of the pixel.

즉, 부호화하고자 하는 현재 블록의 실제의 화소는 모두 같은 화소값을 가질 수도 있지만 화소의 위치에 따라 다른 화소값을 가질 수 있으며, 현재 블록의 화소의 위치가 인접 화소와 가까울수록 인접 화소의 화소값과 유사할 가능성이 크고 현재 블록의 화소의 위치가 인접 화소와 멀수록 인접 화소의 화소값과 유사할 가능성이 작다. 즉, 현재 블록의 화소의 화소값은 화소의 위치가 인접 화소의 위치와 가까울수록 인접 화소의 화소값과 유사할 가능성이 크다. 하지만, 전술한 바와 같은 통상적인 DC 모드를 이용한 현재 블록의 화소값 예측 방법은 이러한 현재 블록의 화소의 위치와 인접 화소의 위치 간의 관계를 무시하여 모든 화소가 인접 화소의 화소값의 평균값을 갖도록 예측된다.That is, although the actual pixels of the current block to be encoded may all have the same pixel value, they may have different pixel values depending on the positions of the pixels. As the positions of the pixels of the current block are closer to the adjacent pixels, And the position of the pixel of the current block is far from the adjacent pixel, the likelihood of being similar to the pixel value of the adjacent pixel is small. That is, the pixel value of the current block pixel is likely to be similar to the pixel value of the adjacent pixel as the position of the pixel is closer to the position of the adjacent pixel. However, in the method of predicting the pixel value of the current block using the conventional DC mode as described above, the relation between the position of the pixel of the current block and the position of the adjacent pixel is ignored, do.

하지만, 본 발명의 일 실시예에 따르면 현재 블록의 화소의 위치와 인접 화소의 위치 간의 관계를 반영하여 현재 블록의 화소의 화소값을 예측할 수 있다.However, according to the embodiment of the present invention, the pixel value of the current block pixel can be predicted by reflecting the relationship between the pixel position of the current block and the neighboring pixel position.

예를 들어, 도 10에 도시한 바와 같은 인트라 4×4 모드 예측에서 사용되는 화소들의 화소값을 본 발명의 일 실시예에 따라 예측하면, a 내지 p에 이르는 16 개의 화소에 대한 좌측 블록의 인접 화소(I, J, K, L)와 상단 블록의 인접 화소(A, B, C, D)에 가중치를 부가하여 화소값을 계산한다.For example, if the pixel values of the pixels used in intra 4x4 mode prediction as shown in FIG. 10 are predicted according to an embodiment of the present invention, A pixel value is calculated by adding weights to the pixels I, J, K, and L and the adjacent pixels A, B, C, and D of the upper block.

여기서, 가중치는 예측하고자 하는 현재 블록의 화소의 위치와 주변 블록의 인접 화소 위치 사이의 거리(Distance)를 계산하여 계산된 거리에 반비례하도록 부가될 수 있다. 즉, 현재 블록의 각 화소의 화소값은 주변 블록의 인접 화소의 화소값(특히, 좌측 블록의 인접 화소의 화소값과 상단 블록의 인접 화소의 화소값)을 이용해서 예측되는데, 현재 블록의 화소의 위치와 인접 블록의 인접 화소의 위치 사이의 거리가 짧다면 현재 화소와 인접 화소 사이의 유사성이 클 것이라 판단하여 주변 블록의 인접 화소의 화소값에 가중치를 크게 부가하고, 현재 블록의 화소 위치와 주변 블록의 인접 화소의 위치 사이의 거리가 멀다면 현재 화소와 인접 화소 사이의 유사성이 작을 것이라 판단하여 인접 블록의 인접 화소의 화소값에 가중치를 작게 부가한다.Here, the weight may be added in inverse proportion to the distance calculated by calculating the distance between the position of the pixel of the current block to be predicted and the position of the adjacent pixel of the neighboring block. That is, the pixel value of each pixel of the current block is predicted using the pixel value of the adjacent pixel of the neighboring block (in particular, the pixel value of the adjacent pixel of the left block and the pixel value of the adjacent pixel of the upper block) If the distance between the position of the current block and the position of the adjacent pixel of the adjacent block is short, it is determined that the similarity between the current pixel and the adjacent pixel is great, and the weight is added to the pixel value of the adjacent pixel of the neighboring block, If the distance between adjacent pixels of the adjacent block is long, it is determined that the similarity between the current pixel and the adjacent pixel is small, and the weight is added to the pixel value of the adjacent pixel of the adjacent block.

본 발명의 일 실시예에서는 전술한 바와 같이, 하나 이상의 주변 블록에 포함되는 하나 이상의 인접 화소의 화소값을 현재 블록의 각 화소와 하나 이상의 인접 화소와의 거리에 따라 가중 평균하여 현재 블록의 각 화소의 화소값을 예측한다. 수학식 2에서는 이와 같이 거리에 따른 가중 평균을 이용하여 화소값을 예측하기 위한 식을 표현하였다.In one embodiment of the present invention, as described above, the pixel values of one or more neighboring pixels included in one or more neighboring blocks are weighted and averaged according to the distance between each pixel of the current block and one or more neighboring pixels, Of the pixel value. Equation (2) expresses a formula for predicting the pixel value using the weighted average according to the distance.

Figure 112013062394361-pat00002
Figure 112013062394361-pat00002

여기서, x는 현재 블록의 각 화소이고(도 10에서는 a 화소 내지 p 화소), P1 내지 Pn은 각각 주변 블록의 인접 화소이며(도 10에서는 A 화소 내지 L 화소), f1, f2, … fn-1, fn은 각각 현재 블록의 각 화소 x와 주변 블록의 인접 화소 P1 내지 Pn 과의 거리에 따른 가중치이다. 또한, N = f1 + f2 + … + fn-1 + fn이다.Here, x is each pixel of the current block (a to p pixels in FIG. 10), P1 to Pn are adjacent pixels of the neighboring block (A to L pixels in FIG. 10), f1, f2, ... fn-1 and fn are weights according to the distances between the respective pixels x of the current block and the adjacent pixels P1 to Pn of the neighboring blocks. Further, N = f1 + f2 + + fn-1 + fn.

이와 같은 수학식 2를 이용하여 도 10에 도시한 현재 블록의 각 화소 a 내지 p를 예측하면 수학식 3과 같이 나타낼 수 있다. 다만, 설명의 편의를 위해 각 화소의 화소값을 예측하는 데 있어서, 주변 블록을 현재 블록의 좌측 블록과 현재 블록의 상단 블록으로 한정하였고, 주변 블록 내에 있는 인접 화소도 현재 화소가 속한 행과 열에 속한 인접 화소만을 이용하여 현재 블록의 각 화소를 예측하는 것으로 한정하였다. 하지만, 본 발명은 이러한 한정에 제약되지 않으며, 현재 블록의 주변 블록에 포함된 일부 또는 전부의 인접 화소를 이용하여 현재 화소를 예측할 수도 있다.Using Equation (2), each pixel a to p of the current block shown in FIG. 10 can be predicted as shown in Equation (3). However, for the sake of convenience of explanation, in predicting the pixel value of each pixel, the neighboring block is limited to the left block of the current block and the upper block of the current block, and the neighboring pixels in the neighboring block also belong to the row and column It is limited to predicting each pixel of the current block using only adjacent pixels. However, the present invention is not limited to such a limitation, and a current pixel may be predicted using a part or all of adjacent pixels included in a neighboring block of the current block.

Figure 112013062394361-pat00003
Figure 112013062394361-pat00003

여기서, a 화소의 화소값에 대해 살펴보면, a 화소의 화소값은 상단 블록의 인접 화소 A와 좌측 블록의 인접 화소 I에 의해 결정될 수 있는데, a 화소의 위치와 A 화소의 위치 및 I 화소의 위치는 모두 같으며 하나의 화소의 거리(기본 거리)만큼 떨어져 있다. 따라서, a 화소는 A 화소와 I 화소와 기본 거리만큼 떨어져 있으므로 A 화소와 I 화소에 기본 가중치인 '1'을 부가하여 계산되며, 모든 화소의 위치 간의 거리를 '1'이라고 가정하면, a = (1 × A + 1 × I) / (1 + 1) = (A + I) / 2가 된다.Here, the pixel value of the a pixel can be determined by the adjacent pixel A of the upper block and the adjacent pixel I of the left block. Are all the same and are separated by a distance (basic distance) of one pixel. Therefore, a pixel is calculated by adding a basic weighting value '1' to A pixels and I pixels, because a pixel is spaced by a basic distance from A pixels and I pixels. Assuming that a distance between all the pixels is '1', a = (1 x A + 1 x I) / (1 + 1) = (A + I) / 2.

또한, g 화소의 화소값에 대해 살펴보면, g 화소의 화소값은 상단 블록의 인접 화소 C와 좌측 블록의 인접 화소 J에 의해 결정될 수 있는데, g 화소의 위치는 C 화소의 위치와는 두 개의 화소의 거리(기본 거리 X 2)만큼 떨어져 있고 J 화소의 위치와는 세 개의 화소의 거리(기본 거리 X 3)만큼 떨어져 있다. 따라서, g 화소의 화소값을 계산하기 위한 가중치는 C 화소의 경우에는 '2'가 주어지고 J 화소의 경우에는 '3'이 주어지며, 모든 화소의 위치 간의 거리를 '1'이라고 가정하면, g = (3 × C + 2 × J) / (3 + 2) = (3C + 2J) / 5가 된다.The pixel value of the g pixel can be determined by the adjacent pixel C of the upper block and the adjacent pixel J of the left block. The position of the g pixel is determined by the position of the C pixel, (Base distance X 2) and the position of the J pixel is separated by the distance (base distance X 3) of the three pixels. Therefore, the weight for calculating the pixel value of the g pixel is given as '2' for the C pixel and '3' for the J pixel, and assuming that the distance between all the pixel positions is '1' g = (3xC + 2xJ) / (3 + 2) = (3C + 2J) / 5.

이와 같이, 현재 블록의 화소와 주변 블록의 인접 화소와의 거리에 따른 가중치가 고려된 인접 블록의 인접 화소의 화소값을 이용하여 DC 모드 예측을 수행하는 경우, 통상적인 DC 모드 예측을 수행할 때 현재 블록의 예측 화소 값들이 모두 같은 화소값들을 갖는 것과는 달리, 현재 블록의 각 화소 위치에 따라 다른 예측 화소값으로 예측될 수 있다.In the case of performing the DC mode prediction using the pixel values of the adjacent pixels of the adjacent block in which the weight is weighted according to the distance between the pixel of the current block and the adjacent pixel of the neighboring block, The predicted pixel values of the current block may be predicted to be different predicted pixel values according to each pixel position of the current block, unlike the case where the predicted pixel values of the current block have the same pixel values.

도 10을 통해 전술한 예에서는 현재 블록의 예측 화소값을 계산하기 위해 현재 블록의 좌측 블록과 상단 블록의 각 하나의 화소를 이용하였다. 그러나 본 발명은 이러한 예시에 반드시 한정되지 않고, 현재 블록의 좌측 블록과 상단 블록의 a내지 p까지의 16 개의 화소값 전부 또는 일부를 이용하여 현재 블록에 포함된 하나의 화소의 예측값을 얻을 수도 있으며, 현재 블록의 좌측 블록과 상단 블록뿐만 아니라 주변의 모든 블록 또는 일부 블록에 포함된 하나 이상의 화소값의 전부 또는 일부를 이용하여 현재 블록에 포함된 하나의 화소의 예측값을 얻을 수도 있다.10, each of the left block and the upper block of the current block is used to calculate the predicted pixel value of the current block. However, the present invention is not limited to this example, and a predicted value of one pixel included in the current block may be obtained using all or a part of 16 pixel values from a to p of the left block and the upper block of the current block , It is possible to obtain a predicted value of one pixel included in the current block by using all or a part of one or more pixel values included in all the surrounding blocks or some blocks as well as the left and top blocks of the current block.

이와 같이 현재 블록의 화소의 위치와 주변 블록의 인접 화소의 위치 간의 거리에 따라 부가되는 가중치를 반영한 인접 화소의 화소값을 이용하여 현재 블록의 화소값을 예측하는 것은 영상 부호화 장치(300)뿐만 아니라 영상 복호화 장치(800)에서도 인트라 예측부(310, 850)에 의해 동일하게 수행된다.Prediction of the pixel value of the current block using the pixel value of the adjacent pixel reflecting the weight added according to the distance between the pixel position of the current block and the neighboring pixel position of the neighboring block is not limited to the image encoding apparatus 300 The same is performed by the intra prediction units 310 and 850 in the image decoding apparatus 800 as well.

이와 같이, 영상 부호화 장치(300)와 영상 복호화 장치(800)가 DC 모드 예측을 수행할 때, 현재 블록이 DC 모드로 인트라 예측이 수행되었다고 판단되는 경우에는 인트라 4×4 모드 예측이든 인트라 16×16 모드 예측이든 거리에 따른 가중치를 고려하여 현재 블록의 화소값을 예측함으로써, 예측된 현재 블록이 원래의 현재 블록과 더욱 유사해 지도록 하여 최적의 예측 화소값을 얻을 수 있으며, 그로 인해 원래의 현재 블록과 예측된 현재 블록 간의 차분값을 줄일 수 있어 인트라 예측의 성능을 저하하지 않으면서도 압축 효율을 향상시킬 수 있으며 전송할 데이터량을 줄일 수 있다.In this manner, when the image encoding apparatus 300 and the image decoding apparatus 800 perform DC mode prediction, when it is determined that the current block is intra-predicted in the DC mode, intra-4x4 mode prediction or intra 16x The predicted current block is made more similar to the original current block by predicting the pixel value of the current block in consideration of the 16 mode prediction or the weight according to the distance to obtain the optimum predicted pixel value, The difference value between the block and the predicted current block can be reduced, so that the compression efficiency can be improved without reducing the performance of the intra prediction, and the amount of data to be transmitted can be reduced.

이상에서는 영상 부호화 장치(300)와 영상 복호화 장치(800)가 각각 독립적인 장치로 구현되는 것으로 설명했지만, 영상 부호화 장치(300)와 영상 복호화 장치(800)는 하나의 장치 내에서 구현될 수도 있다. 영상 부호화 장치(300)와 영상 복호화 장치(800)의 각 구성 요소들 즉, 부호화부(350)와 복호화부(810), 양자화부(340)와 역 양자화부(820), 변환부(330)와 역 변환부(830), 감산부(320)와 가산부(840), 인트라 예측부(310, 850)는 각각이 프로그램을 저장하는 메모리와 프로그램을 실행하여 각 기능을 수행하는 마이크로프로세서를 포함하는 독립적인 하드웨어로 구현될 수도 있지만, 영상 부호화 장치(300) 및 영상 복호화 장치(800)라는 하드웨어 내에서 각 기능을 수행하는 프로그램 모듈로서 구현될 수도 있다.Although the image encoding apparatus 300 and the image decoding apparatus 800 are described as being implemented as independent apparatuses in the above description, the image encoding apparatus 300 and the image decoding apparatus 800 may be implemented in one apparatus . The encoding unit 350 and the decoding unit 810, the quantization unit 340 and the inverse quantization unit 820, the conversion unit 330, and the image encoding unit 300, The inverse transform unit 830, the subtractor 320 and the adder 840 and the intraprediction units 310 and 850 include a memory for storing the program and a microprocessor for executing each function by executing the program However, it may be implemented as a program module that performs each function in hardware such as the image encoding apparatus 300 and the image decoding apparatus 800. [

또한, 영상 부호화 장치(300)와 영상 복호화 장치(800)가 하나의 장치 내에서 구현되는 경우에는, 서로 대응되는 기능을 수행하는 각 구성들 즉, 부호화부(350)와 복호화부(810), 양자화부(340)와 역 양자화부(820), 변환부(330)와 역 변환부(830), 감산부(320)와 가산부(840), 인트라 예측부(310, 850)은 하나의 프로그램 모듈로서 구현될 수 있다.When the image encoding apparatus 300 and the image decoding apparatus 800 are implemented in a single apparatus, the respective components performing functions corresponding to each other, that is, the encoding unit 350 and the decoding unit 810, The quantization unit 340 and the inverse quantization unit 820, the transform unit 330 and the inverse transform unit 830, the subtraction unit 320 and the adder 840, and the intra prediction units 310 and 850, May be implemented as a module.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

이상에서 설명한 바와 같이 본 발명은 영상의 현재 블록을 주변 블록으로부터 예측하고 부호화하고 복호화하는 데 있어서, 실제의 현재 블록과 예측된 현재 블록 간의 차이를 최소화하는 인트라 예측 방법 및 장치와 그를 이용한 영상의 부호화/복호화 방법 및 장치의 분야에 적용되어, 부호화하고자 하는 현재 블록을 더욱 정확하게 예측함으로써 실제 블록과 예측된 블록 간의 차이를 줄여 부호화의 효율을 높일 수 있으며 그를 통해 압축 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.As described above, the present invention provides an intra prediction method and apparatus for predicting, encoding, and decoding a current block of an image from neighboring blocks, which minimizes a difference between an actual current block and a predicted current block, / Decoding method and apparatus, it is possible to improve the efficiency of coding by reducing the difference between the actual block and the predicted block by predicting the current block to be encoded more accurately, thereby improving the compression efficiency Is a very useful invention.

< 도면의 주요 부분에 대한 부호의 설명 >
300: 영상 부호화 장치 310, 850: 인트라 예측부
320: 감산기 330: 변환부
340: 양자화부 350: 부호화부
410: 가중 화소값 계산부 420: 예측 화소값 계산부
810: 복호화부 820: 역 양자화부
830: 역 변환부 840: 가산부
850: 인트라 예측부
Description of the Related Art
300: Image encoding apparatus 310, 850: Intra prediction unit
320: subtracter 330:
340: quantization unit 350: encoding unit
410: weighted pixel value calculation unit 420: predicted pixel value calculation unit
810: Decoding unit 820: Inverse quantization unit
830: Inverse transform unit 840:
850: Intra prediction unit

Claims (15)

삭제delete 현재 블록과 동일한 픽처 내에 존재하는 복수의 주변 블록으로부터 상기 현재 블록 내의 현재 화소를 예측하기 위한 인트라 예측 장치에 있어서,
상기 복수의 주변 블록으로부터 선택된 복수의 주변 화소에 상기 현재 블록 내 상기 현재 화소의 위치에 근거하여 가변적으로 결정되는 가중치를 각각 적용함으로써 복수의 가중 화소값을 연산하는 가중 화소값 계산부; 및
상기 복수의 가중 화소값을 이용하여 상기 현재 화소에 대한 예측 화소값을 결정하는 예측 화소값 계산부를 포함하고,
상기 복수의 주변 화소는,
상기 현재 블록의 상단에 인접한 화소로서 상기 현재 화소와 수직으로 동일한 위치에 있는 제1화소,
상기 현재 블록의 좌측에 인접한 화소로서 상기 현재 화소와 수평으로 동일한 위치에 있는 제2화소,
상기 현재 블록의 상단에 위치한 제3화소, 및
상기 현재 블록의 좌측에 위치한 제4화소를 포함하며,
상기 복수의 가중 화소값은,
상기 제1화소에 제1가중치를 적용하여 계산한 제1가중 화소값,
상기 제2화소에 제2가중치를 적용하여 계산한 제2가중 화소값,
상기 제3화소에 제3가중치를 적용하여 계산한 제3가중 화소값, 및
상기 제4화소에 제4가중치를 적용하여 계산한 제4가중 화소값을 포함하는 것을 특징으로 하는 인트라 예측 장치.
An intra prediction apparatus for predicting a current pixel in a current block from a plurality of neighboring blocks existing in a same picture as a current block,
A weighted pixel value calculation unit for calculating a plurality of weighted pixel values by applying weights variably determined based on the positions of the current pixels in the current block to a plurality of neighboring pixels selected from the plurality of neighboring blocks; And
And a predictive pixel value calculation unit for determining a predictive pixel value for the current pixel using the plurality of weighted pixel values,
Wherein the plurality of peripheral pixels comprise:
A first pixel located at a position vertically adjacent to the current pixel as a pixel adjacent to an upper end of the current block,
A second pixel located at a position horizontally the same as the current pixel as a pixel adjacent to the left side of the current block,
A third pixel located at the top of the current block, and
And a fourth pixel located to the left of the current block,
The plurality of weighted pixel values may include:
A first weighted pixel value calculated by applying a first weight to the first pixel,
A second weighted pixel value calculated by applying a second weight to the second pixel,
A third weighted pixel value calculated by applying a third weight to the third pixel, and
And a fourth weighted pixel value calculated by applying a fourth weight to the fourth pixel.
제2항에 있어서,
상기 가중 화소값 계산부는, 상기 현재 블록 내에서 상기 현재 화소의 위치에 근거하여 상기 제1가중치, 상기 제2가중치, 상기 제3가중치 및 상기 제4가중치를 결정하며,
상기 예측 화소값 계산부는 상기 제1가중 화소값, 상기 제2가중 화소값, 상기 제3가중 화소값 및 상기 제4가중 화소값의 합을 상기 제1가중치, 상기 제2가중치, 상기 제3가중치 및 상기 제4가중치의 합으로 나눈 값을 상기 현재 화소에 대한 예측 화소값으로 결정하는 것을 특징으로 하는 인트라 예측 장치.
3. The method of claim 2,
Wherein the weighted pixel value calculation unit determines the first weight value, the second weight value, the third weight value and the fourth weight value based on the position of the current pixel in the current block,
The predictive pixel value calculation unit may calculate the sum of the first weighted pixel value, the second weighted pixel value, the third weighted pixel value, and the fourth weighted pixel value as the first weighted value, the second weighted weight, And a sum of the first and second weights, and a sum of the fourth weights, as a predicted pixel value for the current pixel.
제2항에 있어서,
상기 제1가중치는 상기 현재 화소와 상기 제1화소 간의 거리에 의해 결정되고,
상기 제2가중치는 상기 현재 화소와 상기 제2화소 간의 거리에 의해 결정되는 것을 특징으로 하는 인트라 예측 장치.
3. The method of claim 2,
Wherein the first weight is determined by a distance between the current pixel and the first pixel,
Wherein the second weight is determined by a distance between the current pixel and the second pixel.
제2항에 있어서,
상기 각 가중치는 상기 현재 화소와 상기 복수의 주변 블록 내 각 주변 화소의 거리에 의해 결정되되, 거리가 짧을수록 큰 값으로 결정되는 것을 특징으로 하는 인트라 예측 장치.
3. The method of claim 2,
Wherein each of the weights is determined by a distance between the current pixel and each neighboring pixel in the plurality of neighboring blocks, and is determined to be a larger value as the distance is shorter.
현재 블록과 동일한 픽처 내에 존재하는 복수의 주변 블록으로부터 상기 현재 블록 내의 현재 화소를 예측하기 위한 인트라 예측 장치에 있어서,
상기 복수의 주변 블록으로부터 선택된 복수의 주변 화소에 상기 현재 블록 내 상기 현재 화소의 위치에 근거하여 가변적으로 결정되는 가중치를 각각 적용함으로써 복수의 가중 화소값을 연산하는 가중 화소값 계산부; 및
상기 복수의 가중 화소값을 이용하여 상기 현재 화소에 대한 예측 화소값을 결정하는 예측 화소값 계산부를 포함하고,
상기 복수의 주변 화소는,
상기 현재 블록의 상단에 인접한 화소로서 상기 현재 화소와 수직으로 동일한 위치에 있는 제1화소,
상기 현재 블록의 좌측에 인접한 화소로서 상기 현재 화소와 수평으로 동일한 위치에 있는 제2화소, 및
상기 복수의 주변블록으로부터 선택된 하나 이상의 제3 화소를 포함하고,
상기 복수의 가중 화소값은,
상기 제1화소에 제1가중치를 적용하여 계산한 제1가중 화소값,
상기 제2화소에 제2가중치를 적용하여 계산한 제2가중 화소값, 및
상기 하나 이상의 제3 화소에, 상기 하나 이상의 제3 화소 각각에 대응하는 제3 가중치를 적용하여 계산한 하나 이상의 제3 가중 화소값을 포함하되,
상기 예측 화소값 계산부는 상기 가중 화소값 계산부에 의해 상기 제1 내지 제3 화소로부터 계산된 상기 복수의 가중 화소값의 합을 상기 제1 내지 제3화소에 대응하는 가중치의 합으로 나누어 상기 현재 블록에 대한 예측 화소값을 결정하는 것을 특징으로 하는 인트라 예측 장치.
An intra prediction apparatus for predicting a current pixel in a current block from a plurality of neighboring blocks existing in a same picture as a current block,
A weighted pixel value calculation unit for calculating a plurality of weighted pixel values by applying weights variably determined based on the positions of the current pixels in the current block to a plurality of neighboring pixels selected from the plurality of neighboring blocks; And
And a predictive pixel value calculation unit for determining a predictive pixel value for the current pixel using the plurality of weighted pixel values,
Wherein the plurality of peripheral pixels comprise:
A first pixel located at a position vertically adjacent to the current pixel as a pixel adjacent to an upper end of the current block,
A second pixel located at the same horizontal position as the current pixel as a pixel adjacent to the left side of the current block, and
And at least one third pixel selected from the plurality of neighboring blocks,
The plurality of weighted pixel values may include:
A first weighted pixel value calculated by applying a first weight to the first pixel,
A second weighted pixel value calculated by applying a second weight to the second pixel, and
One or more third weighted pixel values calculated by applying a third weight corresponding to each of the one or more third pixels to the one or more third pixels,
Wherein the predictive pixel value calculation unit divides the sum of the weighted pixel values calculated from the first through third pixels by the weighted pixel value calculation unit by the sum of weights corresponding to the first through third pixels, And determines a prediction pixel value for the block.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020130081459A 2013-07-11 2013-07-11 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same KR101557374B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130081459A KR101557374B1 (en) 2013-07-11 2013-07-11 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130081459A KR101557374B1 (en) 2013-07-11 2013-07-11 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080059322A Division KR101361005B1 (en) 2008-06-24 2008-06-24 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020140072392A Division KR101534048B1 (en) 2014-06-13 2014-06-13 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR1020140072394A Division KR101533434B1 (en) 2014-06-13 2014-06-13 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR1020140072389A Division KR101582501B1 (en) 2014-06-13 2014-06-13 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same

Publications (2)

Publication Number Publication Date
KR20130091295A KR20130091295A (en) 2013-08-16
KR101557374B1 true KR101557374B1 (en) 2015-10-12

Family

ID=49216542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130081459A KR101557374B1 (en) 2013-07-11 2013-07-11 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same

Country Status (1)

Country Link
KR (1) KR101557374B1 (en)

Also Published As

Publication number Publication date
KR20130091295A (en) 2013-08-16

Similar Documents

Publication Publication Date Title
KR101361005B1 (en) Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR101444667B1 (en) Video Coding Method and Apparatus Using Bi-Direction Intra Prediction
KR101432775B1 (en) Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock
KR101772046B1 (en) Video Encoding/Decoding Method and Apparatus for Intra-Predicting Using Filtered Value of Pixel According to Prediction Mode
KR101444675B1 (en) Method and Apparatus for Encoding and Decoding Video
KR101379187B1 (en) Image Encoding/Decoding Method and Apparatus Using Block Transformation
KR101739987B1 (en) Video Encoding/Decoding Method and Apparatus Using Feature Vector of Adjacent Block
KR20130085838A (en) Video coding method and apparatus using weighted prediction
KR101432767B1 (en) Inter Prediction Method and Apparatus Using Motion Information Based Adjacent Pixels and Video Coding Method and Apparatus Using Same
KR101479123B1 (en) Inter Prediction Method and Apparatus Using Adjacent Pixels and Video Coding Method and Apparatus Using Same
KR101582501B1 (en) Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR101531186B1 (en) Video Encoding/Decoding Method and Apparatus by Using Selective Encoding
KR101533434B1 (en) Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR101557374B1 (en) Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR101534048B1 (en) Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
KR101997599B1 (en) Method and Apparatus for Image Encoding/Decoding using Efficient Non-fixed Quantization
KR101943425B1 (en) Method and Apparatus for Image Encoding/Decoding using Efficient Non-fixed Quantization
KR101483495B1 (en) Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock
KR101537767B1 (en) Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock
KR101534014B1 (en) Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock
KR101464949B1 (en) Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock
KR101464944B1 (en) Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 4