KR20110135763A - Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof - Google Patents

Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof Download PDF

Info

Publication number
KR20110135763A
KR20110135763A KR1020100055681A KR20100055681A KR20110135763A KR 20110135763 A KR20110135763 A KR 20110135763A KR 1020100055681 A KR1020100055681 A KR 1020100055681A KR 20100055681 A KR20100055681 A KR 20100055681A KR 20110135763 A KR20110135763 A KR 20110135763A
Authority
KR
South Korea
Prior art keywords
context
motion vector
block
current block
neighboring
Prior art date
Application number
KR1020100055681A
Other languages
Korean (ko)
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 KR1020100055681A priority Critical patent/KR20110135763A/en
Priority to PCT/KR2011/004240 priority patent/WO2011155782A2/en
Publication of KR20110135763A publication Critical patent/KR20110135763A/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/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/124Quantisation
    • 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
    • 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
    • H04N19/197Methods 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 including determination of the initial value of an encoding parameter
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

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

Abstract

PURPOSE: A method and apparatus for modeling a situation and a method and apparatus for encoding and decoding a video using the same are provided to adaptively supply a candidate motion vector according to the situation of an ambient block by generating the context of the motion vector. CONSTITUTION: A video encoder generates a motion compensation block and a motion vector(S1002). The video encoder generates a residual block(S1004). The video encoder determines the context of the ambient block through a correlation of the converted and quantized residual block, the motion vector of the block adjacent to the ambient block of the current block, and the motion vector of the ambient block(S1010). The video encoder encodes a difference between the motion vector of the current block and the prediction motion vector produced by the context which is produced by the context of the selected current block(S1014).

Description

문맥 모델링 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치{Method and Apparatus for Context Modelling and Method and Apparatus for Encoding/Decoding of Video Data Thereof}Context Modeling Method and Apparatus and Image Encoding / Decoding Method and Apparatus {Method and Apparatus for Context Modeling and Method and Apparatus for Encoding / Decoding of Video Data Thereof}

본 발명의 일 실시예는 문맥 모델링 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 비디오 데이터의 부호화/복호화에 있어서 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터(Motion Vector)를 효율적으로 압축하기 위하여 움직임 벡터 문맥을 모델링하고 이를 기반으로 부호화/복호화를 하고자 하는 문맥 모델링 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.An embodiment of the present invention relates to a context modeling method and apparatus and an image encoding / decoding method and apparatus using the same. More specifically, a context modeling method for modeling a motion vector context and encoding / decoding based on the motion vector context in order to efficiently compress a motion vector obtained after block-based motion prediction in encoding / decoding video data, and The present invention relates to an apparatus and a method and apparatus for image encoding / decoding using the same.

비디오 데이터의 압축 장치에서 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터의 부호화는, 기존의 H.264/AVC에서는, 주변 블록의 움직임 벡터들의 중앙값(Median)을 이용하여 예측 움직임 벡터를 생성하고, 부호화 할 움직임 벡터와 예측 움직임 벡터와의 차분을 가변 길이 부호화 (Variable Length Coding)함으로써 이루어진다. In the conventional H.264 / AVC, motion vector encoding obtained after block-based motion prediction in a video data compression apparatus generates a predictive motion vector using median of motion vectors of neighboring blocks and encodes a motion. The difference between the vector and the predicted motion vector is achieved by variable length coding.

하지만, 이러한 중앙값 예측치는 현재 블록의 움직임 벡터가 주변 움직임 벡터와 유사한 패턴을 갖는 경우에는 부호화해야 하는 잔여 움직임 벡터 값이 크게 줄어들어 그 성능이 우수한 반면에, 움직임이 다른 물체의 윤곽선을 포함한 블록과 같이, 주변 블록들이 가지는 움직임과 상이한 불규칙한 움직임 패턴을 갖는 경우에는 그 성능이 제한적이다. However, when the motion vector of the current block has a pattern similar to the neighboring motion vector, the median predictor shows a good performance because the residual motion vector value to be encoded is greatly reduced, while the motion is similar to a block including the outline of another object. However, the performance is limited in the case of having irregular movement patterns different from those of neighboring blocks.

이와 같은 불규칙한 움직임 패턴을 갖는 블록에서의 성능 제한 문제를 해결하기 위한 방법 중 하나로, 중앙값 예측치 대신 세 개의 주변 블록 움직임 벡터들 중에 현재 블록의 움직임 벡터와 가장 유사한 움직임 예측 후보를 선택하여 이를 예측치로 사용함으로써 잔여 움직임 벡터 값을 효율적으로 감소시킬 수 있는 경쟁 기반 움직임 벡터 코딩 기법이 제안되었다. 하지만, 비교적 규칙적인 움직임 패턴을 많이 포함하는 영상에서는 선택된 최적의 움직임 예측 후보를 인덱싱하는 데 필요한 오버헤드가 잔여 움직임 벡터값을 줄여 얻을 수 있는 성능 개선량에 비해 커지게 되어 전체적인 압축 성능이 오히려 떨어질 수 있다는 한계를 갖는다.As a method to solve the performance limitation problem in a block having an irregular motion pattern, a motion prediction candidate most similar to the motion vector of the current block is selected from three neighboring block motion vectors instead of the median prediction value and used as the prediction value. As a result, a competition-based motion vector coding scheme has been proposed that can efficiently reduce residual motion vector values. However, in an image containing a lot of relatively regular motion patterns, the overhead required for indexing the selected optimal motion prediction candidate becomes larger than the performance improvement that can be obtained by reducing the residual motion vector value. There is a limit to that.

또한, 예측 후보를 두 개로 고정시켜 부가적인 인덱싱 비트의 증가를 최소화하고, 스킵 모드의 최적 움직임 예측 후보를 율-왜곡 관점에서 경쟁적으로 선택하는 기법을 포함하는 향상된 경쟁 기반의 움직임 벡터 코딩 기법을 제안함으로써 움직임 벡터 부호화 효율을 크게 향상시키는 방법도 있지만, 이 기법은 실험적으로 선택한 두 개의 고정된 예측 후보를 사용하기 때문에, 카메라의 움직임이나 영상 내 물체의 배치, 크기, 움직임 등에 의한 영상의 특성에 따라 그 성능 개선의 정도가 매우 제한적인 경우들이 발생할 수 있다는 문제점이 있다. In addition, we propose an improved contention-based motion vector coding technique that includes a technique of fixing prediction candidates to two to minimize the increase of additional indexing bits, and a method of competitively selecting an optimal motion prediction candidate in skip mode in terms of rate-distortion. There is also a method to greatly improve the efficiency of motion vector coding. However, since this technique uses two fixed prediction candidates selected experimentally, it is determined by the characteristics of the image due to the movement of the camera or the placement, size, and motion of an object in the image. There is a problem that cases where the degree of performance improvement is very limited may occur.

이러한 문제점을 해결하기 위해 본 발명의 일 실시예는, 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터(Motion Vector)를 효율적으로 압축하기 위하여 움직임 벡터 문맥을 모델링하고 이를 기반으로 한 부호화/복호화를 함으로써 비디오 데이터 압축의 성능을 향상시켜 보다 우수한 복원 화질을 얻는 데 주된 목적이 있다.In order to solve this problem, an embodiment of the present invention is to compress video data by modeling a motion vector context and encoding / decoding based on the motion vector context to efficiently compress a motion vector obtained after block-based motion prediction. The main purpose is to improve the performance of to obtain a better restored picture quality.

전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 장치에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고 상기 잔여 블록을 변환 및 양자화하고 상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 영상 부호화기; 및 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하고 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하고 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.In order to achieve the above object, an embodiment of the present invention provides a device for encoding / decoding an image, generating a motion compensation block and a motion vector generated by estimating and compensating the motion of a current block of the image, and generating the current vector. Subtract the block and the motion compensation block to generate a residual block, transform and quantize the residual block, the transformed and quantized residual block, the motion vector of the block adjacent to the neighboring block of the current block, and the motion of the neighboring block. The context of the neighboring block is determined using a correlation with the vector, and the context of the current block corresponding to the context of the neighboring block is selected to determine the predicted motion vector calculated by the context of the selected current block and the current block. An image encoder for encoding a residual motion vector that is a difference from the motion vector; And decoding the encoded data to decode the transformed and quantized residual block and the residual motion vector, and inversely quantize and inverse transform the transformed and quantized residual block to restore the residual block and to move the motion vector of the block neighboring the neighboring block of the current block. And a predicted motion calculated by the context of the selected current block by determining the context of the neighboring block using a correlation between the motion vector of the neighboring block and the context of the current block corresponding to the context of the neighboring block. Reconstructs the motion vector of the current block by adding a vector and the decoded residual motion vector, and predicts the current block using the reconstructed motion vector of the current block to generate a prediction block, and the reconstructed residual block and the prediction. A video decoder for reconstructing the current block by adding blocks is included. It provides a video encoding / decoding apparatus which comprises.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 장치에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측기; 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산기; 상기 잔여 블록을 변환 및 양자화하는 변환 및 양자화기; 및 상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.Further, to achieve another object of the present invention, an embodiment of the present invention, in the apparatus for encoding an image, generating a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image Predictor; A subtractor for generating a residual block by subtracting the current block and the motion compensation block; A transform and quantizer for transforming and quantizing the residual block; And determining a context of the neighboring block by using a correlation between the transformed and quantized residual block, a motion vector of a block neighboring the neighboring block of the current block, and a motion vector of the neighboring block, and determining the context of the neighboring block. And an encoder for selecting a context of the current block corresponding to and encoding a residual motion vector that is a difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block. Provided is an encoding device.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 장치에 있어서, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하는 복호화기; 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환기; 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측기; 및 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to another aspect of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder configured to decode encoded data to decode a transformed and quantized residual block and a residual motion vector; An inverse quantization and inverse transformer for reconstructing the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block; The context of the neighboring block is determined using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block, and the context of the current block corresponding to the context of the neighboring block is selected. Reconstruct the motion vector of the current block by adding the predicted motion vector calculated by the context of the selected current block and the decoded residual motion vector, and predict the current block by using the reconstructed motion vector of the current block. A predictor for generating a block; And an adder for reconstructing the current block by adding the reconstructed residual block and the prediction block.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 문맥 모델링 장치에 있어서, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하는 문맥 생성부; 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하는 문맥선택부; 및 상기 선택된 현재 블록의 문맥에 의해 상기 현재 블록의 예측 움직임 벡터를 산출하는 예측움직임벡터 산출부를 포함하는 것을 특징으로 하는 문맥 모델링 장치를 제공한다.In addition, to achieve another object of the present invention, an embodiment of the present invention, in the context modeling apparatus, using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block A context generation unit to determine a context of the neighboring block; A context selection unit for selecting a context of the current block corresponding to the context of the neighboring block; And a predictive motion vector calculator configured to calculate a predicted motion vector of the current block based on the context of the selected current block.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 방법에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고 상기 잔여 블록을 변환 및 양자화하고 상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 단계; 및 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하고 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하고 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법을 제공한다.In addition, in order to achieve another object of the present invention, an embodiment of the present invention, in a method of encoding / decoding an image, a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image Generate and subtract the current block and the motion compensation block to generate a residual block, transform and quantize the residual block, the transformed and quantized residual block, a motion vector of a block adjacent to a neighboring block of the current block, and Determine the context of the neighboring block using a correlation with the motion vector of the neighboring block, select the context of the current block corresponding to the context of the neighboring block, and predict the motion vector calculated by the context of the selected current block; Encoding a residual motion vector which is a difference from the motion vector of the current block; And decoding the encoded data to decode the transformed and quantized residual block and the residual motion vector, and inversely quantize and inverse transform the transformed and quantized residual block to restore the residual block and to move the motion vector of the block neighboring the neighboring block of the current block. And a predicted motion calculated by the context of the selected current block by determining the context of the neighboring block using a correlation between the motion vector of the neighboring block and the context of the current block corresponding to the context of the neighboring block. Reconstructs the motion vector of the current block by adding a vector and the decoded residual motion vector, and predicts the current block using the reconstructed motion vector of the current block to generate a prediction block, and the reconstructed residual block and the prediction. Adding blocks to restore the current block; It provides a video encoding / decoding method according to claim.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 방법에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 단계; 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 단계; 상기 잔여 블록을 변환 및 양자화하는 단계; 및 상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이를 부호화하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.In addition, to achieve another object of the present invention, an embodiment of the present invention, in a method of encoding an image, generating a motion compensation block and a motion vector generated by estimating and compensating the motion of the current block of the image; step; Generating a residual block by subtracting the current block and the motion compensation block; Transforming and quantizing the residual block; And determining a context of the neighboring block by using a correlation between the transformed and quantized residual block, a motion vector of a block neighboring the neighboring block of the current block, and a motion vector of the neighboring block, and determining the context of the neighboring block. And encoding the difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block by selecting the context of the current block corresponding to. to provide.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 방법에 있어서, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하는 단계; 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 단계; 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측 단계; 및 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to another aspect of the present invention, there is provided a method of decoding an image, the method comprising: decoding encoded and quantized residual blocks and residual motion vectors by decoding encoded data; Inverse quantization and inverse transformation of the transformed and quantized residual block to restore the residual block; The context of the neighboring block is determined using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block, and the context of the current block corresponding to the context of the neighboring block is selected. Reconstruct the motion vector of the current block by adding the predicted motion vector calculated by the context of the selected current block and the decoded residual motion vector, and predict the current block by using the reconstructed motion vector of the current block. A prediction step of generating a block; And reconstructing the current block by adding the reconstructed residual block and the prediction block.

또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 문맥 모델링 방법에 있어서, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하는 단계; 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하는 단계; 및 상기 선택된 현재 블록의 문맥에 의해 상기 현재 블록의 예측 움직임 벡터를 산출하는 단계를 포함하는 것을 특징으로 하는 문맥 모델링 방법을 제공한다.In addition, an embodiment of the present invention to achieve another object of the present invention, in the context modeling method, using the correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block Determining a context of the neighboring block by doing so; Selecting a context of the current block corresponding to the context of the neighboring block; And calculating a predicted motion vector of the current block according to the context of the selected current block.

상기 상관도는, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나일 수 있다.The correlation may be any one of a difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vectors of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block. Can be.

상기 현재 블록의 문맥은, 상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출될 수 있다.The context of the current block may be extracted from a context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

상기 문맥 모델링 장치는, 상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 문맥 갱신부를 추가로 포함할 수 있다.The context modeling apparatus may further include a context updater configured to update the context table such that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은, 상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.The updating of the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the difference between the motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block. Can be updated.

상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은, 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적할 수 있다.The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block includes: a motion vector of the current block and a motion vector calculated in the context of the current block; You can accumulate the differences.

상기 문맥의 갱신은, 영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어질 수 있다.The updating of the context may be performed in any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.

상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한될 수 있다.The maximum number of times of accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block may be limited to a preset number.

상기 부호화기는, 상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신할 수 있다.The encoder may update the context table so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

상기 현재 블록의 문맥은, 상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다.In the context of the current block, the rate-distortion cost is minimized by calculating a rate-distortion cost among the selected contexts reflecting the motion vector of the current block and a fixed context having a value corresponding to the combination of the context of the neighboring block. You can choose the context.

상기 예측기는, 상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신할 수 있다.The predictor may update the context table so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

상기 부호화 단계에서는, 상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신할 수 있다.In the encoding step, the context table may be updated so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

상기 예측 단계에서는, 상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신할 수 있다.In the prediction step, the context table may be updated so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

상기 문맥 모델링 방법은, 상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 문맥 갱신 단계를 추가로 포함할 수 있다.The context modeling method may further include a context updating step of updating the context table such that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 현재 블록의 움직임 벡터를 효율적으로 부호화하기 위해 주변 블록의 움직임 벡터 상관도를 기반으로 움직임 벡터의 문맥을 생성하여 후보 움직임 벡터를 주변 블록의 상황에 맞도록 적응적으로 제공함으로써, 현재 블록의 움직임 벡터의 부호화 성능을 크게 향상시킴으로써 비디오 압축 장치의 부호화 성능 혹은 복원 영상의 화질을 향상시키는 효과가 있다.As described above, according to an embodiment of the present invention, in order to efficiently encode the motion vector of the current block, the context of the motion vector is generated based on the motion vector correlation of the neighboring block, and the candidate motion vector is generated as the context of the neighboring block. By adaptively adapting to, the encoding performance of the motion vector of the current block is greatly improved, thereby improving the encoding performance of the video compression apparatus or the quality of the reconstructed video.

도 1은 본 발명의 일 실시예에 따른 문맥 모델링 장치(100)를 도시한 블록도이다.
도 2는 현재 블록 X와, 그 주변 블록 A, B, C, 그리고 각 주변 블록의 이웃한 블록 L, U, UR, 0를 나타낸 도면이다.
도 3은 현재 블록의 주변 블록 A, B, C의 움직임 벡터와 그 이웃 블록(L, U, UR, 0)의 움직임 벡터 간의 상관도 측도에 의해 결정되는 문맥 M(A), M(B), M(C)에 의해 M(X)의 값을 선택하는데 사용되는 문맥 테이블을 예시한 도면이다.
도 4는 각 주변 블록의 DTCP 값의 변화 및 사이즈 W의 윈도우를 예시한 도면이다.
도 5는 문맥 갱신 방법을 사용하는 경우의 문맥 테이블 초기값을 예시한 도면이다.
도 6은 다음번 예측 움직이 벡터를 산출한 후의 문맥 테이블의 변화를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 문맥 모델링 방법을 도시한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 10은 본 발명의 일 실시예에 따른 영상 부호화 방법을 도시한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
1 is a block diagram illustrating a context modeling apparatus 100 according to an embodiment of the present invention.
2 is a diagram illustrating a current block X, neighboring blocks A, B, and C, and neighboring blocks L, U, UR, and 0 of each neighboring block.
3 is a context M (A), M (B) determined by a correlation measure between the motion vectors of neighboring blocks A, B, and C of the current block and the motion vectors of its neighboring blocks (L, U, UR, 0). Is a diagram illustrating a context table used to select the value of M (X) by M (C).
4 is a diagram illustrating a change in the DTCP value of each neighboring block and a window of the size W;
5 is a diagram illustrating an initial value of a context table when a context updating method is used.
6 is a diagram illustrating a change in the context table after calculating the next predicted motion vector.
7 is a flowchart illustrating a context modeling method according to an embodiment of the present invention.
8 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
9 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
10 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
11 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different 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.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected to or connected to that other component, but there may be another configuration between each component. It is to be understood that the elements may be "connected", "coupled" or "connected".

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

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

통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임를 참조 프레임(Reference Frame)이라고 한다.In general, a video is composed of a series of pictures, and each picture may be divided into a predetermined area such as a block. When a region of an image is divided into blocks, the divided blocks are largely classified into intra blocks and inter blocks according to encoding methods. An intra block refers to a block that is encoded by using an intra prediction coding method. An intra prediction coding is performed by using pixels of blocks previously encoded, decoded, and reconstructed in a current picture that performs current encoding. A prediction block is generated by predicting pixels of a block and a difference value with pixels of the current block is encoded. An inter block refers to a block that is encoded using inter prediction coding. Inter prediction coding generates a prediction block by predicting a current block within a current picture by referring to one or more past or future pictures, and then generates a current block. This is a method of encoding the difference value with. Here, a frame referred to for encoding or decoding the current picture is referred to as a reference frame.

도 1은 본 발명의 일 실시예에 따른 문맥 모델링 장치(100)를 도시한 블록도이다.1 is a block diagram illustrating a context modeling apparatus 100 according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 문맥 모델링 장치(100)는 문맥 생성부(110), 문맥 선택부(120), 예측움직임벡터 산출부(130) 및 문맥 갱신부(140)를 포함한다.The context modeling apparatus 100 according to an exemplary embodiment of the present invention includes a context generator 110, a context selector 120, a predictive motion vector calculator 130, and a context updater 140.

문맥 생성부(110)는 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정한다.The context generator 110 determines the context of the neighboring block by using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block.

문맥 선택부(120)는 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택한다.The context selector 120 selects the context of the current block corresponding to the context of the neighboring block.

예측움직임벡터 산출부(130)는 선택된 현재 블록의 문맥에 의해 현재 블록의 예측 움직임 벡터를 산출한다.The predictive motion vector calculator 130 calculates a predicted motion vector of the current block based on the context of the selected current block.

문맥 갱신부(140)는 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥이 현재 블록의 움직임 벡터를 반영하도록 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블을 갱신한다.The context updater 140 updates the context table in which the context corresponding to the combination of the context of the neighboring block is set so that the context of the current block corresponding to the combination of the context of the neighboring block reflects the motion vector of the current block.

일반적으로 현재 블록의 움직임 벡터는 주변 블록의 움직임 벡터와 높은 상관도를 가지며, 주변 블록의 움직임 벡터 역시 그 주변 블록의 이웃한 블록들이 가지는 움직임 벡터와 높은 상관도를 가지기 때문에, 주변 블록과 그 주변 블록의 이웃한 블록이 가지는 움직임 벡터 상관도는 현재 블록과 주변 블록의 움직임 벡터 상관도와 밀접한 관계를 갖는다. 따라서 이를 기반으로 현재 블록의 움직임 벡터에 대한 문맥을 모델링 하면, 카메라의 움직임이나 영상 내 물체의 배치, 크기, 움직임 등에 의해 변화하는 현재 블록의 움직임 벡터를 효과적으로 예측할 수 있고, 이는 결과적으로 영상의 특성을 적응적으로 반영하는 움직임 예측 후보를 제공할 수 있게 되어 결국 향상된 부호화 효율로 이어지게 된다.In general, since the motion vector of the current block has a high correlation with the motion vector of the neighboring block, and the motion vector of the neighboring block also has a high correlation with the motion vector of the neighboring blocks of the neighboring block, the neighboring block and its neighbors The motion vector correlation of neighboring blocks of the block is closely related to the motion vector correlation of the current block and neighboring blocks. Therefore, by modeling the context of the motion vector of the current block based on this, it is possible to effectively predict the motion vector of the current block that is changed by camera movement or by the arrangement, size, and movement of objects in the image. It is possible to provide a motion prediction candidate that adaptively reflects the result, leading to improved coding efficiency.

본 발명의 사상이 기존 기술과 대비되는 가장 중요한 점은, 주변의 움직임 벡터와 그 주변 블록의 이웃한 움직임 벡터 간의 상관성을 기반으로 현재 블록의 움직임 벡터를 효율적으로 예측할 수 있는 문맥을 모델링 하는 데에 있다. 또한, 그 문맥을 모델링 하는 방법에 있어, 실제 움직임 벡터(True motion vector)와 예측된 움직임 벡터(Predictive motion vector)와의 차이(DTCP: Distance from True motion vector to Candidate Predictive motion vector) 및 출현 빈도(Occurrence Probability), 평균(Average), 분산(Variance) 등을 주변 블록과 그 주변 블록의 이웃한 움직임 벡터들이 가지는 움직임 벡터 상관성의 측도로 사용할 수 있다. The most important point that the idea of the present invention is compared with the existing technology is to model a context that can efficiently predict the motion vector of the current block based on the correlation between the neighboring motion vector of the neighboring motion vector and the neighboring block. have. In addition, in the method of modeling the context, a distance from True motion vector to Candidate Predictive motion vector (DTCP) and the frequency of occurrence (Occurrence) between a true motion vector and a predicted motion vector Probability, average, variance, and the like may be used as a measure of motion vector correlation between neighboring blocks and neighboring motion vectors of the neighboring blocks.

생성된 문맥 모델은 시퀀스 단위, 프레임 단위, 매크로 블록 또는 하위 블록 단위로 적응적으로 갱신(Update)이 가능하며, 갱신을 하지 않고 고정된 형태(Fixed form)로도 사용이 가능하다. 더불어 본 기술은 기존에 복호된 블록들의 움직임 벡터들의 상관관계를 이용하여 문맥을 생성하기 때문에, 부호화하는 프레임 또는 프레임의 일부(매크로블록 등) 단위에 대해 부가 정보 없이(부가적으로 비트를 할당하지 않고) 복호기에서 적응적으로 문맥을 예측 및 갱신할 수 있다.The generated context model can be updated in units of sequence, frame, macroblock, or sub-block, and can be used in fixed form without updating. In addition, since the present technology generates a context by using the correlation of motion vectors of the conventionally decoded blocks, it does not allocate additional bits (additionally bits) for a frame or a portion of a frame (macroblock, etc.) to be encoded. The context may be adaptively predicted and updated in the decoder.

도 2는 현재 블록 X와, 그 주변 블록 A, B, C, 그리고 각 주변 블록의 이웃한 블록 L, U, UR, 0를 예시한 그림이다. 여기서 O는 주변 블록 자신, L은 주변 블록의 왼쪽 이웃 블록, U는 주변 블록의 윗쪽 이웃 블록, UR은 주변 블록의 위-오른쪽 이웃 블록을 나타낸다. 한편, 현재 블록 X의 주변 블록 및 그 이웃 블록의 정의는 실시예에 따라 달라질 수 있으며 도 2에 한정되지 않을 수 있다.2 is a diagram illustrating a current block X, neighboring blocks A, B, and C, and neighboring blocks L, U, UR, and 0 of each neighboring block. Where O is the neighboring block itself, L is the left neighboring block of the neighboring block, U is the upper neighboring block of the neighboring block, and UR is the upper-right neighboring block of the neighboring block. Meanwhile, the definitions of the neighboring block and the neighboring block of the current block X may vary depending on the embodiment and may not be limited to FIG. 2.

문맥 생성부(110)는 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정한다.The context generator 110 determines the context of the neighboring block by using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block.

현재 블록의 움직임 벡터 상관도는 주변 블록과 그 주변 블록의 이웃한 블록들이 나타내는 상관도로 표현할 수 있으므로, 이를 이용하여 문맥을 생성할 수 있게 된다. 여기서, 상관도는 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이, 주변 블록의 움직임 벡터의 평균, 주변 블록의 움직임 벡터의 발생확률 등을 사용할 수 있다.Since the motion vector correlation of the current block can be expressed as a correlation represented by the neighboring block and the neighboring blocks of the neighboring block, the context can be generated using this. The correlation may be a difference between a motion vector of a neighboring block and a motion vector of a neighboring block of the current block, an average of motion vectors of a neighboring block, and a probability of occurrence of a motion vector of the neighboring block.

도 3은 현재 블록의 주변 블록 A, B, C의 움직임 벡터와 그 이웃 블록(L, U, UR, 0)의 움직임 벡터 간의 상관도 측도에 의해 결정되는 문맥 M(A), M(B), M(C)에 의해 M(X)의 값을 선택하는데 사용되는 문맥 테이블을 예시한 도면이다.3 is a context M (A), M (B) determined by a correlation measure between the motion vectors of neighboring blocks A, B, and C of the current block and the motion vectors of its neighboring blocks (L, U, UR, 0). Is a diagram illustrating a context table used to select the value of M (X) by M (C).

도 3에서 M(A)의 값은 A 블록의 주변에서 A 블록과 상관도가 가장 높은 블록을 의미하며, 만일 M(A)=L인 경우는 움직임 벡터 측면에서 A 블록과 가장 상관도가 높은 블록은 L임을 의미한다. 여기서 사용된 상관도 측도 M(k)(k는 A, B, C)는 다음과 같은 DTCP 기반의 수학식 1로 표현될 수 있다.In FIG. 3, the value of M (A) means the block having the highest correlation with the A block around the A block. If M (A) = L, the value of M (A) has the highest correlation with the A block in terms of the motion vector. Block means L. The correlation measure M (k) (k is A, B, C) used herein may be represented by Equation 1 based on DTCP as follows.

Figure pat00001
Figure pat00001

수학식 1에서 mvk x 는 주변 블록(A, B, C)의 움직임 벡터의 x성분, mvk y 는 주변 블록(A, B, C)의 움직임 벡터의 y성분, mvi x는 이웃 블록(L, U, UR)의 움직임 벡터의 x성분, mvi y 는 이웃 블록(L, U, UR)의 움직임 벡터의 y성분을 의미하며(이때, i는 L(k), U(k), UR(k) 중 하나일 수 있다), i가 O(k)인 경우 즉, mvo x, mvo y 는 영벡터의 x, y 성분을 의미한다.In Equation 1, mv k x is the x component of the motion vector of the neighboring blocks (A, B, C), mv k y is the y component of the motion vector of the neighboring blocks (A, B, C), and mv i x is the neighboring block. X component of the motion vector of (L, U, UR), mv i y means the y component of the motion vector of the neighboring block (L, U, UR), where i is L (k), U (k) , UR (k)), and i is O (k), that is, mv o x and mv o y mean the x and y components of the zero vector.

앞서 언급한 것과 같이 DTCP 뿐만 아니라 발생 확률 및 평균, 분산 등 다양한 상관도 측도를 이용하여 M(k) 값을 결정 가능하다. As mentioned above, M (k) can be determined using various correlation measures such as occurrence probability, average, and variance as well as DTCP.

따라서 문맥 생성부(110)는 위와 같은 과정을 통해 현재 부호화/복호화 하고자 하는 블록 X의 주위 블록 A, B, C에서 문맥 {M(A), M(B), M(C)}를 생성하고, 이를 문맥 선택부(120)로 전송한다.Therefore, the context generator 110 generates the context {M (A), M (B), M (C)} in the blocks A, B, and C of the block X to be currently encoded / decoded through the above process. This is transmitted to the context selector 120.

문맥선택부(120)는 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택한다.The context selector 120 selects the context of the current block corresponding to the context of the neighboring block.

문맥의 선택 방법은 다음과 같다.The context selection method is as follows.

(1) 문맥 생성부(11)로부터 현재 부/복호화 하고자 하는 현재 블록 X의 주위 블록 A, B, C의 문맥 {M(A), M(B), M(C)}를 수신한다.(1) The context generating unit 11 receives the context {M (A), M (B), M (C)} of the surrounding blocks A, B, and C of the current block X to be currently encoded / decoded.

(2) 문맥 {M(A), M(B), M(C)}에 해당하는 문맥 테이블을 참조하여 M(X) 값을 구한다. 따라서, [{M(A), M(B), M(C)} = {U, U, U}]인 경우에 M(X)는 문맥 테이블상에서 MVb라는 기설정된 문맥이 선택될 수 있다. 여기서 M(X)의 값으로 예시된 MVa, MVb, MVo 등은 U, UR, L, O 등의 값을 가질 수 있으나, 이에 한정되지는 않으며 U, UR, L, O 의 값을 각각 일정 비율로 조합한 값을 가질 수도 있다.(2) The M (X) value is obtained by referring to the context table corresponding to the context {M (A), M (B), M (C)}. Therefore, when [{M (A), M (B), M (C)} = {U, U, U}], M (X) may be selected as a preset context of MVb on the context table. Here, MVa, MVb, MVo, etc. exemplified as the value of M (X) may have a value of U, UR, L, O, etc., but is not limited thereto, and the ratio of U, UR, L, O may be a predetermined ratio. It can also have a value combined.

(3) 문맥선택부(120)는 선택된 M(X)를 예측움직임벡터 산출부(130)로 전송한다.(3) The context selector 120 transmits the selected M (X) to the predictive motion vector calculator 130.

예측움직임벡터 산출부(130)는 수신한 M(X)의 값을 이용하여 현재 블록의 움직임 예측 벡터를 산출한다.The prediction motion vector calculator 130 calculates a motion prediction vector of the current block by using the received value of M (X).

한편, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥의 갱신은, 현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.Meanwhile, the context update of the current block corresponding to the combination of the contexts of the neighboring blocks may be updated by reflecting the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block. have.

도 4는 각 주변 블록의 DTCP 값의 변화 및 사이즈 W의 윈도우를 예시한 도면이다. 여기서 화살표는 부호화할 블록이 발생하는 경우를 의미하며, Dmva, Dmvb, Dmvc, Dmvo는 각각 주변 블록 A, B, C, O와의 DTCP 값을 의미한다(화살표의 길이는 DTCP 값을 의미).4 is a diagram illustrating a change in the DTCP value of each neighboring block and a window of the size W; Here, the arrow indicates a case where a block to be encoded is generated, and D mva , D mvb , D mvc , and D mvo denote DTCP values with neighboring blocks A, B, C, and O, respectively (the length of the arrow indicates the DTCP value). meaning).

문맥 갱신부(140)에서의 문맥 갱신 방법은 부호화/복호화 중 현재 블록의 예측 움직임 벡터의 산출이 끝난 후 현재 블록 X의 실제의 움직임 벡터를 문맥에 갱신하는 방법이다. The context updating method in the context updating unit 140 is a method of updating the actual motion vector of the current block X to the context after calculation of the prediction motion vector of the current block is finished during encoding / decoding.

현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 테이블로부터 추출될 수 있다.The context of the current block may be extracted from a table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

문맥 갱신 방법은 수학식 2에 의해 이루어진다.The context update method is performed by Equation (2).

Figure pat00002
Figure pat00002

수학식 2는 여러 갱신 방법 중에 선택된 가중치 기반의 갱신 방법이며, 문맥 갱신 방법은 출현 확률, 평균, 분산 등에 근거한 갱신 방법으로도 구현 가능하다.Equation 2 is a weight-based update method selected from among various update methods, and the context update method may be implemented as an update method based on an appearance probability, an average, a variance, and the like.

수학식 2에서 α는 가중치이며, Nk n은 현재 블록의 예측 움직임 벡터의 산출이 끝난 후 얻어지는 실제 움직임 벡터 (mvX x mvX y)와 후보 예측 움직임 벡터 (mvk x mvk y)와의 DTCP 값이다.In Equation 2, α is a weight, and N k n is a value of the actual motion vector (mv X x mv X y ) obtained after the calculation of the prediction motion vector of the current block is completed and the candidate prediction motion vector (mv k x mv k y ). DTCP value.

여기서 Nk n의 값은 수학식 3으로 구할 수 있다.Here, the value of N k n can be obtained from Equation 3.

Figure pat00003
Figure pat00003

여기서, Dk n -1은 현재 블록의 예측 움직임 벡터 산출 전에 가지고 있는 누적 DTCP 값이고, Dk n은 블록의 예측 움직임 벡터 산출이 끝난 후 얻어지는 Nk n를 Dk n - 1와 함께 수학식 2의 형태로 갱신한 후의 값이다.Here, D k n -1 is a cumulative DTCP value before calculating the predicted motion vector of the current block, and D k n is the equation of N k n obtained after calculating the predicted motion vector of the block together with D k n - 1 The value after the update to form 2.

한편, 부/복호화가 진행되면서 블록의 예측 움직임 벡터 산출이 계속되면 수학식 2를 통해 DTCP Dk n의 값을 계속하여 누적 계산하는 것도 가능하지만, W 길이를 갖는 윈도우를 설정하여 누적 길이를 제한하는 것도 가능하다.On the other hand, if the prediction motion vector calculation of the block continues while encoding / decoding proceeds, it is possible to continuously calculate the value of DTCP D k n through Equation 2, but limit the cumulative length by setting a window having a W length. It is also possible.

Dk n의 값을 갱신하기 전에 수학식 4의 식을 연산하여 W 길이를 갖는 윈도우 내의 값만 유효하게 누적할 수 있다.Before updating the value of D k n , only the values in the window having the W length can be effectively accumulated by calculating the equation (4).

Figure pat00004
Figure pat00004

도 4에서, 길이 W의 윈도우 방식 기반의 문맥 갱신 방법을 사용하면 누적되는 DTCP의 값이 W 개로 일정 길이(즉, 누적 횟수)로 제한될 수 있다. 이 경우 누적되는 횟수는 가변적으로 적용할 수 있도록 W의 값을 변경할 수 있다. 도 4의 경우, W는 5로 설정된 것임을 나타낸다.In FIG. 4, when the window-based context updating method of length W is used, the value of accumulated DTCP may be limited to a certain length (that is, a cumulative number of times). In this case, the value of W can be changed so that the cumulative number can be applied variably. In the case of Fig. 4, W is set to 5.

도 5는 문맥 갱신 방법을 사용하는 경우의 문맥 테이블 초기값을 예시한 도면이다.5 is a diagram illustrating an initial value of a context table when a context updating method is used.

현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하여 갱신할 수 있다.The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block by accumulating the context of the current block accumulates the difference between the motion vector of the current block and the motion vector calculated in the context of the current block. can do.

도 5에 도시하듯이, {M(A), M(B), M(C)}가 {L, L, L}인 경우에는 M(X)의 값은 가장 적은 DTCP 값을 갖는 MVa로 설정될 수 있다.As shown in Fig. 5, when {M (A), M (B), M (C)} is {L, L, L}, the value of M (X) is set to MVa having the smallest DTCP value. Can be.

도 6은 다음번 예측 움직이 벡터를 산출한 후의 문맥 테이블의 변화를 예시한 도면이다.6 is a diagram illustrating a change in the context table after calculating the next predicted motion vector.

도 6에 도시하듯이, 다음번 블록을 부호화하기 위하여 예측 움직임 벡터를 산출하면 한번 더 DTCP값을 누적함으로써 가장 작은 DTCP 누적값(즉, 누적 DTCP(MVb) = 6)을 갖는 MVb로 {M(A), M(B), M(C)}가 {L, L, L}인 경우의 M(X) 값이 갱신될 수 있다.As shown in Fig. 6, when the predicted motion vector is calculated to encode the next block, the DTCP value is accumulated once again, so that MVb having the smallest DTCP accumulation value (that is, cumulative DTCP (MVb) = 6) is equal to {M (A ), M (B), M (C)} may be updated when the value of M (X) is {L, L, L}.

현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다. 즉, 도 5 및 도 6에서 경쟁 기반 움직임 벡터 부호화 방식으로서 두 개 이상의 움직임 벡터 중에 현재 블록의 움직임 벡터와 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 움직임 벡터를 선택하는 방식을 사용할 수 있다.The context of the current block is a fixed context having a value corresponding to a combination of the contexts of the neighboring blocks and the motion vector of the current block that reflects the motion vector of the selected block to select the context having the least rate-distortion cost by calculating the rate-distortion cost. Can be. That is, in FIG. 5 and FIG. 6, as a competition-based motion vector encoding method, a motion vector and a rate-distortion cost of the current block are calculated among two or more motion vectors to select a motion vector having the least rate-distortion cost. Can be.

예를 들어, 문맥 테이블 상에서 각 {M(A), M(B), M(C)}의 문맥 조합에 대응하는 기설정된 고정된(Fixed) 문맥 M(X)ext와, DTCP 기반의 갱신되는 문맥 M(X)(즉, 도 5, 도 6에서는 누적 DTCP 값에 따라 MVa, MVb, KVc, MVo 등으로 변할 수 있다) 중에서 율-왜곡 관점에서 우수한 결과를 보이는 문맥을 선택할 수 있다.For example, a preset fixed context M (X) ext corresponding to a context combination of each {M (A), M (B), M (C)} on the context table, and the DTCP based updated. From the context M (X) (that is, in FIG. 5 and FIG. 6, which may be changed to MVa, MVb, KVc, MVo, etc. according to the cumulative DTCP value), a context having excellent results in terms of rate-distortion may be selected.

따라서 본 발명의 실시예를 통해 주변 블록의 상황에 맞도록 후보 움직임 벡터를 적응적으로 제공할 수 있어 비디오 압축 장치의 압축 성능 혹은 복원 영상의 화질을 향상시킬 수 있게 된다.Therefore, according to an embodiment of the present invention, the candidate motion vector may be adaptively provided to match the situation of the neighboring block, thereby improving the compression performance of the video compression apparatus or the quality of the reconstructed image.

한편, 도 4 내지 도 6의 설명에서 블록 단위로 문맥을 갱신하는 예를 설명하였으나, 문맥의 갱신은 영상의 시퀀스 단위, 프레임 단위, 매크로 블록 단위 또는 서브 블록 단위 어느 것이나 가능하다. 예를 들어 프레임 단위의 문맥 갱신의 경우에는 매크로 블록 단위로 DTCP를 누적하다가, 프레임 단위마다 문맥을 갱신할 수 있으며, 이 경우에도 기설정 갯수만큼의 부호화하는 블록(매크로 블록 또는 그 서브 블록) 갯수만큼 DTCP를 누적할 수 있다.Meanwhile, although an example of updating a context in block units has been described in the description of FIGS. 4 to 6, the context may be updated in any sequence unit, frame unit, macroblock unit, or subblock unit of an image. For example, in case of context update in frame unit, DTCP can be accumulated in macro block unit, and context can be updated in every frame unit. In this case, the number of blocks (macro block or sub-blocks) to be encoded by the preset number is also available. Can accumulate DTCP.

도 7은 본 발명의 일 실시예에 따른 문맥 모델링 방법을 도시한 흐름도이다.7 is a flowchart illustrating a context modeling method according to an embodiment of the present invention.

도 1 내지 7을 참조하여 설명하면, 본 발명의 일 실시예에 따른 문맥 모델링 방법은,현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하는 단계(S702), 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하는 단계(S704) 및 선택된 현재 블록의 문맥에 의해 현재 블록의 예측 움직임 벡터를 산출하는 단계(S706)를 포함할 수 있다.1 to 7, the context modeling method according to an embodiment of the present invention, a neighboring block using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block Determining the context of (S702), selecting the context of the current block corresponding to the context of the neighboring block (S704) and calculating the predicted motion vector of the current block by the context of the selected current block (S706) It may include.

여기서, 상관도는 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이, 주변 블록의 움직임 벡터의 평균, 주변 블록의 움직임 벡터의 발생확률 중 어느 하나일 수 있다.The correlation may be any one of a difference between a motion vector of a neighboring block and a motion vector of a neighboring block, a mean of motion vectors of a neighboring block, and a probability of occurrence of a motion vector of the neighboring block.

또한, 여기서 현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출될 수 있다.Also, the context of the current block may be extracted from a context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

문맥 모델링 방법은, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥이 현재 블록의 움직임 벡터를 반영하도록 문맥 테이블을 갱신하는 문맥 갱신 단계(S708)를 추가로 포함할 수 있다.The context modeling method may further include a context updating step S708 of updating the context table so that the context of the current block corresponding to the combination of contexts of the neighboring blocks reflects the motion vector of the current block.

또한, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥의 재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.In addition, it may be updated by reflecting the difference between the motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the reblock of the context of the current block corresponding to the combination of the context of the neighboring block.

그리고, 현재 블록의 문맥은, 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다.In addition, the context of the current block is calculated by calculating the rate-distortion cost among the selected contexts as a result of reflecting the motion vector of the current block and a fixed context having a value corresponding to the combination of the context of the neighboring block. You can choose the context.

현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은, 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적함으로써 반영할 수 있다.The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block for each kind of context of the current block is accumulated by accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block. Can reflect.

이때, 문맥의 갱신은, 영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어질 수 있다.In this case, the context may be updated by any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.

현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한될 수 있다.The maximum number of times of accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block may be limited to a preset number.

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

본 발명의 일 실시예에 따른 영상 부호화 장치(800)는 예측기(Predictor, 810), 감산기(Subtracter, 820), 변환 및 양자화기(Transformer and Quantizer, 830), 스캐너(Scanner, 840), 부호화기(Encoder, 850), 역양자화 및 역변환기(Inverse Quantizer and Transformer, 860), 가산기(Adder, 870) 및 필터(Filter, 880)를 포함하여 구성될 수 있다. The image encoding apparatus 800 according to an embodiment of the present invention may include a predictor 810, a subtractor 820, a transform and quantizer 830, a scanner 840, and an encoder. Encoder 850), an inverse quantization and transformer 860, an adder 870, and a filter 880.

부호화하고자 하는 입력 영상은 블록 단위로 입력될 수 있는데, 블록은 매크로블록(Macroblock)이 될 수 있다. 본 발명의 일 실시예에서, 매크로블록의 형태는 M×N 등 다양한 형태일 수 있으며, 여기서, M과 N은 2n(단, n은 1 이상의 정수임)의 값을 가지는 자연수일 수 있다. 또한, 부호화할 프레임마다 다른 형태의 블록을 이용할 수 있으며, 이에 대한 정보인 블록 타입에 대한 정보를 각 프레임마다 부호화하여, 영상 복호화 장치에서 부호화된 데이터를 복호화할 때 복호화할 프레임의 블록의 형태를 결정하도록 할 수 있다. 어떠한 형태의 블록을 이용할지에 대한 결정은 현재 프레임을 다양한 형태의 블록으로 부호화하여 최적의 효율을 내는 블록의 형태를 선택하거나, 프레임의 특성을 분석하여 분석된 특성에 따라 블록의 형태를 선택할 수 있다.The input image to be encoded may be input in units of blocks, and the block may be a macroblock. In one embodiment of the present invention, the shape of the macroblock may be a variety of forms, such as M × N, where M and N may be a natural number having a value of 2 n (where n is an integer of 1 or more). In addition, a different type of block may be used for each frame to be encoded, and information about a block type, which is information about the frame type, may be encoded for each frame to determine a form of a block of a frame to be decoded when the image decoding apparatus decodes the encoded data. You can decide. Determination of which type of block to use can be made by selecting the type of block that has the best efficiency by encoding the current frame into various types of blocks, or by selecting the type of block according to the analyzed characteristics by analyzing the characteristics of the frame. have.

이를 위해, 영상 부호화 장치(800)는 블록 타입을 결정하고 블록 타입에 대한 정보를 부호화하여 부호화 데이터에 포함시키는 블록 타입 결정기(미도시)를 추가로 포함하여 구성될 수 있다.To this end, the image encoding apparatus 800 may further include a block type determiner (not shown) that determines the block type and encodes information about the block type in the encoded data.

예측기(810)는 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성한다. 즉, 예측기(810)는 영상에서 부호화하고자 하는 현재 블록의 각 화소의 화소값(Pixel Value)을 예측하여 예측된 각 화소의 예측 화소값(Predicted Pixel Value)을 갖는 예측 블록(Predicted Block)을 생성한다. 여기서, 예측기(810)는 인트라 예측 또는 인터 예측을 이용하여 현재 블록을 예측할 수 있다. 인터 예측의 경우에는 움직임 벡터도 생성한다.The predictor 810 generates a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image. That is, the predictor 810 generates a predicted block having a predicted pixel value of each pixel by predicting a pixel value of each pixel of the current block to be encoded in the image. do. Here, the predictor 810 may predict the current block by using intra prediction or inter prediction. In the case of inter prediction, a motion vector is also generated.

감산기(820)는 현재 블록과 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성한다. 즉, 감산기(820)는 부호화하고자 하는 현재 블록의 각 화소의 화소값과 예측기(810)에서 예측한 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔여 신호(Residual Signal)를 갖는 잔여 블록을 생성한다.The subtractor 820 subtracts the current block and the prediction block to generate a residual block. That is, the subtractor 820 calculates a difference between the pixel value of each pixel of the current block to be encoded and the predicted pixel value of each pixel of the prediction block predicted by the predictor 810 to obtain a residual signal in the form of a block. Creates a residual block with

변환 및 양자화기(830)가 잔여 블록을 변환 및 양자화할 때, 양자화 과정에 변환 과정이 포함되어 있기 때문에 양자화가 완료되어야만 변환도 완료된다. 여기서, 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 트랜스폼 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform, 이하 '정수 변환'이라고 약칭함) 등과 같은 공간 영역의 영상 신호를 주파수 영역으로 변환하는 기법이 이용될 수 있으며, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법이 이용될 수 있다.When the transform and quantizer 830 transforms and quantizes the residual block, the transform is completed only after the quantization is completed because the transform process is included in the quantization process. Here, the transform method includes a spatial signal such as a Hadamard transform and a discrete cosine transform based integer transform (hereinafter, referred to as an integer transform) to the frequency domain. Transformation techniques may be used, and various quantization techniques such as Dead Zone Uniform Threshold Quantization (DZUTQ) or Quantization Weighted Matrix (DZUTQ) are used as quantization schemes. Can be.

스캐너(840)는 변환 및 양자화기(830)에 의해 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캐닝(Scanning)하여 양자화 변환 계수열을 생성한다. 이때, 스캐닝 방식은 변환 기법, 양자화 기법, 블록(매크로블록 또는 서브블록)의 특성을 고려하며, 스캐닝 순서는 스캐닝한 양자화 변환 계수열이 최소의 길이가 되도록 결정될 수 있다. 도 8에서는 스캐너(840)가 부호화기(850)와 독립적으로 구현되는 것으로 도시하고 설명하지만, 스캐너(840)는 생략되어 그 기능이 부호화기(850)에 통합될 수 있다.The scanner 840 scans the quantized transform coefficients of the residual block transformed and quantized by the transform and quantizer 830 to generate a quantized transform coefficient sequence. In this case, the scanning method considers characteristics of a transform technique, a quantization technique, and a block (macroblock or subblock), and the scanning order may be determined such that the scanned quantization transform coefficient sequence has a minimum length. In FIG. 8, the scanner 840 is illustrated and described as being implemented independently of the encoder 850, but the scanner 840 may be omitted, and its function may be integrated into the encoder 850.

부호화기(850)는 변환 및 양자화된 잔여 블록과, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화한다. The encoder 850 determines the context of the neighboring block by using the transformed and quantized residual block and the correlation between the motion vector of the neighboring block of the current block and the motion vector of the neighboring block. The context of the current block corresponding to is selected to encode a residual motion vector which is a difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block.

부호화기(850)에서 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 예측 움직인 벡터를 산출하기 위하여 본 발명의 일 실시예에 따른 문맥 모델링 장치(100)를 사용할 수 있다. 따라서, 부호화기는 본 발명의 일 실시예에 따른 문맥 모델링 장치(100)에서 발생된 예측 움직임 벡터와 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화할 수 있다.The encoder 850 determines the context of the neighboring block by using the correlation between the motion vector of the neighboring block of the current block and the motion vector of the neighboring block, and determines the context of the current block corresponding to the context of the neighboring block. The contextual modeling apparatus 100 according to an embodiment of the present invention may be used to calculate a predicted motion vector by the context of the selected current block. Accordingly, the encoder may encode a residual motion vector that is a difference between the predicted motion vector generated in the context modeling apparatus 100 and the motion vector of the current block according to an embodiment of the present invention.

즉, 부호화기(850)는 변환 및 양자화기(830)에 의해 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캔하여 생성되는 양자화 변환 계수열을 부호화하여 부호화 데이터를 생성하거나 스캐너(840)에 의해 스캔되어 생성되는 양자화 변환 계수열을 부호화하고 생성된 잔여 움직임 벡터를 부호화하여 부호화 데이터를 생성한다.That is, the encoder 850 encodes the quantized transform coefficient string generated by scanning the quantized transform coefficients of the residual block transformed and quantized by the transform and quantizer 830 to generate encoded data or scan by the scanner 840. And encoding the generated quantized transform coefficient sequence and encoding the generated residual motion vector to generate encoded data.

이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 이용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다. 또한, 부호화기(850)는 양자화 변환 계수열을 부호화한 비트열뿐만 아니라 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 여기서, 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들이란 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있지만, 이외의 다양한 정보들이 될 수도 있다.As the encoding technique, an entropy encoding technique may be used, but various encoding techniques may be used without being limited thereto. In addition, the encoder 850 may include not only a bit string obtained by encoding the quantized transform coefficient sequence, but also various pieces of information necessary to decode the encoded bit sequence in the encoded data. Here, the various pieces of information necessary to decode the encoded bit strings include information about a block type, information about an intra prediction mode when the prediction mode is an intra prediction mode, and information about a motion vector when the prediction mode is an inter prediction mode. Information, information on transform and quantization types, and the like, but also various other information.

한편, 상관도는, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이, 주변 블록의 움직임 벡터의 평균, 주변 블록의 움직임 벡터의 발생확률 중 어느 하나일 수 있다.The correlation may be any one of a difference between a motion vector of a neighboring block and a motion vector of a neighboring block, a mean of motion vectors of a neighboring block, and a probability of occurrence of a motion vector of a neighboring block. .

예를 들어, 수학식 1에서는 DTCP(현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이)를 이용하여 상관도를 구하였으나, 주변 블록에 이웃한 블록의 움직임 벡터의 평균값을 이용하여 주변 블록의 문맥을 결정할 수 있다.For example, in Equation 1, the correlation is obtained using DTCP (difference between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block), but the motion vector of the block neighboring the neighboring block is obtained. The average value of can be used to determine the context of the neighboring block.

또한, 현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출될 수 있다. In addition, the context of the current block may be extracted from the context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

한편, 부호화기(850)는 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥이 현재 블록의 움직임 벡터를 반영하도록 문맥 테이블을 갱신할 수 있다.Meanwhile, the encoder 850 may update the context table so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

이때, 현재 블록의 문맥은, 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다.In this case, the context of the current block is calculated by the rate-distortion cost among the selected contexts as a result of reflecting the motion vector of the current block and a fixed context having a value corresponding to the combination of the context of the neighboring block. You can choose the context.

또한, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥의 갱신은, 현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.In addition, the context update of the current block corresponding to the combination of the contexts of the neighboring blocks may be updated by reflecting the difference between the motion vector of the current block and the motion vector calculated in the context of the current block for each kind of context of the current block. have.

그리고, 현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은, 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적함으로써 구할 수 있다.The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of the context of the current block indicates the difference between the motion vector of the current block and the motion vector calculated in the context of the current block. It can obtain | require by accumulating.

역양자화 및 역변환기(860)는 변환 및 양자화기(830)에 의해 변환 및 양자화된 잔여 블록을 역 양자화(Inverse Quantization)하고 역 변환(Inverse Transform)하여 잔여 블록을 복원(Reconstruction)한다. 역 양자화와 역 변환은 변환 및 양자화기(830)가 수행한 변환 과정과 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화 및 역변환기(860)는 변환 및 양자화기(830)로부터 발생되어 전달되는 변환 및 양자화에 관한 정보(예를 들어, 변환 및 양자화 타입에 대한 정보)를 이용하여 변환 및 양자화기(830)가 변환 및 양자화한 방식을 역으로 수행하여 역 양자화 및 역 변환을 수행할 수 있다.The inverse quantization and inverse transformer 860 inverse quantizes and inverse transforms the residual block transformed and quantized by the transform and quantizer 830 to reconstruct the residual block. Inverse quantization and inverse transformation may be performed by inversely performing a transform process and a quantization process performed by the transform and quantizer 830. That is, the inverse quantizer and inverse transformer 860 may use transform and quantizer information using transform and quantization information (eg, information on transform and quantization types) generated and transmitted from the transform and quantizer 830. Inverse quantization and inverse transformation may be performed by performing a transform and quantization scheme inversely.

가산기(870)는 예측기(810)에 의해 예측된 예측 블록과 역양자화 및 역변환기(860)에 의해 역 양자화 및 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다.The adder 870 reconstructs the current block by adding the prediction block predicted by the predictor 810 and the residual block inversely quantized and inversely transformed by the inverse quantization and inverse transformer 860.

필터(880)는 가산기(870)에 의해 복원되는 현재 블록을 필터링(Filtering)한다. 이때, 필터(880)는 영상의 블록 단위의 변환 및 양자화에 의해 블록 경계 또는 변환 경계에서 발생하는 블록화 현상(Blocking Effects)을 감소시킨다. 한편, 필터(880)는 복원된 현재 블록과 함께 전송되는 변환 및 양자화 타입에 대한 정보를 이용하여 필터링할 수 있다. 이 변환 및 양자화 타입에 대한 정보는 역양자화 및 역변환기(860)에 의하여 가산기(870)으로 전달되고 다시 필터(880)로 전달될 수 있으며, 필터(880)에서는 블록화 현상을 없애기 위한 방법으로 디블록킹 필터(Deblocking Filter)를 사용할 수 있다.The filter 880 filters the current block reconstructed by the adder 870. In this case, the filter 880 reduces the blocking effects occurring at the block boundary or the transform boundary by transformation and quantization of the block unit of the image. Meanwhile, the filter 880 may filter using information on a transform and quantization type transmitted together with the restored current block. The information about the transform and quantization type may be transferred to the adder 870 by the inverse quantization and inverse transformer 860 and then to the filter 880, and the filter 880 may be used as a method for eliminating blocking. You can use a blocking filter.

본 발명의 일 실시예에서는 현재 블록과 움직임 보상 블록의 차이인 잔여 블록만 변환 및 양자화되고 부호화되어 인터 예측 부호화에 따른 영상 부호화 데이터가 비트스트림에 포함되는 것으로 설명하지만, 실제로 영상 부호화 장치(800)는 인트라 예측 부호화되는 영상 부호화 데이터를 추가로 생성할 수 있으며, 비트스트림에는 인터 예측 부호화에 의해 생성되는 영상 부호하 데이터뿐만 아니라 인트라 예측 부호화에 의해 생성되는 영상 부호화 데이터와 그 영상 부호화 데이터를 인트라 예측 복호화기 위한 정보 또는 그 부호화 데이터가 추가로 포함될 수 있다.In the exemplary embodiment of the present invention, only the residual block, which is the difference between the current block and the motion compensation block, is transformed, quantized, and encoded, so that the image encoded data according to the inter prediction encoding is included in the bitstream. May further generate image coded data to be intra predictively coded, and in the bitstream, the image coded data generated by intra predictive coding and the image coded data generated by intra predictive coding as well as the image coded data generated by inter predictive coding may be intra predicted. Information for decoding or encoded data thereof may be further included.

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

본 발명의 일 실시예에 따른 영상 복호화 장치(900)는 도 8을 통해 전술한 영상 부호화 장치(800)와 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, TV, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP:PlayStation Portable), 무선 단말기(Wireless Communication Terminal), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image decoding apparatus 900 according to an embodiment of the present invention, like the image encoding apparatus 800 described above with reference to FIG. 8, may be a personal computer (PC), a notebook computer, a TV, a personal digital assistant (PDA). Personal Digital Assistant (PMP), Portable Multimedia Player (PMP), PlayStation Portable (PSP: PlayStation Portable), Wireless Terminal (Digital Communication Terminal), Digital TV, etc., to communicate with various devices or wired and wireless communication networks. It refers to various devices including a communication device such as a communication modem, a memory for storing various programs and data for decoding an image, a microprocessor for executing and operating a program, and the like.

도 1 내지 도 9를 함께 참조하면서 설명하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(900)는 복호화기(910), 역 스캐너(920), 역양자화 및 역변환기(930), 예측기(940), 가산기(950) 및 필터(960)를 포함하여 구성될 수 있다. 여기서, 역 스캐너(920)와 필터(960)는 반드시 포함되어야 하는 것은 아니며 구현 방식에 따라 선택적으로 생략될 수 있으며, 역 스캐너(820)가 생략되는 경우에는 그 기능이 복호화기(910)에 통합되어 구현될 수 있다.1 to 9, the image decoding apparatus 900 according to an embodiment of the present invention includes a decoder 910, an inverse scanner 920, an inverse quantization and inverse transformer 930, and a predictor ( 940, adder 950, and filter 960. In this case, the inverse scanner 920 and the filter 960 are not necessarily included and may be selectively omitted depending on the implementation manner. When the inverse scanner 820 is omitted, the function is integrated in the decoder 910. Can be implemented.

복호화기(910)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호한다. 즉, 복호화기(910)는 부호화 데이터를 복호화하여 양자화 변환 계수열을 복원할 수 있는데, 영상 부호화 장치(800)에서 스캐너(840)의 기능이 부호화기(850)에 통합되어 구현된 경우 영상 부호화 장치(900)에서도 역 스캐너(920)는 생략되어 그 기능이 복호화기(910)에 통합되어 구현되므로, 복호화기(910)는 복원된 양자화 변환 계수열을 역 스캐닝하여 변환 및 양자화된 잔여 블록을 복원하고, 잔여 움직임 벡터에 대한 정보를 복호하여 잔여 움직임 벡터를 복원할 수 있다.The decoder 910 decodes the encoded data to decode the transformed and quantized residual block and the residual motion vector. That is, the decoder 910 may reconstruct the quantization transform coefficient sequence by decoding the encoded data. When the function of the scanner 840 is integrated with the encoder 850 in the image encoding apparatus 800, the image encoding apparatus may be implemented. Since the inverse scanner 920 is also omitted in 900 and its function is integrated and implemented in the decoder 910, the decoder 910 inversely scans the reconstructed quantized transform coefficient sequence to recover the transformed and quantized residual blocks. In addition, the residual motion vector may be restored by decoding the information on the residual motion vector.

또한, 복호화기(910)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록뿐만 아니라 복호화에 필요한 정보들을 복호화하거나 추출할 수 있다. 복호화에 필요한 정보들은 부호화 데이터 내의 부호화된 비트열을 복호화하는 데 필요한 정보들을 말하며, 예를 들어 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있지만, 이외의 다양한 정보들이 될 수도 있다.In addition, the decoder 910 may decode and extract encoded data to decode or extract information necessary for decoding as well as the transformed and quantized residual block. The information necessary for decoding refers to information necessary for decoding the coded bit string in the encoded data. For example, information about a block type, information about an intra prediction mode when the prediction mode is an intra prediction mode, and an inter prediction mode In the case of the prediction mode, the information may be information on a motion vector, information on a transform and quantization type, or the like.

블록 타입에 대한 정보는 역양자화 및 역변환기(930)와 예측기(940)로 전달될 수 있으며, 변환 및 양자화 타입에 대한 정보는 역양자화 및 역변환기(930)로 전달될 수 있으며, 인트라 예측 모드에 대한 정보와 움직임 벡터에 대한 정보와 같은 예측에 필요한 정보들은 예측기(940)로 전달될 수 있다.Information about the block type may be transferred to the inverse quantization and inverse transformer 930 and the predictor 940, and information about the transform and quantization type may be transferred to the inverse quantization and inverse transformer 930. Information necessary for prediction, such as information on the motion vector and the motion vector, may be transmitted to the predictor 940.

역 스캐너(920)는 복호화기(910)에서 양자화 변환 계수열을 복원하여 전달하면 양자화 변환 계수열을 역 스캐닝하여 변환 및 양자화된 잔여 블록을 복원한다. The inverse scanner 920 restores and transfers the quantization transform coefficient sequence by the decoder 910 to inversely scan the quantization transform coefficient sequence to restore the transformed and quantized residual block.

역 스캐너(920)는 추출된 양자화 계수열을 역 지그재그 스캔 등 다양한 역 스캐닝 방식으로 역 스캐닝하여 양자화 계수를 갖는 잔여 블록을 생성한다. 이때의 역 스캐닝 방식은 복호화부(910)에서 변환의 크기에 대한 정보를 얻어 이에 해당하는 역 스캐닝 방법을 사용하여 잔여 블록을 생성하게 된다.The inverse scanner 920 inversely scans the extracted quantization coefficient sequence by various inverse scanning schemes such as inverse zigzag scan to generate a residual block having the quantization coefficients. In this case, the inverse scanning method obtains information on the size of the transform from the decoder 910 and generates a residual block using the corresponding inverse scanning method.

또한, 전술한 바와 같이, 영상 부호화 장치(800)에서 스캐너(840)의 기능이 부호화기(850)에 통합되어 구현된 경우 영상 부호화 장치(900)에서도 역 스캐너(920)는 생략되어 그 기능이 복호화기(910)에 통합될 수 있다. 또한, 복호화기(910) 또는 역 스캐너(920)는 복호화기(910)에서 부호화 데이터를 복호화하여 복원되는 변환 및 양자화 타입에 대한 정보에 의해 식별되는 변환 및 양자화 타입에 따라 변환 및 양자화된 잔여 블록을 역 스캐닝한다. 여기서, 역 스캐너(920)가 변환 및 양자화 타입에 따라 역 스캐닝하는 방법은 스캐너(840)가 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캐닝하는 방법을 역으로 수행하는 것과 동일 또는 유사하므로, 역 스캐닝하는 방법에 대해서는 상세한 설명을 생략한다.In addition, as described above, when the function of the scanner 840 is integrated with the encoder 850 in the image encoding apparatus 800, the inverse scanner 920 is omitted in the image encoding apparatus 900 so that the function is decoded. It may be incorporated into the group 910. In addition, the decoder 910 or the inverse scanner 920 may transform and quantize the residual block according to the transform and quantization type identified by the information on the transform and quantization type, which is recovered by decoding the encoded data in the decoder 910. Reverse scan. Here, the inverse scanning method of the inverse scanner 920 according to the transform and quantization type is the same as or similar to that of the scanner 840 inversely performing the method of scanning the quantized transform coefficients of the transformed and quantized residual block. Detailed description of the scanning method is omitted.

역양자화 및 역변환기(930)는 복원되는 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원한다. 이때, 역양자화 및 역변환기(930)는 복호화기(910)로부터 전달되는 변환 및 양자화 타입에 대한 정보에 의해 식별되는 변환 및 양자화 타입에 따라 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환할 수 있다. 여기서, 역양자화 및 역변환기(930)가 변환 및 양자화된 잔여 블록을 변환 및 양자화 타입에 따라 역 양자화 및 역 변환하는 방법은 영상 부호화 장치(800)의 변환 및 양자화기(930)에서 변환 및 양자화 타입에 따라 변환 및 양자화하는 과정을 역으로 수행하는 것과 동일 또는 유사하므로, 역 양자화 및 역 변환하는 방법에 대해서는 상세한 설명을 생략한다.Inverse quantization and inverse transformer 930 inverse quantizes and inverse transforms the reconstructed transformed and quantized residual block to reconstruct the residual block. In this case, the inverse quantization and inverse transformer 930 may inverse quantize and inverse transform the residual and transformed quantized blocks according to the transform and quantization type identified by the information on the transform and quantization type transferred from the decoder 910. have. Here, the method of inverse quantization and inverse transformation by the inverse quantization and inverse transformer 930 according to the transform and quantization type according to the transform and quantization type is performed by the transform and quantizer 930 of the image encoding apparatus 800. Since the process of transforming and quantizing according to the type is the same as or similar to performing inverse, detailed description of the method of inverse quantization and inverse transformation is omitted.

예측기(940)는 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성한다.The predictor 940 determines the context of the neighboring block by using the correlation between the motion vector of the neighboring block and the motion vector of the neighboring block of the current block and selects the context of the current block corresponding to the context of the neighboring block. By reconstructing the motion vector of the current block by adding the predicted motion vector calculated by the context of the selected current block and the decoded residual motion vector, the predicted block is generated by predicting the current block using the reconstructed motion vector of the current block. .

예측기(940)는 블록 타입에 대한 정보에 의해 식별되는 블록 타입에 따라 현재 블록의 크기와 형태를 결정하고, 예측에 필요한 정보에 의해 식별되는 인트라 예측 모드 또는 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성한다. 이때, 예측기(940)는 영상 부호화 장치(800)의 예측기(810)와 동일 또는 유사한 방법으로, 현재 블록을 서브블록으로 분할하고 분할된 서브블록별로 예측하여 생성되는 예측 서브블록을 결합하여 예측 블록을 생성할 수 있다.The predictor 940 determines the size and shape of the current block according to the block type identified by the information on the block type, and predicts the current block using an intra prediction mode or a motion vector identified by the information required for prediction. Generate a predictive block. In this case, the predictor 940 is the same or similar to the predictor 810 of the image encoding apparatus 800, and divides the current block into subblocks and combines the prediction subblocks generated by predicting the divided subblocks. Can be generated.

여기서, 상관도는 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이, 주변 블록의 움직임 벡터의 평균, 주변 블록의 움직임 벡터의 발생확률 중 어느 하나일 수 있다.The correlation may be any one of a difference between a motion vector of a neighboring block and a motion vector of a neighboring block, a mean of motion vectors of a neighboring block, and a probability of occurrence of a motion vector of the neighboring block.

또한, 현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출될 수 있다.In addition, the context of the current block may be extracted from the context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

한편, 예측기(940 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥이 현재 블록의 움직임 벡터를 반영하도록 문맥 테이블을 갱신할 수 있다.Meanwhile, the context table may be updated so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks of the predictor 940 reflects the motion vector of the current block.

이때, 현재 블록의 문맥은, 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다.In this case, the context of the current block is calculated by the rate-distortion cost among the selected contexts as a result of reflecting the motion vector of the current block and a fixed context having a value corresponding to the combination of the context of the neighboring block. You can choose the context.

그리고, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥의 갱신은, 현재 블록의 문맥의 종류별로 현재 블록의 복원된 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.The context update of the current block corresponding to the combination of contexts of the neighboring blocks is updated by reflecting the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block. can do.

현재 블록의 문맥의 종류별로 현재 블록의 복원된 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은, 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하여 구현할 수 있다.The reflection of the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block is the difference between the motion vector of the current block and the motion vector calculated in the context of the current block. Can be implemented cumulatively.

이때, 문맥의 갱신은, 영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어질 수 있다.In this case, the context may be updated by any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.

또한, 현재 블록의 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한될 수 있다..Further, the maximum number of times of accumulating the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block may be limited to a preset number.

가산기(950)는 역양자화 및 역변환기(930)에 의해 복원되는 잔여 블록과 예측기(940)에 의해 생성되는 예측 블록을 가산하여 현재 블록을 복원한다.The adder 950 reconstructs the current block by adding the residual block reconstructed by the inverse quantization and inverse transformer 930 and the predictive block generated by the predictor 940.

필터(960)는 가산기(950)에 의해 복원되는 현재 블록을 필터링하고, 복원되어 필터링된 현재 블록은 픽처 단위로 누적되어 참조 픽처로서 메모리(미도시) 등에 저장되어 예측기(940)에서 다음 블록 또는 다음 픽처를 예측할 때 활용될 수 있다. The filter 960 filters the current block reconstructed by the adder 950, and the reconstructed filtered current block is accumulated in units of pictures and stored in a memory (not shown) as a reference picture to be stored in the next block or in the predictor 940. It can be used when predicting the next picture.

필터(960)가 필터링을 수행하는 방법은 영상 부호화 장치(800)의 필터(880)가 디블로킹 필터링하는 과정과 동일 또는 유사하므로, 필터링하는 방법에 대해서는 상세한 설명을 생략한다.Since the filtering method of the filter 960 is the same as or similar to that of the deblocking filtering of the filter 880 of the image encoding apparatus 800, a detailed description of the filtering method is omitted.

한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 8의 영상 부호화 장치(800)와 도 9의 영상 복호화 장치(900)를 결합함으로써 구현할 수 있다.Meanwhile, the image encoding / decoding apparatus according to an embodiment of the present invention may be implemented by combining the image encoding apparatus 800 of FIG. 8 and the image decoding apparatus 900 of FIG. 9.

본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측기(810), 현재 블록과 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산기(820), 잔여 블록을 변환 및 양자화하는 변환 및 양자화기(830), 변환 및 양자화된 잔여 블록과, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 부호화기(850)를 포함하는 영상 부호화기(800)(본 발명의 영상 부호화/복호화 장치에서의 영상 부호화부의 일 실시예임)와, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하는 복호화기(910), 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환기(930), 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하는 예측기(950), 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가산기(940)를 포함하는 영상 복호화기(900)(본 발명의 영상 부호화/복호화 장치에서의 영상 복호화부의 일 실시예임)를 구비할 수 있다.The image encoding / decoding apparatus according to an embodiment of the present invention includes a predictor 810 for generating a motion compensation block and a motion vector generated by estimating and compensating the motion of a current block of an image, and subtracting the current block and the motion compensation block. A subtractor 820 that generates a residual block, a transform and quantizer 830 that transforms and quantizes the residual block, a residual vector that is transformed and quantized, and a motion vector and a motion of the neighboring block adjacent to the neighboring block of the current block The difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block is determined by determining the context of the neighboring block using the correlation between the vectors and selecting the context of the current block corresponding to the context of the neighboring block. Image encoder 800 including an encoder 850 for encoding a residual motion vector (in the image encoding / decoding apparatus of the present invention). One embodiment of the image encoder), a decoder 910 for decoding the encoded and decoded residual blocks and the residual motion vector, and an inverse quantization and inverse transform for the transformed and quantized residual blocks to restore the residual block. Inverse quantization and inverse transformer 930 to determine the context of the neighboring block using the correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block and the current corresponding to the context of the neighboring block. By selecting the context of the block, the prediction motion vector calculated by the context of the selected current block and the decoded residual motion vector are added to restore the motion vector of the current block, and the current block is predicted using the reconstructed motion vector of the current block. A predictor 950 for generating a prediction block, an addition for reconstructing the current block by adding the reconstructed residual block and the prediction block And an image decoder 900 including an image 940 (which is an embodiment of an image decoder of the image encoding / decoding apparatus of the present invention).

도 10은 본 발명의 일 실시예에 따른 영상 부호화 방법을 도시한 흐름도이다.10 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.

도 1 내지 도 10을 참조하면서 설명하면, 본 발명의 일 실시예에 따른 영상 부호화 방법은, 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 단계(S1002), 현재 블록과 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 단계(S1004), 잔여 블록을 변환 및 양자화하는 단계(S1006), 변환 및 양자화된 잔여 블록을 부호화하는 단계(S1008), 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하는 단계(S1010), 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 예측 움직임 벡터를 산출하는 단계(S1012), 및 산출된 예측 움직임 벡터와 현재 블록의 움직임 벡터와의 차이를 부호화하는 부호화 단계(S1014)를 포함할 수 있다.1 to 10, the image encoding method according to an embodiment of the present invention generates a motion compensation block and a motion vector generated by estimating and compensating for a motion of a current block of an image (S1002). Generating a residual block by subtracting the current block and the motion compensation block (S1004), transforming and quantizing the residual block (S1006), encoding the transformed and quantized residual block (S1008), and surrounding the current block Determining the context of the neighboring block by using the correlation between the motion vector of the block neighboring the block and the motion vector of the neighboring block (S1010), and selecting the context of the current block corresponding to the context of the neighboring block to predict the motion A step S1012 of calculating a vector and an encoding step S1014 of encoding a difference between the calculated predicted motion vector and the motion vector of the current block may be included.

여기서, 상관도는, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이, 주변 블록의 움직임 벡터의 평균, 주변 블록의 움직임 벡터의 발생확률 중 어느 하나일 수 있다.Here, the correlation may be any one of a difference between a motion vector of a neighboring block and a motion vector of a neighboring block, a mean of motion vectors of a neighboring block, and a probability of occurrence of a motion vector of a neighboring block. .

현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출될 수 있다.The context of the current block may be extracted from the context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

여기서 부호화 단계에서는, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥이 현재 블록의 움직임 벡터를 반영하도록 문맥 테이블을 갱신할 수 있다.In the encoding step, the context table may be updated so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

현재 블록의 문맥은, 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다.The context of the current block is a fixed context having a value corresponding to the combination of the contexts of the neighboring blocks and the context with the least rate-distortion cost calculated by calculating the rate-distortion cost among the selected contexts as a result of reflecting the motion vector of the current block. You can choose.

주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥의 갱신은, 현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.The update of the context of the current block corresponding to the combination of the contexts of the neighboring blocks may be updated by reflecting the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block.

또한, 현재 블록의 문맥의 종류별로 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은, 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적함으로써 반영될 수 있다.In addition, the reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block indicates the difference between the motion vector of the current block and the motion vector calculated in the context of the current block. Can be reflected by accumulation.

이때, 문맥의 갱신은, 영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어질 수 있다.In this case, the context may be updated by any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.

현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한될 수 있다.The maximum number of times of accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block may be limited to a preset number.

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

도 1 내지 도 11을 참조하면서 설명하면, 본 발명의 일 실시예에 따른 영상 복호화 방법은, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하는 단계(S1102), 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 단계(S1104), 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하는 단계(S1106), 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 움직임 벡터를 산출하는 단계(S1108), 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하는 단계(S1110), 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하는 예측 단계(S1112) 및 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 단계(S1114)를 포함할 수 있다.1 to 11, a method of decoding an image according to an exemplary embodiment of the present invention includes decoding encoded data to decode a transformed and quantized residual block and a residual motion vector (S1102), transforming and quantizing Inversely quantizing and inversely transforming the residual block to restore the residual block (S1104), using the correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block to determine the context of the neighboring block. Determining (S1106), selecting a context of the current block corresponding to the context of the neighboring block and calculating a motion vector according to the context of the selected current block (S1108); calculating the predicted motion vector and the decoded residual motion vector Reconstructing the motion vector of the current block by adding the prediction block by using the reconstructed motion vector of the current block to predict the current block By adding the prediction method comprising: generating (S1112) and restoring the residual block and the predicted block that may include the step (S1114) to reconstruct the current block.

여기서, 상관도는, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 차이, 주변 블록의 움직임 벡터의 평균, 주변 블록의 움직임 벡터의 발생확률 중 어느 하나일 수 있다.Here, the correlation may be any one of a difference between a motion vector of a neighboring block and a motion vector of a neighboring block, a mean of motion vectors of a neighboring block, and a probability of occurrence of a motion vector of a neighboring block. .

이때, 현재 블록의 문맥은 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출될 수 있다.In this case, the context of the current block may be extracted from the context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.

여기서 예측 단계(S1112)에서는, 주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥이 현재 블록의 움직임 벡터를 반영하도록 문맥 테이블을 갱신할 수 있다.In the prediction step S1112, the context table may be updated so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.

현재 블록의 문맥은, 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택할 수 있다.The context of the current block is a fixed context having a value corresponding to the combination of the contexts of the neighboring blocks and the context with the least rate-distortion cost calculated by calculating the rate-distortion cost among the selected contexts as a result of reflecting the motion vector of the current block. You can choose.

주변 블록의 문맥의 조합에 대응되는 현재 블록의 문맥의 갱신은, 현재 블록의 문맥의 종류별로 현재 블록의 복원된 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신할 수 있다.The update of the context of the current block corresponding to the combination of the contexts of the neighboring blocks can be updated by reflecting the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block. have.

그리고, 현재 블록의 문맥의 종류별로 현재 블록의 복원된 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은, 현재 블록의 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적함으로써 실현할 수 있다.The reflection of the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block is based on the motion vector of the current block and the motion vector calculated in the context of the current block. This can be achieved by accumulating the differences.

이때, 문맥의 갱신은, 영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어질 수 있다.In this case, the context may be updated by any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.

현재 블록의 복원된 움직임 벡터와 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한될 수 있다.The maximum number of times of accumulating the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block may be limited to a preset number.

본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합함으로써 구현될 수 있다.An image encoding / decoding method according to an embodiment of the present invention may be implemented by combining an image encoding method according to an embodiment of the present invention and an image decoding method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 현재 블록과 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 잔여 블록을 변환 및 양자화하고, 변환 및 양자화된 잔여 블록과, 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하고, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하고 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 주변 블록의 움직임 벡터와의 상관도를 이용하여 주변 블록의 문맥을 결정하고 주변 블록의 문맥에 대응되는 현재 블록의 문맥을 선택하여 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하여 이루어질 수 있다.In an image encoding / decoding method according to an embodiment of the present invention, a motion compensation block and a motion vector generated by estimating and compensating for a motion of a current block of an image are generated, and a residual block is subtracted by subtracting the current block and the motion compensation block. Generate, transform and quantize the residual block, and use the correlation between the transformed and quantized residual block and the motion vector of the block neighboring to the neighboring block of the current block and the motion vector of the neighboring block. Determine and select the context of the current block corresponding to the context of the neighboring block to encode a residual motion vector that is a difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block, and decode the encoded data. Decode the transformed and quantized residual block and residual motion vector and inverse the transformed and quantized residual block Reconstruct the residual block by quantization and inverse transform, determine the context of the neighboring block by using the correlation between the motion vector of the neighboring block and the motion vector of the neighboring block of the current block, and determine the context of the neighboring block By selecting the context of the block, the prediction motion vector calculated by the context of the selected current block and the decoded residual motion vector are added to restore the motion vector of the current block, and the current block is predicted using the reconstructed motion vector of the current block. The prediction block may be generated by generating a prediction block and adding a residual block to be recovered and a prediction block to restore the current block.

이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 현재 블록의 움직임 벡터를 효율적으로 부호화하기 위해 주변 블록의 움직임 벡터 상관도를 기반으로 움직임 벡터의 문맥을 생성하여 후보 움직임 벡터를 주변 블록의 상황에 맞도록 적응적으로 제공함으로써, 현재 블록의 움직임 벡터의 부호화 성능을 크게 향상시킴으로써 비디오 압축 장치의 부호화 성능 혹은 복원 영상의 화질을 향상시키는 효과가 있다.As described above, according to an embodiment of the present invention, in order to efficiently encode the motion vector of the current block, the context of the motion vector is generated based on the motion vector correlation of the neighboring block, and the candidate motion vector is generated as the context of the neighboring block. By adaptively adapting to, the encoding performance of the motion vector of the current block is greatly improved, thereby improving the encoding performance of the video compression apparatus or the quality of the reconstructed video.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless specifically stated otherwise, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms used generally, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.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 not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 현재 블록의 움직임 벡터를 효율적으로 부호화하기 위해 주변 블록의 움직임 벡터 상관도를 기반으로 움직임 벡터의 문맥을 생성하여 후보 움직임 벡터를 주변 블록의 상황에 맞도록 적응적으로 제공함으로써, 현재 블록의 움직임 벡터의 부호화 성능을 크게 향상시킴으로써 비디오 압축 장치의 부호화 성능 혹은 복원 영상의 화질을 향상시킬 수 있어 산업상 이용 가능성이 높다.
As described above, according to an embodiment of the present invention, in order to efficiently encode the motion vector of the current block, the context of the motion vector is generated based on the motion vector correlation of the neighboring block, and the candidate motion vector is generated as the context of the neighboring block. By adaptively adapting to the video signal, the encoding performance of the motion vector of the current block can be greatly improved, so that the encoding performance of the video compression apparatus or the image quality of the reconstructed video can be improved.

Claims (56)

영상을 부호화/복호화하는 장치에 있어서,
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고 상기 잔여 블록을 변환 및 양자화하고 상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 영상 부호화기; 및
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하고 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하고 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 영상 복호화기
를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.
An apparatus for encoding / decoding a video,
Generating a motion compensation block and a motion vector generated by estimating and compensating the motion of the current block of the image, subtracting the current block and the motion compensation block to generate a residual block, transforming and quantizing the residual block, and The context of the neighboring block is determined by using a correlation between the quantized residual block and the motion vector of the neighboring block of the current block and the motion vector of the neighboring block, and the context corresponding to the context of the neighboring block is determined. An image encoder for selecting a context of a current block and encoding a residual motion vector that is a difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block; And
Decode the encoded data to decode the transformed and quantized residual block and the residual motion vector, and inversely quantize and inverse transform the transformed and quantized residual block to restore the residual block, Predicted motion vector calculated by the context of the selected current block by determining the context of the neighboring block by using the correlation with the motion vector of the neighboring block and selecting the context of the current block corresponding to the context of the neighboring block. And reconstruct the motion vector of the current block by adding the decoded residual motion vector and predicting the current block by using the reconstructed motion vector of the current block to generate a prediction block, and the reconstructed residual block and the prediction block. Video decoder to reconstruct the current block by adding
Image encoding / decoding apparatus comprising a.
영상을 부호화하는 장치에 있어서,
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측기;
상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산기;
상기 잔여 블록을 변환 및 양자화하는 변환 및 양자화기; 및
상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 부호화기
를 포함하는 것을 특징으로 하는 영상 부호화 장치.
In the apparatus for encoding a video,
A predictor for generating a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image;
A subtractor for generating a residual block by subtracting the current block and the motion compensation block;
A transform and quantizer for transforming and quantizing the residual block; And
The context of the neighboring block is determined by using a correlation between the transformed and quantized residual block and the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block. An encoder that selects a corresponding context of the current block and encodes a residual motion vector that is a difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block
An image encoding apparatus comprising a.
제 2항에 있어서,
상기 상관도는,
상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나인 것을 특징으로 하는 영상 부호화 장치.
The method of claim 2,
The correlation degree,
A difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vector of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block; Video encoding device.
제 2항에 있어서,
상기 현재 블록의 문맥은 상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출되는 것을 특징으로 하는 영상 부호화 장치.
The method of claim 2,
And the context of the current block is extracted from a context table in which a context corresponding to the combination of the contexts of the neighboring blocks is set.
제 4항에 있어서,
상기 부호화기는,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 것을 특징으로 하는 영상 부호화 장치.
The method of claim 4, wherein
The encoder,
And the context table is updated such that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.
제 5항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택하는 것을 특징으로 하는 영상 부호화 장치.
6. The method of claim 5,
The context of the current block is
Based on the fixed context having a value corresponding to the combination of the context of the neighboring block and the motion vector of the current block, the rate-distortion cost is calculated from the selected context, and the context with the least rate-distortion cost is selected. An image encoding device.
제 5항에 있어서,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신하는 것을 특징으로 하는 영상 부호화 장치.
6. The method of claim 5,
Update of the context of the current block corresponding to the combination of the context of the neighboring block,
And updating by reflecting a difference between a motion vector of the current block and a motion vector calculated in the context of the current block for each type of context of the current block.
제 7항에 있어서,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 누적인 것을 특징으로 하는 영상 부호화 장치.
The method of claim 7, wherein
The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block,
And a cumulative difference between a motion vector of the current block and a motion vector calculated in the context of the current block.
제 8항에 있어서,
상기 문맥의 갱신은,
영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어지는 것을 특징으로 하는 영상 부호화 장치.
The method of claim 8,
Update of the context
An image encoding apparatus, comprising any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.
제 8항에 있어서,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한되는 것을 특징으로 하는 영상 부호화 장치.
The method of claim 8,
And a maximum number of times of accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block is limited to a preset number.
영상을 복호화하는 장치에 있어서,
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하는 복호화기;
상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환기;
현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측기; 및
상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산기
를 포함하는 것을 특징으로 하는 영상 복호화 장치.
In the apparatus for decoding an image,
A decoder for decoding the encoded data to decode the transformed and quantized residual block and the residual motion vector;
An inverse quantization and inverse transformer for reconstructing the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block;
The context of the neighboring block is determined using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block, and the context of the current block corresponding to the context of the neighboring block is selected. Reconstruct the motion vector of the current block by adding the predicted motion vector calculated by the context of the selected current block and the decoded residual motion vector, and predict the current block by using the reconstructed motion vector of the current block. A predictor for generating a block; And
An adder for reconstructing the current block by adding the reconstructed residual block and the prediction block;
Video decoding apparatus comprising a.
제 11항에 있어서,
상기 상관도는,
상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나인 것을 특징으로 하는 영상 복호화 장치.
12. The method of claim 11,
The correlation degree,
A difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vector of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block; Video decoding device.
제 11항에 있어서,
상기 현재 블록의 문맥은 상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출되는 것을 특징으로 하는 영상 복호화 장치.
12. The method of claim 11,
And the context of the current block is extracted from a context table that sets a context corresponding to the combination of the contexts of the neighboring blocks.
제 13항에 있어서,
상기 예측기는,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 13,
The predictor,
And the context table is updated such that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.
제 14항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 14,
The context of the current block is
Based on the fixed context having a value corresponding to the combination of the context of the neighboring block and the motion vector of the current block, the rate-distortion cost is calculated from the selected context, and the context with the least rate-distortion cost is selected. An image decoding device.
제 14항에 있어서,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은,
상기 현재 블록의 문맥의 종류별로 현재 블록의 상기 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 14,
Update of the context of the current block corresponding to the combination of the context of the neighboring block,
And updating by reflecting a difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block.
제 16항에 있어서,
상기 현재 블록의 문맥의 종류별로 현재 블록의 상기 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 누적인 것을 특징으로 하는 영상 복호화 장치.
17. The method of claim 16,
The reflection of the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block is:
And a cumulative difference between a motion vector of the current block and a motion vector calculated in the context of the current block.
제 17항에 있어서,
상기 문맥의 갱신은,
영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어지는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 17,
Update of the context
An image decoding apparatus, comprising any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.
제 17항에 있어서,
현재 블록의 상기 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한되는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 17,
And a maximum number of times of accumulating the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block is limited to a preset number.
문맥 모델링 장치에 있어서,
현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하는 문맥 생성부;
상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하는 문맥선택부; 및
상기 선택된 현재 블록의 문맥에 의해 상기 현재 블록의 예측 움직임 벡터를 산출하는 예측움직임벡터 산출부
를 포함하는 것을 특징으로 하는 문맥 모델링 장치.
In the context modeling apparatus,
A context generator configured to determine a context of the neighboring block by using a correlation between the motion vector of the neighboring block of the current block and the motion vector of the neighboring block;
A context selection unit for selecting a context of the current block corresponding to the context of the neighboring block; And
A predictive motion vector calculator configured to calculate a predicted motion vector of the current block according to the context of the selected current block
The context modeling apparatus comprising a.
제 20항에 있어서,
상기 상관도는,
상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나인 것을 특징으로 하는 문맥 모델링 장치.
The method of claim 20,
The correlation degree,
A difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vector of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block; Contextual modeling device.
제 20항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출되는 것을 특징으로 하는 문맥 모델링 장치.
The method of claim 20,
The context of the current block is
And a context table for setting a context corresponding to the combination of the contexts of the neighboring blocks.
제 22항에 있어서,
상기 문맥 모델링 장치는,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 문맥 갱신부를 추가로 포함하는 것을 특징으로 하는 문맥 모델링 장치.
The method of claim 22,
The context modeling device,
And a context updater configured to update the context table such that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.
제 23항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택하는 것을 특징으로 하는 문맥 모델링 장치.
24. The method of claim 23,
The context of the current block is
Based on the fixed context having a value corresponding to the combination of the context of the neighboring block and the motion vector of the current block, the rate-distortion cost is calculated from the selected context, and the context with the least rate-distortion cost is selected. Contextual modeling device.
제 23항에 있어서,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신하는 것을 특징으로 하는 문맥 모델링 장치.
24. The method of claim 23,
Update of the context of the current block corresponding to the combination of the context of the neighboring block,
And updating by reflecting a difference between a motion vector of the current block and a motion vector calculated in the context of the current block for each type of context of the current block.
제 25항에 있어서,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 누적인 것을 특징으로 하는 문맥 모델링 장치.
The method of claim 25,
The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block,
Accumulation of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block.
제 26항에 있어서,
상기 문맥의 갱신은,
영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어지는 것을 특징으로 하는 문맥 모델링 장치.
The method of claim 26,
Update of the context
The context modeling apparatus of claim 1, wherein the context modeling apparatus comprises one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.
제 26항에 있어서,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한되는 것을 특징으로 하는 문맥 모델링 장치.
The method of claim 26,
The maximum number of times of accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block is limited to a predetermined number of times.
영상을 부호화/복호화하는 방법에 있어서,
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고 상기 잔여 블록을 변환 및 양자화하고 상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이인 잔여 움직임 벡터를 부호화하는 단계; 및
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하고 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하고 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계
를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법.
In the method of encoding / decoding an image,
Generating a motion compensation block and a motion vector generated by estimating and compensating the motion of the current block of the image, subtracting the current block and the motion compensation block to generate a residual block, transforming and quantizing the residual block, and The context of the neighboring block is determined by using a correlation between the quantized residual block and the motion vector of the neighboring block of the current block and the motion vector of the neighboring block, and the context corresponding to the context of the neighboring block is determined. Selecting a context of a current block and encoding a residual motion vector which is a difference between the predicted motion vector calculated by the context of the selected current block and the motion vector of the current block; And
Decode the encoded data to decode the transformed and quantized residual block and the residual motion vector, and inversely quantize and inverse transform the transformed and quantized residual block to restore the residual block, and extract the motion vector of the neighboring block of the current block. Predicted motion vector calculated by the context of the selected current block by determining the context of the neighboring block by using the correlation with the motion vector of the neighboring block and selecting the context of the current block corresponding to the context of the neighboring block. And reconstruct the motion vector of the current block by adding the decoded residual motion vector and predicting the current block by using the reconstructed motion vector of the current block to generate a prediction block, and the reconstructed residual block and the prediction block. Restoring the current block by adding
Image encoding / decoding method comprising a.
영상을 부호화하는 방법에 있어서,
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 단계;
상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 단계;
상기 잔여 블록을 변환 및 양자화하는 단계; 및
상기 변환 및 양자화된 잔여 블록과, 상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터와의 차이를 부호화하는 부호화 단계
를 포함하는 것을 특징으로 하는 영상 부호화 방법.
In the method of encoding an image,
Generating a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image;
Generating a residual block by subtracting the current block and the motion compensation block;
Transforming and quantizing the residual block; And
The context of the neighboring block is determined by using a correlation between the transformed and quantized residual block and the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block. An encoding step of selecting a corresponding context of the current block and encoding a difference between a predicted motion vector calculated by the context of the selected current block and the motion vector of the current block
Image encoding method comprising a.
제 30항에 있어서,
상기 상관도는,
상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나인 것을 특징으로 하는 영상 부호화 방법.
The method of claim 30,
The correlation degree,
A difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vector of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block; Image coding method.
제 30항에 있어서,
상기 현재 블록의 문맥은 상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출되는 것을 특징으로 하는 영상 부호화 방법.
The method of claim 30,
And the context of the current block is extracted from a context table that sets a context corresponding to the combination of the contexts of the neighboring blocks.
제 32항에 있어서,
상기 부호화 단계에서는,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 것을 특징으로 하는 영상 부호화 방법.
The method of claim 32,
In the encoding step,
And updating the context table so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.
제 33항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택하는 것을 특징으로 하는 영상 부호화 방법.
34. The method of claim 33,
The context of the current block is
Based on the fixed context having a value corresponding to the combination of the context of the neighboring block and the motion vector of the current block, the rate-distortion cost is calculated from the selected context, and the context with the least rate-distortion cost is selected. A video encoding method.
제 33항에 있어서,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신하는 것을 특징으로 하는 영상 부호화 방법.
34. The method of claim 33,
Update of the context of the current block corresponding to the combination of the context of the neighboring block,
And updating by reflecting a difference between a motion vector of the current block and a motion vector calculated in the context of the current block for each type of context of the current block.
제 35항에 있어서,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 누적인 것을 특징으로 하는 영상 부호화 방법.
36. The method of claim 35,
The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block,
Cumulative difference between the motion vector of the current block and the motion vector calculated in the context of the current block.
제 36항에 있어서,
상기 문맥의 갱신은,
영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어지는 것을 특징으로 하는 영상 부호화 방법.
37. The method of claim 36,
Update of the context
The video encoding method of any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.
제 36항에 있어서,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한되는 것을 특징으로 하는 영상 부호화 방법.
37. The method of claim 36,
And a maximum number of times of accumulating a difference between the motion vector of the current block and the motion vector calculated in the context of the current block is limited to a preset number.
영상을 복호화하는 방법에 있어서,
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록 및 잔여 움직임 벡터를 복호하는 단계;
상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 단계;
현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하고 상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하여 상기 선택된 현재 블록의 문맥에 의해 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측 단계; 및
상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계
를 포함하는 것을 특징으로 하는 영상 복호화 방법.
In the method of decoding an image,
Decoding the encoded data to decode the transformed and quantized residual block and the residual motion vector;
Inverse quantization and inverse transformation of the transformed and quantized residual block to restore the residual block;
The context of the neighboring block is determined using a correlation between the motion vector of the block neighboring the neighboring block of the current block and the motion vector of the neighboring block, and the context of the current block corresponding to the context of the neighboring block is selected. Reconstruct the motion vector of the current block by adding the predicted motion vector calculated by the context of the selected current block and the decoded residual motion vector, and predict the current block by using the reconstructed motion vector of the current block. A prediction step of generating a block; And
Reconstructing the current block by adding the reconstructed residual block and the prediction block
Image decoding method comprising a.
제 39항에 있어서,
상기 상관도는,
상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나인 것을 특징으로 하는 영상 복호화 방법.
40. The method of claim 39,
The correlation degree,
A difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vector of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block; Image Decoding Method.
제 39항에 있어서,
상기 현재 블록의 문맥은 상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출되는 것을 특징으로 하는 영상 복호화 방법.
40. The method of claim 39,
And the context of the current block is extracted from a context table that sets the context corresponding to the combination of the contexts of the neighboring blocks.
제 41항에 있어서,
상기 예측 단계에서는,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 것을 특징으로 하는 영상 복호화 방법.
42. The method of claim 41 wherein
In the prediction step,
And updating the context table so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.
제 42항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택하는 것을 특징으로 하는 영상 복호화 방법.
The method of claim 42, wherein
The context of the current block is
Based on the fixed context having a value corresponding to the combination of the context of the neighboring block and the motion vector of the current block, the rate-distortion cost is calculated from the selected context, and the context with the least rate-distortion cost is selected. An image decoding method.
제 42항에 있어서,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은,
상기 현재 블록의 문맥의 종류별로 현재 블록의 상기 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신하는 것을 특징으로 하는 영상 복호화 방법.
The method of claim 42, wherein
Update of the context of the current block corresponding to the combination of the context of the neighboring block,
And updating by reflecting a difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block.
제 44항에 있어서,
상기 현재 블록의 문맥의 종류별로 현재 블록의 상기 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 누적인 것을 특징으로 하는 영상 복호화 방법.
The method of claim 44,
The reflection of the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block is:
Cumulative difference between the motion vector of the current block and the motion vector calculated in the context of the current block.
제 45항에 있어서,
상기 문맥의 갱신은,
영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어지는 것을 특징으로 하는 문맥 모델링 장치.
46. The method of claim 45,
Update of the context
The context modeling apparatus of claim 1, wherein the context modeling apparatus comprises one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.
제 45항에 있어서,
현재 블록의 상기 복원된 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한되는 것을 특징으로 하는 영상 복호화 방법.
46. The method of claim 45,
The maximum number of times of accumulating the difference between the reconstructed motion vector of the current block and the motion vector calculated in the context of the current block is limited to a predetermined number of times.
문맥 모델링 방법에 있어서,
현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 상관도를 이용하여 상기 주변 블록의 문맥을 결정하는 단계;
상기 주변 블록의 문맥에 대응되는 상기 현재 블록의 문맥을 선택하는 단계; 및
상기 선택된 현재 블록의 문맥에 의해 상기 현재 블록의 예측 움직임 벡터를 산출하는 단계
를 포함하는 것을 특징으로 하는 문맥 모델링 방법.
In the context modeling method,
Determining a context of the neighboring block by using a correlation between the motion vector of the neighboring block of the current block and the motion vector of the neighboring block;
Selecting a context of the current block corresponding to the context of the neighboring block; And
Calculating a predicted motion vector of the current block according to the context of the selected current block
Context modeling method comprising a.
제 48항에 있어서,
상기 상관도는,
상기 현재 블록의 주변 블록에 이웃한 블록의 움직임 벡터와 상기 주변 블록의 움직임 벡터와의 차이, 상기 주변 블록의 움직임 벡터의 평균, 상기 주변 블록의 움직임 벡터의 발생확률 중 어느 하나인 것을 특징으로 하는 문맥 모델링 방법.
The method of claim 48,
The correlation degree,
A difference between a motion vector of a neighboring block of the current block and a motion vector of the neighboring block, an average of the motion vector of the neighboring block, and a probability of occurrence of the motion vector of the neighboring block; Contextual modeling method.
제 48항에 있어서,
상기 현재 블록의 문맥은 상기 주변 블록의 문맥의 조합에 대응되는 문맥을 설정한 문맥 테이블로부터 추출되는 것을 특징으로 하는 문맥 모델링 방법.
The method of claim 48,
The context of the current block is extracted from the context table for setting the context corresponding to the combination of the context of the neighboring block.
제 50항에 있어서,
상기 문맥 모델링 방법은,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥이 상기 현재 블록의 움직임 벡터를 반영하도록 상기 문맥 테이블을 갱신하는 문맥 갱신 단계를 추가로 포함하는 것을 특징으로 하는 문맥 모델링 방법.
51. The method of claim 50 wherein
The context modeling method,
And updating the context table so that the context of the current block corresponding to the combination of the contexts of the neighboring blocks reflects the motion vector of the current block.
제 51항에 있어서,
상기 현재 블록의 문맥은,
상기 주변 블록의 문맥의 조합에 대응되는 값을 갖는 고정된 문맥과 상기 현재 블록의 움직임 벡터를 반영한 결과 선택된 문맥 중에서 율-왜곡 비용을 계산하여 가장 율-왜곡 비용이 최소인 문맥을 선택하는 것을 특징으로 하는 문맥 모델링 방법.
The method of claim 51,
The context of the current block is
Based on the fixed context having a value corresponding to the combination of the context of the neighboring block and the motion vector of the current block, the rate-distortion cost is calculated from the selected context, and the context with the least rate-distortion cost is selected. Contextual modeling method.
제 51항에 있어서,
상기 주변 블록의 문맥의 조합에 대응되는 상기 현재 블록의 문맥의 갱신은,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 반영하여 갱신하는 것을 특징으로 하는 문맥 모델링 방법.
The method of claim 51,
Update of the context of the current block corresponding to the combination of the context of the neighboring block,
And updating by reflecting a difference between the motion vector of the current block and the motion vector calculated in the context of the current block for each type of context of the current block.
제 53항에 있어서,
상기 현재 블록의 문맥의 종류별로 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 반영은,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이의 누적인 것을 특징으로 하는 문맥 모델링 방법.
54. The method of claim 53,
The reflection of the difference between the motion vector of the current block and the motion vector calculated in the context of the current block according to the type of context of the current block,
The cumulative difference between the motion vector of the current block and the motion vector calculated in the context of the current block.
제 54항에 있어서,
상기 문맥의 갱신은,
영상의 시퀀스 단위, 프레임 단위, 매크로블록 단위 및 서브 블록 단위 중 어느 하나의 단위로 이루어지는 것을 특징으로 하는 문맥 모델링 방법.
The method of claim 54,
Update of the context
The context modeling method of any one of a sequence unit, a frame unit, a macroblock unit, and a subblock unit of an image.
제 54항에 있어서,
상기 현재 블록의 움직임 벡터와 상기 현재 블록의 문맥으로 산출되는 움직임 벡터와의 차이를 누적하는 최대 횟수는 기설정 횟수로 제한되는 것을 특징으로 하는 문맥 모델링 방법.

The method of claim 54,
The maximum number of times of accumulating the difference between the motion vector of the current block and the motion vector calculated in the context of the current block is limited to a predetermined number of times.

KR1020100055681A 2010-06-11 2010-06-11 Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof KR20110135763A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100055681A KR20110135763A (en) 2010-06-11 2010-06-11 Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof
PCT/KR2011/004240 WO2011155782A2 (en) 2010-06-11 2011-06-09 Context modeling method and context modeling apparatus, and image encoding/decoding method and image encoding/decoding apparatus using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100055681A KR20110135763A (en) 2010-06-11 2010-06-11 Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof

Publications (1)

Publication Number Publication Date
KR20110135763A true KR20110135763A (en) 2011-12-19

Family

ID=45098543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100055681A KR20110135763A (en) 2010-06-11 2010-06-11 Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof

Country Status (2)

Country Link
KR (1) KR20110135763A (en)
WO (1) WO2011155782A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058280A1 (en) * 2012-10-12 2014-04-17 한국전자통신연구원 Image encoding/decoding method and device using same
WO2020139032A1 (en) * 2018-12-28 2020-07-02 한국전자통신연구원 Image encoding/decoding method and device, and recording medium storing bitstream

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100420308C (en) * 2002-04-26 2008-09-17 株式会社Ntt都科摩 Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program
KR101279573B1 (en) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 Motion Vector Encoding/Decoding Method and Apparatus and Video Encoding/Decoding Method and Apparatus

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058280A1 (en) * 2012-10-12 2014-04-17 한국전자통신연구원 Image encoding/decoding method and device using same
US10506253B2 (en) 2012-10-12 2019-12-10 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US11202096B2 (en) 2012-10-12 2021-12-14 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US11202095B2 (en) 2012-10-12 2021-12-14 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US11202094B2 (en) 2012-10-12 2021-12-14 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US11228785B2 (en) 2012-10-12 2022-01-18 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US11234018B2 (en) 2012-10-12 2022-01-25 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
US11743491B2 (en) 2012-10-12 2023-08-29 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
WO2020139032A1 (en) * 2018-12-28 2020-07-02 한국전자통신연구원 Image encoding/decoding method and device, and recording medium storing bitstream
US11671603B2 (en) 2018-12-28 2023-06-06 Electronics Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream

Also Published As

Publication number Publication date
WO2011155782A2 (en) 2011-12-15
WO2011155782A3 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
CN104539974B (en) Encoding device for high-resolution moving image
KR101830352B1 (en) Method and Apparatus Video Encoding and Decoding using Skip Mode
KR101484171B1 (en) Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the Same
KR101377660B1 (en) Motion Vector Encoding/Decoding Method and Apparatus Using Multiple Motion Vector Estimation and Video Encoding/Decoding Method and Apparatus Using Same
KR101681303B1 (en) Method and Apparatus for Encoding/Decoding of Video Data Using Partitioned-Block Prediction
KR20110054592A (en) Motion vector coding method and apparatus by using candidate predicted motion vector set selection and video coding method and apparatus using same
KR20110058702A (en) Video encoding/decoding method and apparatus based on adaptive second prediction, and recording medium therefor
KR20120009861A (en) Method and Apparatus for Encoding/Decoding of Video Data Using Expanded Skip Mode
KR20130003718A (en) Method and apparatus for image encoding/decoding by fast coding unit mode decision
KR102072124B1 (en) Method and Apparatus for Image Encoding/Decoding using detailed prediction unit
KR20120025174A (en) Method and apparatus for encoding/decoding of video data using efficient selection of intra prediction mode set
KR20120015495A (en) Method and apparatus for encoding/decoding of video data capable of skipping filtering mode
KR20110042705A (en) Inter prediction method and apparatus using motion information based adjacent pixels and video coding method and apparatus using same
KR20110033511A (en) Inter prediction method and apparatus using adjacent pixels and video coding method and apparatus using same
KR20100041217A (en) Video encoding/decoding apparatus and variable obmc apparatus and method
KR101449683B1 (en) Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Restriction and Video Coding Method and Apparatus Using Same
US9319710B2 (en) Video encoding and decoding apparatus and method
KR101359500B1 (en) Quantization/Inverse Quantization Apparatus and Method and Video Encoding/Decoding Apparatus Using Same
KR20100035243A (en) Quantization parameter determination method and apparatus and video encoding/decoding method and apparatus
KR20100019088A (en) Inter prediction apparatus and video encoding/decoding apparatus and method using same
KR20110135763A (en) Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof
KR101543301B1 (en) / / Video encoding/decoding apparatus and Hybrid Block Motion Compensation/Overlapped Block Motion Compensation method and apparatus
KR101693284B1 (en) Method and Apparatus for Encoding/Decoding of Video Data Using Global Motion-based Enconding Structure
KR101673026B1 (en) Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof
KR101479137B1 (en) Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the Same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application