[go: up one dir, main page]

KR20180080131A - Image decoding method and apparatus using inter picture prediction - Google Patents

Image decoding method and apparatus using inter picture prediction Download PDF

Info

Publication number
KR20180080131A
KR20180080131A KR1020180000034A KR20180000034A KR20180080131A KR 20180080131 A KR20180080131 A KR 20180080131A KR 1020180000034 A KR1020180000034 A KR 1020180000034A KR 20180000034 A KR20180000034 A KR 20180000034A KR 20180080131 A KR20180080131 A KR 20180080131A
Authority
KR
South Korea
Prior art keywords
motion vector
current block
candidate motion
difference value
vectors
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020180000034A
Other languages
Korean (ko)
Other versions
KR102586198B1 (en
Inventor
정제창
김기백
이도경
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to PCT/KR2018/000062 priority Critical patent/WO2018124855A1/en
Priority to US16/475,217 priority patent/US11240526B2/en
Publication of KR20180080131A publication Critical patent/KR20180080131A/en
Priority to US17/557,133 priority patent/US11818386B2/en
Priority to KR1020230131205A priority patent/KR102736716B1/en
Application granted granted Critical
Publication of KR102586198B1 publication Critical patent/KR102586198B1/en
Priority to US18/483,860 priority patent/US12267522B2/en
Priority to US19/061,130 priority patent/US20250193436A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

화면 간 예측을 이용한 영상 복호화 방법 및 장치가 개시된다. 화면 간 예측을 이용한 영상 복호화 방법은, 비트스트림을 수신하는 단계, 수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계, 획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계 및 상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계를 포함한다. 따라서, 영상 부호화 및 복호화의 효율을 향상시킬 수 있다.A video decoding method and apparatus using inter-picture prediction is disclosed. An image decoding method using inter-view prediction includes the steps of receiving a bit stream, acquiring a part of information indicating a motion vector of a current block to be decoded in the received bit stream, Obtaining a motion vector of the current block by determining remaining information, and generating a prediction block of the current block through inter-picture prediction using the motion vector of the current block. Therefore, the efficiency of image encoding and decoding can be improved.

Description

화면 간 예측을 이용한 영상 복호화 방법 및 장치{IMAGE DECODING METHOD AND APPARATUS USING INTER PICTURE PREDICTION}[0001] IMAGE DECODING METHOD AND APPARATUS USING INTER PICTURE PREDICTION [0002]

본 발명은 화면 간 예측을 이용한 영상 복호화 방법 및 장치에 관한 것으로, 더욱 상세하게는 현재 블록의 화면 간 예측에 필요한 움직임 벡터를 부호화 및 복호화하는데 있어서 움직임 벡터의 차분값의 크기, 부호 및 최적의 움직임 벡터를 지시하는 정보 중 일부만 이용해서 나머지 정보들을 결정함으로써 부호화 장치와 복호화 장치 상호간 주고받는 데이터 또는 비트수를 감소시키는 기술에 관한 것이다.The present invention relates to a method and an apparatus for decoding an image using inter-picture prediction, and more particularly to a method and apparatus for coding and decoding a motion vector necessary for intra-picture prediction of a current block. To a technique for reducing the number of data or bits exchanged between an encoding apparatus and a decoding apparatus by determining only the remaining information using only a part of information indicating a vector.

ISO/ISE MPEG (Moving Picture Experts Group)과 ITU-T VCEG (Video Coding Experts Group)으로 불리는 각 기관은 JCV-VC (Joint Collaborative Team on Video Coding)를 조직하여 2013 년 1 월 ISO/IEC MPEG-H HEVC (High Efficiency Video Coding)/ITU-T H.265 인 비디오 압축 표준 기술을 제정하였다. 또한, 현재 급속한 정보통신기술의 발전에 따른 고화질 영상이 대중화되는 추세에 부응하기 위해, ISO/ISE MPEG과 ITU-T VCEG 은 제 22 차 JCT-VC 제네바 회의에서 JVET (Joint Video Exploration Team)을 조직하여 HD (High Definition) 화질보다 선명한 UHD 화질(Ultra High Definition)의 영상 압축을 위한 차세대 영상 압축 기술 표준을 제정하고자 활발히 노력하고 있다.Each organization, called ISO / ISE Moving Picture Experts Group (MPEG) and ITU-T Video Coding Experts Group (VCEG), organized Joint Collaborative Team on Video Coding (JCV-VC) Video compression standard technology, HEVC (High Efficiency Video Coding) / ITU-T H.265. ISO / ISE MPEG and ITU-T VCEG have been organizing JVET (Joint Video Exploration Team) at the 22nd JCT-VC Geneva Conference in order to respond to the trend of high-definition video becoming popularized by the rapid development of information and communication technology. , We are actively striving to establish the next generation image compression technology standard for image compression of UHD image quality (Ultra High Definition) which is clearer than HD (High Definition) image quality.

한편, 기존의 비디오 압축 표준 기술에 따르면, 부호화할 현재 블록에 대한 예측 블록을 생성하고, 예측 블록과 현재 블록의 차분값을 부호화함으로써 부호화되는 데이터량을 줄이고 있는데, 이러한 예측 기술에는 동일한 화면 내에서 공간적으로 인접한 블록과의 유사성을 이용하여 현재 블록에 대한 예측 블록을 생성하는 화면 내 예측 방법과, 시간적으로 인접한 화면의 블록과의 유사성을 이용하여 현재 블록에 대한 예측 블록을 생성하는 화면 간 예측 방법이 있다.Meanwhile, according to the existing video compression standard technology, a prediction block for a current block to be encoded is generated, and a difference value between a prediction block and a current block is encoded, thereby reducing the amount of data to be coded. An intra prediction method for generating a prediction block for a current block using similarity with a spatially adjacent block and an inter prediction method for generating a prediction block for the current block using the similarity between temporally adjacent blocks .

이때, 화면 간 예측은 현재 블록과 시간적으로 인접한 화면 내에서 유사성이 있는 블록을 지시하는 정보로 움직임 벡터를 사용한다. 이때, 움직임 벡터를 그대로 부호화할 경우 비트값이 매우 클 수 있기 때문에 부호화 장치는 현재 블록과 인접한 이웃 블록의 움직임 벡터를 이용하여 후보 움직임 벡터들을 구성하고, 후보 움직임 벡터들 중에서 선정된 최적의 움직임 벡터와 현재 블록의 움직임 벡터 사이의 차분값을 부호화하여 복호화 장치에 전송한다.In this case, the inter-picture prediction uses the motion vector as information indicating a block having similarity in the temporally adjacent picture with respect to the current block. In this case, when the motion vector is directly coded, since the bit value can be very large, the encoder constructs candidate motion vectors using the motion vectors of the neighboring blocks adjacent to the current block, and selects the optimal motion vector And the motion vector of the current block is encoded and transmitted to the decoding apparatus.

그러나, 최적의 움직임 벡터와 현재 블록의 움직임 벡터 사이의 차분값을 부호화하는 경우에도 최적의 움직임 벡터가 현재 블록의 움직임 벡터와 많이 상이할 경우에는 비트값 소모 감소효과가 미미하다. 따라서, 영상 부호화 및 복호화의 효율을 향상시키기 위해 부호화 장치와 복호화 장치 상호간에 전달되는 정보량을 줄일 수 있는 방안이 필요한 실정이다.However, even when the difference value between the optimal motion vector and the motion vector of the current block is encoded, the bit value consumption reduction effect is small when the optimal motion vector is much different from the motion vector of the current block. Accordingly, there is a need for a method for reducing the amount of information transmitted between the encoding apparatus and the decoding apparatus in order to improve the efficiency of image encoding and decoding.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 화면 간 예측을 이용한 영상 복호화 방법을 제공하는 데 있다.In order to solve the above problems, an object of the present invention is to provide a picture decoding method using inter picture prediction.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 화면 간 예측을 이용한 영상 복호화 장치를 제공하는 데 있다.It is another object of the present invention to provide an image decoding apparatus using inter-picture prediction.

상기 목적을 달성하기 위한 본 발명의 일 측면은, 화면 간 예측을 이용한 영상 복호화 방법을 제공한다.According to an aspect of the present invention, there is provided an image decoding method using inter picture prediction.

여기서 화면 간 예측을 이용한 영상 복호화 방법은, 비트스트림을 수신하는 단계, 수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계, 획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계 및 상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계를 포함할 수 있다.Here, the image decoding method using inter picture prediction may include receiving a bit stream, obtaining a part of information indicating a motion vector of a current block to be decoded in the received bit stream, Obtaining the motion vector of the current block by determining the remaining information, and generating a prediction block of the current block through inter-picture prediction using the motion vector of the current block.

여기서 상기 현재 블록의 움직임 벡터를 지시하는 정보는, 두개 이상의 후보 움직임 벡터 중에서 선정된 최적의 움직임 벡터와 상기 현재 블록의 움직임 벡터 사이의 차분값의 크기, 상기 차분값의 부호 및 상기 최적의 움직임 벡터를 지시하는 정보 중 적어도 하나를 포함할 수 있다.Here, the information indicating the motion vector of the current block may include at least one of a magnitude of a difference value between a best motion vector selected from two or more candidate motion vectors and a motion vector of the current block, a sign of the difference value, Or the like.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 최적의 움직임 벡터를 지시하는 정보에서 획득된 최적의 움직임 벡터를 기초로 상기 차분값의 부호를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring a motion vector of the current block includes the steps of: determining whether a magnitude of the difference value corresponds to a preset condition; and if the predetermined condition is satisfied, And determining the sign of the difference value based on the motion vector of the motion vector.

여기서 상기 미리 설정된 조건은, 상기 두개 이상의 후보 움직임 벡터들 중에서 인접한 벡터들 사이의 간격을 기초로 설정될 수 있다.Here, the preset condition may be set based on an interval between adjacent vectors among the two or more candidate motion vectors.

여기서 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계는, 상기 인접한 벡터들 사이의 간격이 가장 큰 값과 상기 인접한 벡터들 사이의 간격이 가장 작은 값을 도출하는 단계 및 상기 가장 큰 값과 상기 가장 작은 값을 상기 차분값의 크기와 비교하는 단계를 포함할 수 있다.The step of determining whether the magnitude of the differential value corresponds to a predetermined condition may include calculating a value having a largest interval between adjacent vectors and a minimum interval between the adjacent vectors, And comparing the minimum value with the magnitude of the difference value.

여기서 상기 미리 설정된 조건은, 상기 인접한 벡터들 사이의 간격을 반으로 나눈 간격을 기초로 설정될 수 있다.Here, the predetermined condition may be set based on an interval obtained by dividing the interval between the adjacent vectors by half.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기와 상기 차분값의 부호를 이용하여 상기 차분값을 획득하는 단계, 획득된 차분값에 상기 두개 이상의 후보 움직임 벡터들 중 제1 후보 움직임 벡터를 더하여 상기 현재 블록의 추정 움직임 벡터를 결정하는 단계, 상기 추정 움직임 벡터가 상기 두개 이상의 후보 움직임 벡터들 중에서 상기 제1 후보 움직임 벡터와 가장 가까운 좌표값을 갖는지 판단하는 단계 및 판단 결과를 기초로, 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.The obtaining of the motion vector of the current block may include obtaining the difference value using the magnitude of the difference value and the sign of the difference value, calculating a difference value between the first and second motion vectors of the two or more candidate motion vectors, Determining an estimated motion vector of the current block by adding a candidate motion vector, determining whether the estimated motion vector has a coordinate value closest to the first candidate motion vector among the two or more candidate motion vectors, And determining, based on the motion vector, the optimal motion vector.

여기서 상기 추정 움직임 벡터를 결정하는 단계 및 상기 판단하는 단계는, 상기 제1 후보 움직임 벡터를 제외한 나머지 후보 움직임 벡터들을 상기 제1 후보 움직임 벡터로 대입하여 반복 수행될 수 있다.Here, the step of determining the estimated motion vector and the step of determining may be repeatedly performed by substituting the remaining candidate motion vectors, excluding the first candidate motion vector, into the first candidate motion vector.

여기서 상기 최적의 움직임 벡터를 결정하는 단계는, 상기 반복 수행의 결과 가장 가까운 좌표값을 갖는 후보 움직임 벡터가 유일하면, 해당 후보 움직임 벡터를 상기 최적의 움직임 벡터로 결정할 수 있다.The determining of the optimal motion vector may determine the candidate motion vector as the optimal motion vector if the candidate motion vector having the closest coordinate value as a result of the iteration is unique.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 두개 이상의 후보 움직임 벡터들 중 적어도 하나의 움직임 벡터를 후보 움직임 벡터에서 제외하고 나머지 후보 움직임 벡터들 중에서 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring a motion vector of the current block includes the steps of: determining whether a magnitude of the differential value corresponds to a predetermined condition; and determining whether a motion vector of at least one of the two or more candidate motion vectors From the candidate motion vectors and determining the optimal motion vector among the remaining candidate motion vectors.

상기 목적을 달성하기 위한 본 발명의 다른 측면은 화면 간 예측을 이용한 영상 복호화 장치를 제공한다.According to another aspect of the present invention, there is provided an image decoding apparatus using inter-picture prediction.

여기서 화면 간 예측을 이용한 영상 복호화 장치는, 적어도 하나의 프로세서(processor) 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.The apparatus for decoding an image using inter-picture prediction may include at least one processor and a memory for storing instructions for instructing the at least one processor to perform at least one step. have.

여기서 상기 적어도 하나의 단계는, 비트스트림을 수신하는 단계, 수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계, 획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계 및 상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계를 포함할 수 있다.Wherein the at least one step comprises the steps of: receiving a bitstream; obtaining a part of information indicating a motion vector of a current block to be decoded in the received bitstream; Obtaining a motion vector of the current block by determining a motion vector of the current block, and generating a prediction block of the current block through inter-picture prediction using the motion vector of the current block.

여기서 상기 현재 블록의 움직임 벡터를 지시하는 정보는, 두개 이상의 후보 움직임 벡터 중에서 선정된 최적의 움직임 벡터와 상기 현재 블록의 움직임 벡터 사이의 차분값의 크기, 상기 차분값의 부호 및 상기 최적의 움직임 벡터를 지시하는 정보 중 적어도 하나를 포함할 수 있다.Here, the information indicating the motion vector of the current block may include at least one of a magnitude of a difference value between a best motion vector selected from two or more candidate motion vectors and a motion vector of the current block, a sign of the difference value, Or the like.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 최적의 움직임 벡터를 지시하는 정보에서 획득된 최적의 움직임 벡터를 기초로 상기 차분값의 부호를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring a motion vector of the current block includes the steps of: determining whether a magnitude of the difference value corresponds to a preset condition; and if the predetermined condition is satisfied, And determining the sign of the difference value based on the motion vector of the motion vector.

여기서 상기 미리 설정된 조건은, 상기 두개 이상의 후보 움직임 벡터들 중에서 인접한 벡터들 사이의 간격을 기초로 설정될 수 있다.Here, the preset condition may be set based on an interval between adjacent vectors among the two or more candidate motion vectors.

여기서 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계는, 상기 인접한 벡터들 사이의 간격이 가장 큰 값과 상기 인접한 벡터들 사이의 간격이 가장 작은 값을 도출하는 단계 및 상기 가장 큰 값과 상기 가장 작은 값을 상기 차분값의 크기와 비교하는 단계를 포함할 수 있다.The step of determining whether the magnitude of the differential value corresponds to a predetermined condition may include calculating a value having a largest interval between adjacent vectors and a minimum interval between the adjacent vectors, And comparing the minimum value with the magnitude of the difference value.

여기서 상기 미리 설정된 조건은, 상기 인접한 벡터들 사이의 간격을 반으로 나눈 간격을 기초로 설정될 수 있다.Here, the predetermined condition may be set based on an interval obtained by dividing the interval between the adjacent vectors by half.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기와 상기 차분값의 부호를 이용하여 상기 차분값을 획득하는 단계, 획득된 차분값에 상기 두개 이상의 후보 움직임 벡터들 중 제1 후보 움직임 벡터를 더하여 상기 현재 블록의 추정 움직임 벡터를 결정하는 단계, 상기 추정 움직임 벡터가 상기 두개 이상의 후보 움직임 벡터들 중에서 상기 제1 후보 움직임 벡터와 가장 가까운 좌표값을 갖는지 판단하는 단계 및 판단 결과를 기초로, 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.The obtaining of the motion vector of the current block may include obtaining the difference value using the magnitude of the difference value and the sign of the difference value, calculating a difference value between the first and second motion vectors of the two or more candidate motion vectors, Determining an estimated motion vector of the current block by adding a candidate motion vector, determining whether the estimated motion vector has a coordinate value closest to the first candidate motion vector among the two or more candidate motion vectors, And determining, based on the motion vector, the optimal motion vector.

여기서 상기 추정 움직임 벡터를 결정하는 단계 및 상기 판단하는 단계는, 상기 제1 후보 움직임 벡터를 제외한 나머지 후보 움직임 벡터들을 상기 제1 후보 움직임 벡터로 대입하여 반복 수행될 수 있다.Here, the step of determining the estimated motion vector and the step of determining may be repeatedly performed by substituting the remaining candidate motion vectors, excluding the first candidate motion vector, into the first candidate motion vector.

여기서 상기 최적의 움직임 벡터를 결정하는 단계는, 상기 반복 수행의 결과 가장 가까운 좌표값을 갖는 후보 움직임 벡터가 유일하면, 해당 후보 움직임 벡터를 상기 최적의 움직임 벡터로 결정할 수 있다.The determining of the optimal motion vector may determine the candidate motion vector as the optimal motion vector if the candidate motion vector having the closest coordinate value as a result of the iteration is unique.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 두개 이상의 후보 움직임 벡터들 중 적어도 하나의 움직임 벡터를 후보 움직임 벡터에서 제외하고 나머지 후보 움직임 벡터들 중에서 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring a motion vector of the current block includes the steps of: determining whether a magnitude of the differential value corresponds to a predetermined condition; and determining whether a motion vector of at least one of the two or more candidate motion vectors From the candidate motion vectors and determining the optimal motion vector among the remaining candidate motion vectors.

상기와 같은 본 발명에 따른 화면 간 예측을 이용한 영상 복호화 방법 및 장치를 이용할 경우에는 부호화 및 복호화 과정에서 소모되는 비트 수를 줄일 수 있다.When the image decoding method and apparatus using the inter picture prediction according to the present invention as described above, the number of bits consumed in the encoding and decoding processes can be reduced.

따라서, 영상 압축률이 향상될 수 있는 장점이 있다.Accordingly, there is an advantage that the image compression ratio can be improved.

도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 구성도이다.
도 4는 본 발명의 일 실시예에 따른 화면 간 예측에서 현재 블록의 움직임 벡터를 설정하기 위한 후보 움직임 벡터를 결정하는 방법에 대한 예시도이다.
도 5는 후보 움직임 벡터가 2개일 때 현재 블록의 움직임 벡터가 존재할 수 있는 영역을 나타낸 예시도이다.
도 6은 후보 움직임 벡터가 3개일 때 현재 블록의 움직임 벡터가 존재할 수 있는 영역을 나타낸 제1 예시도이다.
도 7은 후보 움직임 벡터가 3개일 때 현재 블록의 움직임 벡터가 존재할 수 있는 영역을 나타낸 제2 예시도이다.
도 8은 본 발명의 일 실시예에 따른 화면 간 예측을 이용한 영상 복호화 방법에 대한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 화면 간 예측을 이용한 영상 복호화 장치에 대한 구성도이다.
1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.
2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
4 is a diagram illustrating a method of determining a candidate motion vector for setting a motion vector of a current block in an inter-view prediction according to an embodiment of the present invention.
5 is a diagram illustrating an area where a motion vector of a current block may exist when two candidate motion vectors are present.
6 is a first example of a region where a motion vector of a current block may exist when there are three candidate motion vectors.
FIG. 7 is a second exemplary diagram illustrating an area where a motion vector of a current block may exist when there are three candidate motion vectors.
8 is a flowchart illustrating an image decoding method using inter-picture prediction according to an embodiment of the present invention.
9 is a block diagram of an image decoding apparatus using inter-picture prediction according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

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

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

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

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

통상적으로 영상은 일련의 정지 영상(Still Image)으로 구성될 수 있으며, 이 정지 영상들은 GOP(Group of Pictures) 단위로 구분될 수 있고, 각 정지 영상을 픽쳐(Picture)라고 지칭할 수 있다. 이때, 픽쳐는 프로그레시브(Progressive) 신호, 인터레이스(Interlace) 신호에서의 프레임(Frame), 필드(Field) 중 하나를 나타낼 수 있고, 부호화/복호화가 프레임 단위로 수행될 경우 영상은 '프레임', 필드 단위로 수행될 경우 '필드'로 나타낼 수 있다. 본 발명에서는 프로그레시브 신호를 가정하고 설명하지만, 인터레이스 신호에도 적용 가능할 수 있다. 상위 개념으로는 GOP, 시퀀스(Sequence)등의 단위가 존재할 수 있으며, 또한, 각 픽쳐는 슬라이스, 타일, 블록 등과 같은 소정의 영역으로 분할될 수 있다. 또한, 하나의 GOP에는 I 픽쳐, P 픽쳐, B 픽쳐 등의 단위가 포함될 수 있다. I 픽쳐는 참조 픽쳐를 사용하지 않고 자체적으로 부호화/복호화되는 픽쳐를 의미할 수 있으며, P 픽쳐와 B 픽쳐는 참조 픽쳐를 사용하여 움직임 추정(Motion Estimation) 및 움직임 보상(Motion Compensation) 등의 과정을 수행하여 부호화/복호화 하는 픽쳐를 의미할 수 있다. 일반적으로 P 픽쳐의 경우 I 픽쳐와 P 픽쳐를 참조 픽쳐로써 이용할 수 있으며, B 픽쳐의 경우 I 픽쳐와 P 픽쳐를 참조 픽쳐를 이용할 수 있으나, 이는 부호화/복호화의 설정에 의해 위의 정의 또한 변경될 수 있다. Generally, an image may be composed of a series of still images. The still images may be divided into GOP (Group of Pictures) units, and each still image may be referred to as a picture. At this time, the picture may indicate one of a progressive signal, a frame in the interlace signal, and a field. When the encoding / decoding is performed on a frame-by-frame basis, If it is performed in units, it can be expressed as 'field'. In the present invention, it is assumed that a progressive signal is assumed, but it may be applicable to an interlace signal. As a higher concept, a unit such as a GOP and a sequence may exist, and each picture may be divided into predetermined areas such as slices, tiles, blocks, and the like. In addition, a unit of an I picture, a P picture, a B picture, and the like may be included in one GOP. The I picture may be a picture to be encoded / decoded by itself without using a reference picture, and the P picture and the B picture may be subjected to a process such as motion estimation (Motion estimation) and motion compensation (motion compensation) And may be a picture to be encoded / decoded. In general, an I picture and a P picture can be used as a reference picture in the case of a P picture, and a reference picture can be used as an I picture and a P picture in the case of a B picture, but this definition can also be changed by setting of encoding / decoding .

여기서 부호화/복호화하는데 참조되는 픽쳐를 참조 픽쳐(Reference Picture)라고 하며, 참조되는 블록 또는 화소를 참조 블록(Reference Block), 참조 화소(Reference Pixel)라고 한다. 또한, 참조되는 데이터(Reference Data)는 공간 영역(Spatial Domain)의 화소값 뿐만 아니라 주파수 영역(Frequency Domain)의 계수값, 부호화/복호화 과정 중에 생성, 결정되는 다양한 부호화/복호화 정보일 수 있다. 예를 들어, 예측부에서 화면 내 예측 관련 정보 또는 움직임 관련 정보, 변환부/역변환부에서 변환 관련 정보, 양자화부/역양자화부에서 양자화 관련 정보, 부호화부/복호화부에서는 부호화/복호화 관련 정보(문맥 정보), 인루프 필터부에서는 필터 관련 정보 등이 해당될 수 있다.Here, a picture referred to in encoding / decoding is referred to as a reference picture, and a block or pixel to be referred to is referred to as a reference block and a reference pixel. The reference data may be not only the pixel values of the spatial domain but also the coefficient values of the frequency domain and various encoding / decoding information generated and determined during the encoding / decoding process. For example, in the prediction unit, intra prediction information or motion related information, conversion related information in the conversion unit / inverse transform unit, quantization related information in the quantization unit / dequantization unit, and encoding / decoding related information Context information), and filter-related information in the in-loop filter unit.

영상을 이루는 최소 단위는 화소(Pixel)일 수 있으며, 하나의 화소를 표현하는데 사용되는 비트수를 비트 심도(Bit Depth)라고 한다. 일반적으로 비트 심도는 8비트일 수 있으며 부호화 설정에 따라 그 이상의 비트 심도를 지원할 수 있다. 비트 심도는 컬러 공간(Color Space)에 따라 적어도 하나의 비트 심도가 지원될 수 있다. 또한, 영상의 컬러 포맷(Color Format)에 따라 적어도 하나의 컬러 공간으로 구성될 수 있다. 컬러 포맷에 따라 일정 크기를 갖는 1개 이상의 픽쳐 또는 다른 크기를 갖는 1개 이상의 픽쳐로 구성될 수 있다. 예를 들어, YCbCr 4:2:0인 경우 1개의 휘도 성분(본 예에서, Y)과 2개의 색차 성분(본 예에서, Cb/Cr)으로 구성될 수 있으며, 이때 색차 성분과 휘도 성분의 구성 비는 가로, 세로 1:2를 가질 수 있다. 다른 예로, 4:4:4인 경우 가로, 세로 동일한 구성 비를 가질 수 있다. 상기 예처럼 하나 이상의 컬러 공간으로 구성이 되는 경우 픽쳐는 각 컬러 공간으로의 분할을 수행할 수 있다. The minimum unit for forming an image may be a pixel, and the number of bits used to represent one pixel is called a bit depth. In general, the bit depth may be 8 bits and may support more bit depths depending on the encoding settings. The bit depth may be supported by at least one bit depth depending on the color space. Also, it may be configured as at least one color space according to the color format of the image. One or more pictures having a predetermined size or one or more pictures having different sizes according to a color format. For example, in the case of YCbCr 4: 2: 0, it may be composed of one luminance component (Y in this example) and two chrominance components (Cb / Cr in this example) The composition ratio may have a width of 1: 2. As another example, in the case of 4: 4: 4, it may have the same composition ratio in the horizontal and vertical directions. If it is composed of more than one color space as in the above example, the picture can perform the division into each color space.

본 발명에서는 일부 컬러 포맷(본 예에서, YCbCr)의 일부 컬러 공간(본 예에서, Y)을 기준으로 설명할 것이며, 컬러 포맷에 따른 다른 컬러 공간(본 예에서, Cb, Cr)에도 동일하거나 비슷한 적용(특정 컬러 공간에 의존적인 설정)을 할 수 있다. 그러나 각 컬러 공간에 부분적인 차이(특정 컬러 공간에 독립적인 설정)를 두는 것 또한 가능할 수 있다. 즉, 각 컬러 공간에 의존적인 설정은 각 성분의 구성 비(예를 들어, 4:2:0, 4:2:2, 4:4:4 등에 따라 결정)에 비례하거나 의존적인 설정을 갖는 것으로 의미할 수 있고, 각 컬러 공간에 독립적인 설정은 각 성분의 구성 비에 관계없거나 독립적으로 해당 컬러 공간만의 설정을 갖는 것으로 의미할 수 있다. 본 발명에서는 부/복호화기에 따라 일부 구성에 대해서는 독립적인 설정을 갖거나 의존적인 설정을 가질 수 있다.In the present invention, some color spaces (Y in this example) of some color formats (YCbCr in this example) will be described, and the same color space (Cb, Cr in this example) Similar applications (settings dependent on a specific color space) can be made. However, it may also be possible to place a partial difference (an independent setting for a specific color space) in each color space. That is, the setting depending on each color space has a setting proportional to or dependent on the composition ratio of each component (for example, determined by 4: 2: 0, 4: 2: 2, 4: 4: 4, And the setting independent of each color space can be regarded as having a setting of only the corresponding color space regardless of the constituent ratio of each element or independently. In the present invention, depending on the subdecoder, the subdecoder may have an independent setting for some of the configurations or may have a dependent setting.

영상 부호화 과정에서 필요한 설정 정보 또는 구문 요소(Syntax Element)는 비디오, 시퀀스, 픽쳐, 슬라이스, 타일, 블록 등의 단위 수준에서 정해질 수 있으며 이는 VPS(Video Parameter Set), SPS(Sequence Parameter Set), PPS(Picture Parameter Set), Slice Header, Tile Header, Block Header 등과 같은 단위로 비트스트림에 수록되어 복호화기로 전송될 수 있고, 복호화기에서는 동일 수준의 단위에서 파싱(Parsing)하여 부호화기에서 전송된 설정 정보를 복원하여 영상 복호화 과정에 사용할 수 있다. 또한, SEI(Supplement Enhancement Information) 또는 메타 데이터(Metadata) 등의 형태로 관련 정보를 비트스트림으로 전송하고 파싱하여 사용할 수 있다. 각 파라미터 세트는 고유의 아이디값을 갖고 있으며, 하위 파라미터 세트에서는 참조할 상위 파라미터 세트의 아이디값을 가질 수 있다. 예를 들어, 하위 파라미터 세트에서 하나 이상의 상위 파라미터 세트 중 일치하는 아이디값을 갖는 상위 파라미터 세트의 정보를 참조할 수 있다. 위에서 언급된 다양한 단위의 예 중 어떤 하나의 단위가 하나 이상의 다른 단위를 포함하는 경우에 해당하는 단위는 상위 단위, 포함되는 단위는 하위 단위라 칭할 수 있다. Syntax elements required in the image coding process can be defined at a unit level such as video, sequence, picture, slice, tile, block, and the like, and it may be a VPS (Video Parameter Set), SPS (Sequence Parameter Set) A picture parameter set (PPS), a slice header, a tile header, a block header, or the like, and transmitted to a decoder. The decoder parses the setting information in units of the same level, And can be used in the image decoding process. In addition, related information can be transmitted and parsed in the form of SEI (Supplement Enhancement Information) or Metadata in a bit stream. Each parameter set has a unique ID value, and in the lower parameter set, it can have an ID value of an upper parameter set to be referred to. For example, information of an upper parameter set having a matching ID value among one or more higher parameter sets in the lower parameter set may be referred to. In the case where any one of the examples of various units mentioned above includes one or more other units, the corresponding unit may be referred to as an upper unit and the included unit may be referred to as a lower unit.

상기 단위에서 발생하는 설정 정보의 경우 해당 단위마다 독립적인 설정에 대한 내용을 포함하거나 이전, 이후 또는 상위 단위 등에 의존적인 설정에 대한 내용을 포함할 수 있다. 여기서 의존적인 설정이란 이전, 이후, 상위 단위의 설정을 따른다는 플래그 정보(예를 들어, 1 비트 플래그로 1이면 따름. 0이면 따르지 않음)로 해당 단위의 설정 정보를 나타내는 것이라 이해될 수 있다. 본 발명에서의 설정 정보는 독립적인 설정에 대한 예를 중심으로 설명을 할 것이나, 현재 단위의 이전, 이후의 단위 또는 상위 단위의 설정 정보에 의존적인 관계에 대한 내용으로의 추가 또는 대체되는 예 또한 포함될 수 있다.In the case of the setting information generated in the unit, the setting information may include contents of independent setting for each unit, or contents related to setting depending on the previous, the next, or the upper unit. Here, it can be understood that the dependent setting indicates the setting information of the corresponding unit with flag information (for example, 1 if the flag is 1, not followed by 0) to follow the setting of the previous unit and then the higher unit. The setting information in the present invention will be described with reference to an example of an independent setting, but an example in which addition or substitution is made to the contents of a relation that relies on setting information of a previous unit, a subsequent unit, or a higher unit of the current unit .

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.1 is a conceptual diagram of an image encoding and decoding system according to an embodiment of the present invention.

도 1을 참조하면, 영상 부호화 장치(105) 및 복호화 장치(100)는 개인용 컴퓨터(PC:Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(memory, 120, 125), 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(processor, 110, 115) 등을 구비하는 다양한 장치를 포함할 수 있다. 또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망(Network) 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치(100)로 전송되어 영상 복호화 장치(100)에서 복호화되어 영상으로 복원되고 재생될 수 있다. 또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 영상 부호화 장치(105)에서 영상 복호화 장치(100)로 전달될 수 있다.1, the image encoding apparatus 105 and the decoding apparatus 100 may be implemented as a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP) Player, a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV, a server terminal such as an application server and a service server, A communication device such as a communication modem for performing communication with a wired / wireless communication network, a memory (memories 120 and 125) for storing various programs for inter or intra prediction for encoding or decoding an image and memories (memories 120 and 125) And a processor (processor, 110, 115) for controlling the processor. The video encoded by the video encoding apparatus 105 can be transmitted through a wired or wireless communication network such as the Internet, a short-range wireless communication network, a wireless network, a WiBro network, or a mobile communication network in real time or non- And then transmitted to the image decoding apparatus 100 through various communication interfaces such as a serial bus (USB: Universal Serial Bus), etc., decoded by the image decoding apparatus 100, and restored and reproduced as an image. In addition, the image encoded by the image encoding apparatus 105 as a bit stream can be transferred from the image encoding apparatus 105 to the image decoding apparatus 100 via a computer-readable recording medium.

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

본 실시예에 따른 영상 부호화 장치(20)는, 도 2에 나타낸 바와 같이, 예측부(200), 감산부(205), 변환부(210), 양자화부(215), 역양자화부(220), 역변환부(225), 가산부(230), 필터부(235), 복호화 픽쳐 버퍼(240) 및 엔트로피 부호화부(245)를 포함할 수 있다.2, the image encoding apparatus 20 according to the present embodiment includes a predictor 200, a subtractor 205, a transformer 210, a quantizer 215, an inverse quantizer 220, An inverse transform unit 225, an adder 230, a filter unit 235, a decoded picture buffer 240, and an entropy encoding unit 245.

예측부(200)는 화면 내 예측을 수행하는 화면 내 예측부와 화면 간 예측을 수행하는 화면 간 예측부를 포함할 수 있다. 화면 내 예측은 현재 블록의 인접한 블록의 화소를 이용하여 공간적인 예측을 수행하여 예측 블록을 생성할 수 있고, 화면 간 예측은 참조 영상으로부터 현재 블록과 가장 매치가 되는 영역을 찾아 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 해당 단위(부호화 단위 또는 예측 단위)에 대해 화면 내 예측 또는 화면 간 예측 중 어떤 방식을 사용할 지에 대한 것을 결정하고, 각 예측 방법에 따른 구체적인 정보(예를 들어, 화면 내 예측 모드, 움직임 벡터, 참조 영상 등)를 결정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 부/복호화 설정에 따라 정해질 수 있다. 예를 들어, 예측 방법, 예측 모드 등은 예측 단위로 결정되고, 예측의 수행은 변환 단위로 수행될 수 있다.The prediction unit 200 may include an intra prediction unit for performing intra prediction and an inter prediction unit for performing inter prediction. Intra prediction can generate a prediction block by performing spatial prediction using pixels of adjacent blocks of the current block. In inter-prediction, motion compensation is performed by searching an area that is most matched with the current block from the reference image A prediction block can be generated. (Intra prediction) mode, a motion vector, a motion vector, and the like) for the corresponding unit (coding unit or prediction unit) Video, etc.). At this time, the processing unit to be predicted, the prediction method, and the processing unit in which the concrete contents are determined can be determined according to the subdecryption setting. For example, the prediction method, the prediction mode, and the like are determined as a prediction unit, and the prediction can be performed in units of conversion.

감산부(205)는 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성한다. 즉, 감산부(205)는 부호화하고자 하는 현재 블록의 각 화소의 화소값과 예측부를 통해 생성된 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔차 신호인 잔차 블록을 생성한다.Subtraction unit 205 subtracts the prediction block from the current block to generate a residual block. That is, the subtractor 205 calculates the 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 predictive block generated through the predictor to generate a residual block, which is a residual signal of a block form .

변환부(210)는 잔차 블록을 주파수 영역으로 변환하여 잔차 블록의 각 화소값을 주파수 계수로 변환한다. 여기서, 변환부(210)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 변환(DCT Based Transform), 이산 사인 변환 기반의 변환(DST Based Transform), 카루넨 루베 변환 기반의 변환(KLT Based Transform) 등과 같은 공간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다. 변환은 1차원 변환 매트릭스에 의해 변환될 수 있다. 수평, 수직 단위로 각 변환 매트릭스가 적응적으로 사용될 수 있다. 예를 들어, 화면 내 예측의 경우, 예측 모드가 수평일 경우에는 수직 방향으로는 DCT 기반의 변환 매트릭스가, 수평 방향으로는 DST 기반의 변환 매트릭스가 사용될 수도 있다. 수직일 경우에는 수평 방향으로는 DCT 기반의 변환 매트릭스가, 수직 방향으로는 DST 기반의 변환 매트릭스가 사용될 수 있다. The transform unit 210 transforms the residual block into a frequency domain and transforms each pixel value of the residual block into a frequency coefficient. Here, the transforming unit 210 transforms the transformed transformed transformed data into transformed transformed transform coefficients based on Hadamard Transform, DCT Based Transform, DST Based Transform, and KLT Based Transform Transform) can be transformed into a frequency domain by using various transformation techniques for transforming an image signal of a spatial axis into a frequency domain. The residual signal transformed into the frequency domain is a frequency coefficient. The transform can be transformed by a one-dimensional transform matrix. Each transformation matrix can be adaptively used in horizontal and vertical units. For example, in the case of intra prediction, if the prediction mode is horizontal, a DCT-based transformation matrix may be used in the vertical direction and a DST-based transformation matrix may be used in the horizontal direction. In the case of vertical, a DCT-based transformation matrix may be used in the horizontal direction and a DST-based transformation matrix may be used in the vertical direction.

양자화부(215)는 변환부(210)에 의해 주파수 영역으로 변환된 주파수 계수를 갖는 잔차 블록을 양자화한다. 여기서, 양자화부(215)는 변환된 잔차 블록을 데드존 균일 경계 양자화(Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 또는 이를 개량한 양자화 기법 등을 사용하여 양자화할 수 있다. 이는1개 이상의 양자화 기법을 후보로 둘 수 있으며 부호화 모드, 예측 모드 정보 등에 의해 결정될 수 있다. The quantization unit 215 quantizes the residual block having the frequency coefficients converted into the frequency domain by the transform unit 210. Here, the quantization unit 215 may quantize the transformed residual block using Dead Zone Uniform Threshold Quantization, a Quantization Weighted Matrix, or an improved quantization technique. It can be set to one or more quantization schemes as candidates and can be determined by encoding mode, prediction mode information, and the like.

엔트로피 부호화부(245)는 생성된 양자화 주파수 계수열을 다양한 스캔 방식에 따라 스캔하여 양자화 계수열을 생성하고, 이를 엔트로피 부호화 기법 등을 이용하여 부호화 함으로써 출력한다. 스캔 패턴은 지그재그, 대각선, 래스터(raster) 등 다양한 패턴들 중 하나로 설정할 수 있다.The entropy encoding unit 245 scans the generated quantization frequency coefficient sequence according to various scanning methods to generate a quantization coefficient sequence, and outputs the quantization coefficient sequence using an entropy encoding technique or the like. The scan pattern can be set to one of various patterns such as zigzag, diagonal, and raster.

역양자화부(220)는 양자화부(215)에 의해 양자화된 잔차 블록을 역 양자화한다. 즉, 양자화부(220)는 양자화 주파수 계수열을 역양자화하여 주파수 계수를 갖는 잔차 블록을 생성한다.The inverse quantization unit 220 inversely quantizes the residual block quantized by the quantization unit 215. That is, the quantization unit 220 dequantizes the quantized frequency coefficient sequence to generate a residual block having a frequency coefficient.

역변환부(225)는 역양자화부(220)에 의해 역양자화된 잔차 블록을 역변환한다. 즉, 역변환부(225)는 역양자화된 잔차 블록의 주파수 계수들을 역변환하여 화소값을 갖는 잔차 블록, 즉 복원된 잔차 블록을 생성한다. 여기서, 역변환부(225)는 변환부(210)에서 사용한 변환한 방식을 역으로 사용하여 역변환을 수행할 수 있다.The inverse transform unit 225 inversely transforms the inversely quantized residual block by the inverse quantization unit 220. That is, the inverse transform unit 225 inversely transforms the frequency coefficients of the inversely quantized residual block to generate a residual block having a pixel value, that is, a reconstructed residual block. Here, the inverse transform unit 225 may perform the inverse transform using the inverse transform used in the transform unit 210.

가산부(230)는 예측부(200)에서 예측된 예측 블록과 역변환부(225)에 의해 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록은 복호화 픽쳐 버퍼(240)에 참조 픽쳐(또는 참조 블록)로서 저장되어 현재 블록의 다음 블록이나 향후 다른 블록, 다른 픽쳐를 부호화할 때 참조 픽쳐로서 사용될 수 있다.The adder 230 restores the current block by adding the predicted block predicted by the predictor 200 and the residual block reconstructed by the inverse transform unit 225. [ The restored current block is stored in the decoded picture buffer 240 as a reference picture (or a reference block), and can be used as a reference picture when coding a next block or another block or another picture in the current block.

필터부(235)는 디블록킹 필터, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 등의 하나 이상의 후처리 필터 과정을 포함할 수 있다. 디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. SAO는 디블록킹 필터가 적용된 잔차 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band offset), 에지 오프셋 등의 형태로 적용될 수 있다. 이와 같은 후처리 필터는 복원된 픽쳐 또는 블록에 적용될 수 있다. The filter unit 235 may include one or more post-processing filter processes such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF). The deblocking filter can remove block distortion occurring at the boundary between the blocks in the reconstructed picture. The ALF can perform filtering based on a comparison between the reconstructed image and the original image after the block is filtered through the deblocking filter. SAO restores the offset difference from the original image on a pixel-by-pixel basis with respect to the residual block to which the deblocking filter is applied, and can be applied in the form of a band offset and an edge offset. Such a post-processing filter may be applied to the restored picture or block.

복호화 픽쳐 버퍼(240)는 필터부(235)를 통해 복원된 블록 또는 픽쳐를 저장할 수 있다. 복호화 픽쳐 버퍼(240)에 저장된 복원 블록 또는 픽쳐는 화면 내 예측 또는 화면 간 예측을 수행하는 예측부(200)에 제공될 수 있다.The decoded picture buffer 240 may store a restored block or picture through the filter unit 235. [ The restored block or picture stored in the decoded picture buffer 240 may be provided to the predictor 200 that performs intra-picture prediction or inter-picture prediction.

도면에 도시 하지 않았지만 분할부가 더 포함될 수 있으며, 분할부를 통해 다양한 크기의 부호화 단위로 분할할 수 있다. 이때, 부호화 단위는 컬러 포맷에 따라 복수개의 부호화 블록으로 구성(예를 들어, 하나의 휘도 부호화 블록, 둘의 색차 부호화 블록 등)될 수 있다. 설명의 편의를 위해 하나의 컬러 성분 단위를 가정하여 설명한다. 부호화 블록은 M×M(예를 들어, M은 4, 8, 16, 32, 64, 128 등)과 같은 가변 크기를 가질 수 있다. 또는, 분할 방식(예를 들어, 트리 기반의 분할. 쿼드 트리 분할, 바이너리 트리 분할 등)에 따라 부호화 블록은 M×N(예를 들어, M과 N은 4, 8, 16, 32, 64, 128 등)과 같은 가변 크기를 가질 수 있다. 이때, 부호화 블록은 화면 내 예측, 화면 간 예측, 변환, 양자화, 엔트로피 부호화 등의 기초가 되는 단위일 수 있다. 본 발명에서는 분할 방식에 따라 동일한 크기 및 형태를 갖는 복수 개의 서브 블록이 획득되는 가정 하에 설명하지만, 비대칭적인 서브 블록(예를 들어, 바이너리 트리의 경우 4M × 4N은 3M × 4N과 M × 4N 또는 4M × 3N과 4M × N 등으로 분할)을 갖는 경우로의 적용 또한 가능할 수 있다. 이때, 비대칭적인 서브 블록은 대칭적인 서브 블록을 획득하는 분할 방식에 부/복호화 설정에 따라 추가적으로 지원 여부가 결정되는 정보에 의해 지원될 수 있다.Although not shown in the figure, a division unit may be further included, and the division unit may be divided into coding units of various sizes. At this time, the encoding unit may be composed of a plurality of encoding blocks (for example, one luminance encoding block, two color difference encoding blocks, etc.) according to the color format. For ease of explanation, one color component unit is assumed. The encoding block may have variable sizes such as MxM (e.g., M is 4, 8, 16, 32, 64, 128, etc.). Alternatively, according to a division scheme (for example, a tree-based division, a quad tree division, a binary tree division, or the like), an encoding block is M × N (for example, M and N are 4, 8, 16, 32, 64, 128, etc.). At this time, the encoded block may be a unit that is a basis for intra-picture prediction, inter-picture prediction, conversion, quantization, entropy coding, and the like. In the present invention, although it is described under the assumption that a plurality of sub-blocks having the same size and shape are obtained according to the division method, asymmetric sub-blocks (for example, 4M x 4N for 3M x 4N and M x 4N or 4M x 3N and 4M x N, etc.). At this time, the asymmetric sub-block can be supported by the information for determining whether or not the sub-block is additionally supported according to the sub-decoding setting in the dividing scheme for obtaining symmetric sub-blocks.

부호화 블록(M×N)의 분할은 재귀적인 트리 기반의 구조를 가질 수 있다. 이때, 분할 여부는 분할 플래그(예를 들어, 쿼드 트리 분할 플래그, 바이너리 분할 플래그)를 통해 나타낼 수 있다. 예를 들어, 분할 깊이(Depth)가 k인 부호화 블록의 분할 플래그가 0인 경우 부호화 블록의 부호화는 분할 깊이가 k인 부호화 블록에서 수행되며, 분할 깊이가 k인 부호화 블록의 분할 플래그가 1인 경우 부호화 블록의 부호화는 분할 방식에 따라 분할 깊이가 k+1인 4개의 서브 부호화 블록(쿼드 트리 분할) 또는 2개의 서브 부호화 블록(바이너리 트리 분할)에서 수행된다. 이때, 블록의 크기는 4개의 부호화 블록의 경우 (M >> 1) × (N >> 1)이고, 2개의 부호화 블록의 경우 (M >> 1) × N 또는 M × (N >>1)일 수 있다. 상기 서브 부호화 블록은 다시 부호화 블록(k+1)으로 설정되어 상기 과정을 거쳐 서브 부호화 블록(k+2)으로 분할될 수 있다. 이때, 쿼드 트리 분할의 경우 하나의 분할 플래그(예를 들어, 분할 여부 플래그)가 지원될 수 있고, 바이너리 트리 분할의 경우 적어도 하나(최대 2개)의 플래그(예를 들어, 분할 여부 플래그에 추가적으로 분할 방향 플래그<가로 또는 세로. 선행하는 상위 또는 이전 분할 결과에 따라 일부 경우에 생략가능>)가 지원될 수 있다.The division of an encoding block (MxN) may have a recursive tree-based structure. At this time, whether or not division is possible can be indicated by a division flag (for example, a quadtree division flag and a binary division flag). For example, when the division flag of the coding block having the division depth k is 0, the coding block is encoded in the coding block having the division depth k. If the division flag of the coding block having the division depth k is 1 The encoding of the encoding block is performed in four sub-encoding blocks (quad tree segmentation) or two sub-encoding blocks (binary tree segmentation) with a division depth of k + 1 according to the division method. In this case, the size of the block is (M >> 1) × (N >> 1) in the case of four encoding blocks and (M >> 1) × N or M × (N >> 1) Lt; / RTI &gt; The sub-encoding block is set as a coding block (k + 1) and divided into sub-coding blocks (k + 2) through the above process. At this time, one partition flag (e.g., partitioning flag) may be supported in the case of a quadtree partition, and at least one (at most two) flags in the case of a binary tree partition (for example, Split direction flags <horizontally or vertically, depending on the preceding or previous splitting result, may be omitted in some cases) may be supported.

블록 분할은 최대 부호화 블록에서 시작하여 최소 부호화 블록까지 진행할 수 있다. 또는, 최소 분할 깊이에서 시작하여 최대 분할 깊이까지 진행할 수 있다. 즉, 블록의 크기가 최소 부호화 블록 크기에 도달하거나 분할 깊이가 최대 분할 깊이에 도달할 때까지 재귀적으로 분할을 수행할 수 있다. 이때, 부/복호화 설정(예를 들어, 영상<슬라이스, 타일> 타입<I/P/B>, 부호화 모드<Intra/Inter>, 색차 성분<Y/Cb/Cr> 등)에 따라 최대 부호화 블록의 크기와 최소 부호화 블록의 크기, 최대 분할 깊이가 적응적으로 설정될 수 있다. 예를 들어, 최대 부호화 블록은 128×128일 때, 쿼드 트리 분할은 8×8 ~ 128×128 범위에서 수행될 수 있고, 바이너리 트리 분할은 4×4 ~ 32×32범위와 최대 분할 깊이 3인 경우에 수행될 수 있다. 또는, 쿼드 트리 분할은 8×8 ~ 128×128 범위에서 수행될 수 있고, 바이너리 트리 분할은 4×4 ~ 128×128 범위와 최대 분할 깊이 3인 경우에 수행될 수 있다. 전자의 경우 I 영상 타입(예를 들어, 슬라이스), 후자의 경우 P나 B 영상 타입에서의 설정일 수 있다. 상기 예에서 설명된 것과 같이 최대 부호화 블록의 크기, 최소 부호화 블록의 크기, 최대 분할 깊이 등과 같은 분할 설정은 분할 방식에 따라 공통되거나 또는 개별적으로 지원될 수 있다.The block division starts from the maximum encoding block and can proceed to the minimum encoding block. Alternatively, it may proceed from the minimum splitting depth to the maximum splitting depth. That is, the partitioning can be performed recursively until the block size reaches the minimum coding block size or the division depth reaches the maximum division depth. At this time, in accordance with the sub / decoding setting (for example, image <slice, tile> type <I / P / B>, coding mode <Intra / Inter>, color difference component <Y / Cb / Cr> The size of the minimum coding block, and the maximum division depth can be adaptively set. For example, when the maximum coded block is 128 × 128, the quadtree partitioning can be performed in the range of 8 × 8 to 128 × 128, the binary tree partitioning can be performed in the range of 4 × 4 to 32 × 32, . &Lt; / RTI &gt; Alternatively, the quadtree partitioning may be performed in the range of 8 x 8 to 128 x 128, and the binary tree partitioning may be performed in the range of 4 x 4 to 128 x 128 and the maximum division depth of 3. In the former case, it may be an I picture type (for example, a slice), and in the latter case, a P or B picture type. As described in the above example, the division setting such as the size of the maximum coding block, the size of the minimum coding block, and the maximum division depth can be shared or individually supported according to the division method.

복수의 분할 방식이 지원되는 경우 각 분할 방식의 블록 지원 범위 내에서 분할이 수행되며, 각 분할 방식의 블록 지원 범위가 겹치는 경우에는 분할 방식의 우선 순위가 존재할 수 있다. 예를 들어, 쿼드 트리 분할이 바이너리 트리 분할을 선행할 수 있다. 또한, 복수의 분할 방식이 지원되는 경우 선행하는 분할의 결과에 따라 후행하는 분할의 수행 여부가 결정될 수 있다. 예를 들어, 선행하는 분할의 결과가 분할을 수행함을 나타낼 경우 후행하는 분할은 수행하지 않고 선행한 분할에 따라 분할된 서브 부호화 블록이 다시 부호화 블록으로 설정되어 분할을 수행할 수 있다. If a plurality of partitioning schemes are supported, the partitioning is performed within the block support range of each partitioning scheme, and if the block support ranges of each partitioning scheme overlap, the priority of the partitioning scheme may exist. For example, a quadtree partition may precede a binary tree partition. Also, if a plurality of division methods are supported, it may be determined whether or not to perform a following division according to the result of the preceding division. For example, if the result of the preceding division indicates that the division is performed, the sub-coding block divided according to the preceding division can be set as the coding block again to perform the division without performing the following division.

또는, 선행하는 분할의 결과가 분할을 수행하지 않음을 나타낼 경우 후행하는 분할의 결과에 따라 분할을 수행할 수 있다. 이때, 후행하는 분할의 결과가 분할을 수행함을 나타낼 경우 분할된 서브 부호화 블록이 다시 부호화 블록으로 설정되어 분할을 수행할 수 있고, 후행하는 분할의 결과가 분할을 수행하지 않음을 나타낼 경우 더 이상의 분할은 수행하지 않는다. 이때, 후행하는 분할 결과가 분할을 수행함을 나타내고 분할된 서브 부호화 블록이 다시 부호화 블록으로 설정되었을 때의 상황도 복수의 분할 방식이 지원되는 경우일 때, 선행하는 분할은 수행하지 않고 후행하는 분할만 지원할 수 있다. 즉, 복수의 분할 방식이 지원되는 경우에 선행하는 분할의 결과가 분할이 수행되지 않음을 나타낼 경우 더 이상 선행의 분할은 수행하지 않음을 의미한다.Alternatively, if the result of the preceding segmentation indicates that the segmentation is not performed, the segmentation may be performed according to the result of the succeeding segmentation. In this case, when the result of the succeeding division indicates that the division is performed, the divided sub-coded blocks may be set as a coding block again to perform division, and if the result of the following division indicates that division is not performed, . At this time, when the succeeding division result indicates that the division is performed and the divided sub-coded blocks are set as the encoding block again, when a plurality of division methods are supported, only the following division . That is, when a plurality of division methods are supported, if the result of the preceding division shows that the division is not performed, it means that the preceding division is no longer performed.

예를 들어, M × N부호화 블록은 쿼드 트리 분할와 바이너리 트리 분할이 가능할 경우 우선 쿼드 트리 분할 플래그를 확인할 수 있고, 상기 분할 플래그가 1인 경우에는 (M >> 1) x (N >> 1) 크기의 4개의 서브 부호화 블록으로 분할이 수행이 되고 상기 서브 부호화 블록은 다시 부호화 블록으로 설정되어 분할(쿼드 트리 분할 또는 바이너리 트리 분할)을 수행할 수 있다. 상기 분할 플래그가 0인 경우에는 바이너리 트리 분할 플래그를 확인할 수 있고, 해당 플래그가 1인 경우에는 (M >> 1) × N 또는 M × (N >> 1) 크기의 2 개의 서브 부호화 블록으로 분할이 수행되고 상기 서브 부호화 블록은 다시 부호화 블록으로 설정되어 분할(바이너리 트리 분할)을 수행할 수 있다. 상기 분할 플래그가 0인 경우에는 분할 과정을 종료하고 부호화를 진행한다.For example, the M × N encoded block can confirm the quad tree division flag when quad tree division and binary tree division are possible, and when the division flag is 1 (M >> 1) x (N >> 1) The sub-encoding block is divided into four sub-encoding blocks of size, and the sub-encoding block is set as the encoding block again to perform the segmentation (quad-tree segmentation or binary tree segmentation). If the division flag is 0, the binary tree division flag can be confirmed. If the flag is 1, the sub-encoding block is divided into two sub-coded blocks of size (M >> 1) × N or M × (N >> 1) Is performed and the sub-encoding block is set as an encoding block again to perform segmentation (binary tree segmentation). If the division flag is 0, the dividing process is terminated and the coding process proceeds.

상기 예를 통해 복수의 분할 방식이 수행되는 경우를 설명하였지만, 이에 한정되지 않고 다양한 분할 방식의 지원 조합이 가능할 수 있다. 예를 들어, 쿼드 트리/바이너리 트리/ 쿼드 트리 + 바이너리 트리 등의 분할 방식이 사용될 수 있다. 이때, 기본의 분할 방식은 쿼드 트리 방식, 추가적인 분할 방식은 바이너리 트리 방식으로 설정할 수 있고, 추가적인 분할 방식의 지원 여부에 대한 정보가 명시적으로 시퀀스, 픽쳐, 슬라이스, 타일 등의 단위에 포함될 수 있다.Although a case where a plurality of division methods are performed through the above example has been described, the present invention is not limited thereto, and various combinations of supporting methods can be possible. For example, a partitioning scheme such as quadtree / binary tree / quadtree + binary tree can be used. In this case, the basic partitioning method can be set to a quad tree method, the additional partitioning method can be set to a binary tree method, and information on whether or not the additional partitioning method is supported can be explicitly included in a unit of a sequence, a picture, a slice, and a tile .

상기 예에서 부호화 블록의 크기 정보, 부호화 블록의 지원 범위, 최대 분할 깊이 등 분할에 관련된 정보는 시퀀스, 픽쳐, 슬라이스, 타일 등의 단위에 포함되거나 묵시적으로 결정될 수 있다. 정리하면, 최대 부호화 블록의 크기, 지원되는 블록의 범위, 최대 분할 깊이 등에 의해 허용 가능한 블록의 범위가 정해질 수 있다.In the above example, the information related to the division such as the size information of the encoding block, the support range of the encoding block, the maximum division depth, and the like may be included in the unit of the sequence, picture, slice, tile or the like or implicitly determined. In summary, the range of allowable blocks can be determined by the size of the maximum coded block, the range of supported blocks, the maximum division depth, and the like.

상기 과정을 통해 분할이 수행되어 획득되는 부호화 블록은 화면 내 예측 또는 화면 간 예측의 최대 크기로 설정될 수 있다. 즉, 블록 분할이 끝난 부호화 블록은 화면 내 예측 또는 화면 간 예측을 위해 예측 블록의 분할의 시작 크기일 수 있다. 예를 들어, 부호화 블록이 2M×2N일 경우 예측 블록은 그보다 같거나 작은 2M×2N, M×N의 크기를 가질 수 있다. 또는, 2M×2N, 2M×N, M×2N, M×N의 크기를 가질 수 있다. 또는, 부호화 블록와 동일한 크기로 2M×2N의 크기를 가질 수 있다. 이때, 부호화 블록과 예측 블록이 동일한 크기를 갖는다는 것은 예측 블록의 분할을 수행하지 않고 부호화 블록의 분할을 통해 획득된 크기로 예측을 수행한다는 것을 의미할 수 있다. 즉, 예측 블록을 위한 분할 정보는 생성되지 않는다는 것을 의미한다. 이와 같은 설정은 변환 블록에도 적용될 수 있으며 분할된 부호화 블록 단위로 변환을 수행할 수도 있다. 즉, 상기 분할 결과에 따라 획득되는 정사각 또는 직사각 형태의 블록이 화면내 예측, 화면간 예측에 사용되는 블록일 수 있고, 잔차 성분에 대한 변환, 양자화에 사용되는 블록일 수 있다.The coding block obtained by performing the division through the above process can be set to the maximum size of intra-picture prediction or inter-picture prediction. That is, the coded block after the block division may be the start size of the division of the prediction block for intra-picture prediction or inter-picture prediction. For example, if the coding block is 2M x 2N, the prediction block may have a size of 2M x 2N, M x N that is equal to or smaller than the prediction block. Alternatively, it may have a size of 2Mx2N, 2MxN, Mx2N, and MxN. Alternatively, it may have the same size as the encoding block and have a size of 2M x 2N. In this case, the fact that the encoding block and the prediction block have the same size may mean that the prediction is performed with the size acquired through the division of the encoding block without performing the division of the prediction block. That is, the partition information for the prediction block is not generated. Such a setting may be applied to a transform block, and the transform may be performed on a divided block basis. That is, the square block or the rectangular block obtained according to the division result may be a block used for intra prediction or inter prediction, or may be a block used for transformation and quantization of residual components.

도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 구성도이다.3 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.

도 3을 참조하면, 영상 복호화 장치(30)는, 부호화 픽쳐 버퍼(300), 엔트로피 복호화부(305), 예측부(310), 역양자화부(315), 역변환부(320), 가감산기(325), 필터(330), 복호화 픽쳐 버퍼(335)를 포함하여 구성될 수 있다.3, the image decoding apparatus 30 includes an encoding picture buffer 300, an entropy decoding unit 305, a predicting unit 310, an inverse quantization unit 315, an inverse transform unit 320, 325, a filter 330, and a decoded picture buffer 335.

또한, 예측부(310)는 다시 화면 내 예측 모듈 및 화면 간 예측 모듈을 포함하여 구성될 수 있다.In addition, the prediction unit 310 may include an intra prediction module and an inter prediction module.

먼저, 영상 부호화 장치(20)로부터 전달된 영상 비트스트림이 수신되면, 부호화 픽쳐 버퍼(300)에 저장될 수 있다.First, when an image bitstream transmitted from the image encoding apparatus 20 is received, the image bitstream can be stored in the encoding picture buffer 300.

엔트로피 복호화부(305)는 비트스트림을 복호화하여 양자화된 계수들, 움직임 벡터들 및 다른 구문(syntax)를 생성할 수 있다. 생성된 데이터는 예측부(310)로 전달될 수 있다.The entropy decoding unit 305 may decode the bitstream to generate quantized coefficients, motion vectors, and other syntax. The generated data may be transmitted to the predicting unit 310.

예측부(310)는 엔트로피 복호화부(305)로부터 전달된 데이터들에 기초하여 예측 블록을 생성할 수 있다. 이때, 복호화된 픽쳐 버퍼(335)에 저장된 참조 영상에 기초하여, 디폴트(default) 구성 기법을 이용한 참조 픽쳐 리스트를 구성할 수도 있다.The prediction unit 310 may generate a prediction block based on the data transmitted from the entropy decoding unit 305. [ At this time, based on the reference image stored in the decoded picture buffer 335, a reference picture list using a default construction technique may be constructed.

역양자화부(315)는 비트스트림으로 제공되어 엔트로피 복호화부(305)에 의해 복호화된 양자화된 변환 계수들을 역양자화할 수 있다.The inverse quantization unit 315 is provided as a bitstream and can dequantize the quantized transform coefficients decoded by the entropy decoding unit 305. [

역변환부(320)는 역 DCT, 역 정수 변환 또는 그와 유사한 개념의 역변환 기법들을 변환 계수에 적용하여 잔차 블록을 생성할 수 있다.The inverse transform unit 320 may apply inverse DCT, inverse integer transform, or similar inverse transformation techniques to the transform coefficients to generate residual blocks.

이때, 역양자화부(315), 역변환부(320)는 앞서 설명한 영상 부호화 장치(20)의 변환부(210) 및 양자화부(215)에서 수행한 과정을 역으로 수행하며 다양한 방법으로 구현될 수 있다. 예를 들어, 변환부(210) 및 양자화부(215)와 공유하는 동일한 과정 및 역변환을 사용할 수도 있고, 영상 부호화 장치(20)로부터 변환 및 양자화 과정에 관한 정보(예를 들면, 변환 크기, 변환 모양, 양자화 타입 등)를 이용하여 변환 및 양자화 과정을 역으로 수행할 수 있다.The inverse quantization unit 315 and the inverse transformation unit 320 inversely perform the processes performed by the transform unit 210 and the quantization unit 215 of the image encoding apparatus 20 described above and may be implemented in various ways have. For example, the same process and inverse transformation that are shared with the transform unit 210 and the quantization unit 215 may be used, and information on the transform and quantization process (for example, transform size, transform Shape, quantization type, etc.), the transformation and quantization processes can be performed inversely.

역양자화 및 역변환 과정을 거친 잔차 블록은 예측부(310)에 의해 도출된 예측 블록과 가산되어 복원된 영상 블록이 생성될 수 있다. 이러한 가산은 가감산기(325)에 의해 이루어 질 수 있다.The residual block subjected to the inverse quantization and inverse transform process may be added to the prediction block derived by the prediction unit 310 to generate a reconstructed image block. This addition may be performed by the adder / subtracter 325.

필터(330)는 복원된 영상 블록에 대하여, 필요에 따라 블로킹(blocking) 현상을 제거하기 위하여 디블로킹 필터를 적용할 수도 있고, 상기 복호화 과정 전 후에 다른 루프 필터들을 비디오 품질을 향상시키기 위해 추가로 사용할 수도 있다.The filter 330 may apply a deblocking filter to the reconstructed image block to remove a blocking phenomenon if necessary, and may further add other loop filters to improve the video quality before and after the decoding process. It can also be used.

복원 및 필터를 거친 영상 블록은 복호화 픽쳐 버퍼(335)에 저장될 수 있다.The reconstructed and filtered image block may be stored in the decoded picture buffer 335.

도 4는 본 발명의 일 실시예에 따른 화면 간 예측에서 현재 블록의 움직임 벡터를 설정하기 위한 후보 움직임 벡터를 결정하는 방법에 대한 예시도이다.4 is a diagram illustrating a method of determining a candidate motion vector for setting a motion vector of a current block in an inter-view prediction according to an embodiment of the present invention.

현재 블록의 예측 블록을 생성하기 위하여 현재 블록과 유사한 블록을 현재 블록이 속한 프레임과 시간적으로 다른 프레임 내의 블록에서 찾은 경우 해당 블록을 지시하는 정보로서 움직임 벡터를 사용할 수 있다. 이때, 부호화할 움직임 벡터의 좌표값이 큰 경우 비트 손실율이 매우 클 수 있다. 따라서, 부호화 장치는 부호화할 움직임 벡터와 유사성이 높을 것으로 예상되는 후보 움직임 벡터들 중에서 최적의 움직임 벡터를 선정한 후, 최적의 움직임 벡터를 지시하는 정보, 부호화할 움직임 벡터와 최적의 움직임 벡터 사이의 차분값 및 차분값의 부호를 복호화 장치에 전달할 수 있다. 이때, 최적의 움직임 벡터는 차분값이 최소화될 수 있도록, 후보 움직임 벡터들 중에서 현재 블록에 대한 움직임 벡터와의 거리가 최소가 되는 움직임 벡터일 수 있다.When a block similar to the current block is found in a block within a frame temporally different from the frame to which the current block belongs, a motion vector can be used as information indicating the corresponding block in order to generate a prediction block of the current block. At this time, if the coordinate value of the motion vector to be encoded is large, the bit loss rate may be very large. Therefore, after selecting an optimal motion vector from candidate motion vectors that are expected to be highly similar to a motion vector to be encoded, the encoding apparatus selects information indicating an optimal motion vector, a difference between a motion vector to be encoded and an optimal motion vector Value and difference value to the decoding apparatus. In this case, the optimal motion vector may be a motion vector having a minimum distance from the motion vector of the current block among the candidate motion vectors so that the difference value may be minimized.

여기서, 후보 움직임 벡터를 어떻게 결정할 것인지 문제되는데, 도 4를 참조하면, 현재 블록과 인접한 이웃 블록의 움직임 벡터를 후보 움직임 벡터로 결정할 수 있다. 즉, 현재 블록(Current BLOCK)과 인접한 이웃 블록들(A, B, C, D, E)의 움직임 벡터는 현재 블록의 움직임 벡터와 유사할 가능성이 높으므로 현재 블록의 움직임 벡터를 표현하는 후보 움직임 벡터로 결정할 수 있다.Here, how to determine a candidate motion vector is a problem. Referring to FIG. 4, a motion vector of a neighboring block adjacent to the current block can be determined as a candidate motion vector. That is, since the motion vectors of the neighboring blocks A, B, C, D, and E adjacent to the current block are likely to be similar to the motion vectors of the current block, Can be determined as a vector.

또한, 현재 블록과 인접한 이웃 블록 뿐만 아니라, 현재 블록이 속한 프레임(또는 픽쳐)과 시간적으로 인접하며 부호화가 완료된 프레임(또는 픽쳐)에서, 현재 블록과 같은 위치에 있는 블록(Co-located BLOCK)의 움직임 벡터를 후보 움직임 벡터로 결정할 수도 있다.In addition to the neighboring block adjacent to the current block, a block (or a picture) in the same position as the current block in a frame (or picture) temporally adjacent and coded with respect to the frame (or picture) The motion vector may be determined as a candidate motion vector.

또한, 후보 움직임 벡터는 이웃 블록 또는 시간적으로 인접하고 부호화가 완료된 프레임에서 현재 블록과 같은 위치에 있는 블록들 중에서 2개 이상을 선정할 수 있다. 이때, 후보 움직임 벡터의 개수와 후보 움직임 벡터의 선정 조건은 부호화 장치와 복호화 장치에 미리 설정되어 있을 수 있다.In addition, the candidate motion vector may be selected from two or more blocks in the same block as the current block in a neighboring block or temporally adjacent and coded frames. At this time, the number of candidate motion vectors and the selection condition of the candidate motion vector may be preset in the encoding apparatus and the decoding apparatus.

이하에서는 최적의 움직임 벡터를 지시하는 정보, 현재 블록의 움직임 벡터와 최적의 움직임 벡터 사이의 차분값, 차분값에 대한 부호 중에서 최적의 움직임 벡터를 지시하는 정보나 차분값에 대한 부호를 복호화 장치에서 알 수 있는 경우를 살펴보고, 이를 기초로 최적의 움직임 벡터를 지시하는 정보 또는 차분값에 대한 부호를 부호화하지 않는 방법을 설명한다. Hereinafter, the information indicating the optimal motion vector, the difference value between the motion vector of the current block and the optimal motion vector, the information indicating the optimal motion vector among the codes for the difference value, A description will be made of a case where information is known and a method of not coding information for indicating an optimal motion vector or a code for a difference value will be described.

도 5는 후보 움직임 벡터가 2개일 때 현재 블록의 움직임 벡터가 존재할 수 있는 영역을 나타낸 예시도이다.5 is a diagram illustrating an area where a motion vector of a current block may exist when two candidate motion vectors are present.

도 5를 참조하면, 후보 움직임 벡터가 2개일 때 최적의 움직임 벡터를 지시하는 정보 또는 차분값에 대한 부호를 복호화 장치가 알 수 있는 경우를 설명할 수 있다. 또한, a와 b는 후보 움직임 벡터에 대한 x 또는 y 좌표값을 의미할 수 있으나 이하에서는 간략히 후보 움직임 벡터로 지칭한다.Referring to FIG. 5, it is possible to explain a case in which the decoding apparatus can know the information indicating the optimal motion vector or the sign of the difference value when there are two candidate motion vectors. Also, a and b may be x or y coordinate values for a candidate motion vector, but they are hereinafter simply referred to as candidate motion vectors.

먼저, 두 개의 후보 움직임 벡터 a 및 b 중에서 최적의 움직임 벡터를 선정하고 최적의 움직임 벡터와 현재 블록의 움직임 벡터(k) 사이의 차분값(mvd, moving vector difference)을 부호화할 경우, 최적의 움직임 벡터와 현재 블록의 움직임 벡터(k) 사이의 차분값(mvd)이 다음의 수학식 1과 같은 관계를 가진다고 하자.First, when an optimal motion vector is selected from two candidate motion vectors a and b and a difference value (mvd, moving vector difference) between an optimal motion vector and a motion vector k of the current block is coded, Let the difference value (mvd) between the vector and the motion vector (k) of the current block have a relationship as shown in the following Equation (1).

Figure pat00001
Figure pat00001

상기 수학식 1의 관계에서, 후보 움직임 벡터 a가 최적의 움직임 벡터인 경우, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 a를 기준으로

Figure pat00002
(인접한 후보 움직임 벡터들 a, b 사이의 거리의 반에 해당) 보다 더 먼 거리에 위치할 수 있다. 즉, 현재 블록의 움직임 벡터(k)는 도 5에서 제1 영역(51a)와 제2 영역(52a)에 위치할 수 있다. 이때, 현재 블록의 움직임 벡터(k)가 제2 영역(52a)에 위치하면 후보 움직임 벡터 a보다 후보 움직임 벡터 b와 더 가까워지게 된다. 현재 블록의 움직임 벡터(k)가 후보 움직임 벡터 a보다 후보 움직임 벡터 b와 가까우면, 최적의 움직임 벡터가 a라는 전제조건에 어긋나므로, 현재 블록의 움직임 벡터(k)는 제2 영역(52a)에는 위치할 수 없고, 제1 영역(51a)에 위치할 수 있다.In the relation of Equation (1), if the candidate motion vector a is an optimal motion vector, the motion vector (k) of the current block is based on the candidate motion vector a
Figure pat00002
(Corresponding to half the distance between adjacent candidate motion vectors a, b). That is, the motion vector k of the current block may be located in the first area 51a and the second area 52a in FIG. At this time, if the motion vector k of the current block is located in the second region 52a, the motion vector k is closer to the candidate motion vector b than the candidate motion vector a. If the motion vector k of the current block is closer to the candidate motion vector b than to the candidate motion vector a, the motion vector k of the current block is in the second region 52a, And can be located in the first region 51a.

또한, 상기 수학식 1의 관계에서 후보 움직임 벡터 b가 최적의 움직임 벡터인 경우, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 b를 기준으로

Figure pat00003
보다 더 먼 거리에 위치할 수 있다. 즉, 현재 블록의 움직임 벡터(k)는 도 5에서 제3 영역(51b)와 제4 영역(52b)에 위치할 수 있다. 이때, 현재 블록의 움직임 벡터(k)가 제3 영역(51b)에 위치하면 후보 움직임 벡터 b보다 후보 움직임 벡터 a와 더 가까워지게 된다. 현재 블록의 움직임 벡터(k)가 후보 움직임 벡터 b보다 후보 움직임 벡터 a와 가까우면, 최적의 움직임 벡터가 b라는 전제조건에 어긋나므로, 현재 블록의 움직임 벡터(k)는 제3 영역(51b)에는 위치할 수 없고, 제4 영역(52b)에 위치할 수 있다.When the candidate motion vector b is an optimal motion vector in the relation of Equation (1), the motion vector k of the current block is calculated based on the candidate motion vector b
Figure pat00003
It can be located farther than the above. That is, the motion vector k of the current block may be located in the third region 51b and the fourth region 52b in FIG. At this time, if the motion vector k of the current block is located in the third region 51b, the motion vector k is closer to the candidate motion vector a than the candidate motion vector b. If the motion vector k of the current block is closer to the candidate motion vector a than the candidate motion vector b, the motion vector k of the current block deviates from the third region 51b, And can be located in the fourth region 52b.

정리하면, 수학식 1을 만족할 경우 현재 블록의 움직임 벡터(k)는 제1 영역(51a) 또는 제4 영역(52b)에 위치한다는 것을 알 수 있는데, 이러한 사실을 통해 최적의 움직임 벡터를 지시하는 정보를 생략하거나, 최적의 움직임 벡터와 현재 블록의 움직임 벡터 사이의 차분값에 대한 부호를 생략할 수 있다.In summary, it can be seen that when the equation (1) is satisfied, the motion vector k of the current block is located in the first area 51a or the fourth area 52b. Information can be omitted or the sign for the difference value between the optimal motion vector and the motion vector of the current block can be omitted.

구체적으로, 최적의 움직임 벡터와 현재 블록의 움직임 벡터 사이의 차분값에 대한 부호를 생략하는 방법은 다음과 같다.Specifically, a method of omitting the sign for the difference value between the optimal motion vector and the motion vector of the current block is as follows.

먼저, a가 최적의 움직임 벡터인 경우를 살펴보면, 현재 블록의 움직임 벡터(k)는 제1 영역(51a)에 위치한다. 따라서, 최적의 움직임 벡터가 a라면 현재 블록의 움직임 벡터(k)는 a보다 왼쪽에 위치(a보다 더 작은 값을 가지는 위치)에 있으므로, 현재 블록의 움직임 벡터(k)와 최적의 움직임 벡터(전제조건상 a)와의 차분값(k-a)은 항상 음수라는 것을 알 수 있다. First, when a is an optimal motion vector, the motion vector k of the current block is located in the first area 51a. Therefore, if the optimal motion vector is a, the motion vector k of the current block is located on the left side of a (a value smaller than a), so that the motion vector k of the current block and the optimal motion vector It can be seen that the difference value ka with a) is always negative in the precondition.

다음으로, b가 최적의 움직임 벡터인 경우를 살펴보면, 현재 블록의 움직임 벡터(k)는 제4 영역(52b)에 위치한다. 따라서, 최적의 움직임 벡터가 b라면 현재 블록의 움직임 벡터(k)는 b보다 오른쪽에 위치(b보다 더 큰 값을 가지는 위치)에 있으므로, 현재 블록의 움직임 벡터(k)와 최적의 움직임 벡터(전제조건상 b)와의 차분값(k-b)은 항상 양수라는 것을 알 수 있다.Next, when b is an optimal motion vector, the motion vector k of the current block is located in the fourth region 52b. Therefore, if the optimal motion vector is b, the motion vector k of the current block is located to the right of b (a position having a value larger than b), so that the motion vector k of the current block and the optimal motion vector It can be seen that the difference value (kb) with b) is always positive in the preconditioning condition.

종합하면, 부호화 장치는 상기 수학식 1을 만족할 경우 최적의 움직임 벡터와 현재 블록의 움직임 벡터에 대한 차분값의 부호를 복호화 장치에 전달하는 과정을 생략하고, 차분값의 크기와 최적의 움직임 벡터를 지시하는 정보를 복호화 장치에 전달할 수 있다. 복호화 장치는 상기 수학식 1을 만족하는지 판단하고, 최적의 움직임 벡터를 지시하는 정보를 참조한 결과 최적의 움직임 벡터가 a라면 현재 블록의 움직임 벡터(k)가 제1 영역(51a)에 위치하는 것을 파악하여 차분값의 부호가 음수라고 결정할 수 있다. 또한, 복호화 장치는 상기 수학식 1을 만족하는지 판단하고, 최적의 움직임 벡터를 지시하는 정보를 참조한 결과 최적의 움직임 벡터가 b라면 현재 블록의 움직임 벡터(k)가 제4 영역(52b)에 위치하는 것을 파악하여 차분값의 부호가 양수라고 결정할 수 있다.If the equation (1) is satisfied, the encoding apparatus skips the process of transmitting the optimal motion vector and the sign of the difference value to the motion vector of the current block to the decoding apparatus, and calculates the difference value and the optimal motion vector And can transmit the instructed information to the decryption apparatus. If the optimal motion vector is a as a result of referring to the information indicating the optimal motion vector, the decoding apparatus determines that the motion vector (k) of the current block is located in the first area 51a And can determine that the sign of the difference value is negative. If the optimal motion vector is b as a result of referring to the information indicating the optimal motion vector, the decoding apparatus determines whether the motion vector k of the current block is located in the fourth region 52b It can be determined that the sign of the difference value is positive.

한편, 최적의 움직임 벡터를 지시하는 정보를 생략하는 방법은 다음과 같다.On the other hand, a method of omitting information indicating an optimal motion vector is as follows.

부호화 장치가 최적의 움직임 벡터를 지시하는 정보를 생략하고, 최적의 움직임 벡터와 현재 블록의 움직임 벡터 사이의 차분값의 크기와 부호를 복호화 장치에 전송하였다면, 복호화 장치는 차분값의 크기와 부호를 통해 차분값을 확인할 수 있고, 확인된 차분값에 최적의 움직임 벡터가 될 수 있는 후보 움직임 벡터 a를 더할 수 있다. 이때 도출된 값(현재 블록에 대한 움직임 벡터 좌표값의 추정값일 수 있어, 추정 움직임 벡터로 지칭될 수 있다.)이 a와 b 중에서 a에 가까운 값을 가진다면 최적의 움직임 벡터는 a인 것으로 판단할 수 있다. 왜냐하면, a가 최적의 움직임 벡터라면, 차분값(k-a)에 후보 움직임 벡터 a를 더하여 도출된 값은 현재 블록의 움직임 벡터(k)가 되고, 부호화 장치는 후보 움직임 벡터 a가 현재 블록의 움직임 벡터(k)와 가장 가깝기 때문에 최적의 움직임 벡터로 선정하였을 것이기 때문이다. If the encoding apparatus omits the information indicating the optimal motion vector and transmits the size and the sign of the difference value between the optimal motion vector and the motion vector of the current block to the decoding apparatus, It is possible to add the candidate motion vector a that can be the optimal motion vector to the identified difference value. The derived value (which can be an estimated value of the motion vector coordinate value for the current block, which can be referred to as an estimated motion vector). If a and b have a value close to a, the optimal motion vector is determined to be a can do. If a is an optimal motion vector, the value obtained by adding the candidate motion vector a to the difference value ka becomes the motion vector k of the current block, and the encoder determines that the candidate motion vector a is the motion vector of the current block (k), the optimal motion vector is selected.

같은 방식으로, 복호화 장치는 차분값의 크기와 부호를 통해 차분값을 확인할 수 있고, 확인된 차분값에 최적의 움직임 벡터가 될 수 있는 후보 움직임 벡터 b를 더할 수 있다. 이때 도출된 값이 a와 b 중에서 b에 가까운 값을 가진다면 최적의 움직임 벡터는 b인 것으로 판단할 수 있다. In the same manner, the decoding apparatus can confirm the difference value through the magnitude and sign of the difference value, and add the candidate motion vector b that can be an optimal motion vector to the identified difference value. If the derived value has a value close to b among a and b, it can be determined that the optimal motion vector is b.

한편, 상기 과정들을 모든 후보 움직임 벡터들에 대하여 수행한 결과, 최적의 움직임 벡터가 될 수 있는 움직임 벡터가 여러 개 도출될 수도 있다. 이러한 경우 복호화 장치가 어느 하나의 최적 움직임 벡터를 선정할 수 없으므로 부호화 장치는 최적의 움직임 벡터를 지시하는 정보를 생략할 수 없다. 즉, 후보 움직임 벡터 중에서 하나의 최적 움직임 벡터가 선정되지 않는 경우도 존재할 수 있으며, 이러한 경우에는 상기 방법을 적용하지 않는다. As a result of performing the above processes on all candidate motion vectors, several motion vectors that can be optimal motion vectors may be derived. In this case, since the decoding apparatus can not select any optimal motion vector, the encoding apparatus can not omit the information indicating the optimal motion vector. That is, there may be a case where one optimal motion vector is not selected from the candidate motion vectors. In this case, the above method is not applied.

여기서 최적의 움직임 벡터를 지시하는 정보를 생략하는 방법은 앞에서는 후보 움직임 벡터가 두개인 경우를 기준으로 설명하였으나, 복수의 후보 움직임 벡터가 존재하는 경우에도 같은 방법을 적용하는 것이 통상의 기술자에게 용이하게 이해될 수 있을 것이므로 더 이상 구체적인 설명은 생략한다. Herein, the method of omitting the information indicating the optimal motion vector has been described based on the case where there are two candidate motion vectors, but it is easy for the ordinary technician to apply the same method even when there are a plurality of candidate motion vectors And therefore no further explanation is given.

도 6은 후보 움직임 벡터가 3개일 때 현재 블록의 움직임 벡터가 존재할 수 있는 영역을 나타낸 제1 예시도이다. 도 7은 후보 움직임 벡터가 3개일 때 현재 블록의 움직임 벡터가 존재할 수 있는 영역을 나타낸 제2 예시도이다.6 is a first example of a region where a motion vector of a current block may exist when there are three candidate motion vectors. FIG. 7 is a second exemplary diagram illustrating an area where a motion vector of a current block may exist when there are three candidate motion vectors.

도 6 및 도 7을 참조하면, 후보 움직임 벡터가 a, b, c로 3개 존재할 경우(도면에서는 x 또는 y좌표를 기준으로 나타냄) 후보 움직임 벡터 사이의 간격(x또는 y좌표를 기준으로 인접한 후보 움직임 벡터 사이에 대한 간격들)은 a와 b사이, b와 c사이가 존재할 수 있다.6 and 7, when there are three candidate motion vectors a, b, and c (represented by x or y coordinates in the drawing), the interval between the candidate motion vectors (x, y, The intervals between candidate motion vectors) may be between a and b, and between b and c.

이때, 후보 움직임 벡터 사이의 간격 중 큰 간격을 DL로 정의하고, 작은 간격을 DS로 정의할 수 있다. 도 6 및 도 7과 같이 후보 움직임 벡터 a와 b 사이의 간격이 큰 간격이고, 후보 움직임 벡터 b와 c 사이의 간격이 작은 간격을 가진다면, DL과 DS는 다음의 수학식 2 및 수학식 3과 같다. In this case, a large interval between the candidate motion vectors may be defined as DL, and a small interval may be defined as DS. If the interval between the candidate motion vectors a and b is large and the interval between the candidate motion vectors b and c is small as shown in FIGS. 6 and 7, DL and DS are calculated by the following equations (2) and Respectively.

Figure pat00004
Figure pat00004

Figure pat00005
Figure pat00005

상기 수학식 2 및 수학식 3의 관계에서 현재 블록의 움직임 벡터와 최적의 움직임 벡터 사이의 차분값 사이의 관계가 다음의 수학식 4를 만족한다고 하자.The relationship between the difference value between the motion vector of the current block and the optimal motion vector in the relation of Equations (2) and (3) satisfies the following Equation (4).

Figure pat00006
Figure pat00006

상기 수학식 4의 조건에서, 현재 블록의 움직임 벡터가 위치하는 영역을 도시하면 도 6과 같다.In the condition of Equation (4), a region in which the motion vector of the current block is located is shown in FIG.

도 6을 참조하면, 후보 움직임 벡터 a가 최적의 움직임 벡터일 경우, 현재 블록의 움직임 벡터(k)는 a를 기준으로 DS보다 크고 DL보다 작거나 같은 거리내에 위치하므로 제1 영역(61a) 및 제2 영역(62a)에 위치할 수 있다. 즉, 이 경우 차분값(k-a)는 양수 또는 음수 모두 가능할 수 있다.Referring to FIG. 6, when the candidate motion vector a is an optimal motion vector, the motion vector k of the current block is located within a distance that is larger than DS and less than or equal to DL on the basis of a, And may be located in the second region 62a. That is, in this case, the difference value (k-a) may be both positive and negative.

또한, 후보 움직임 벡터 b가 최적의 움직임 벡터일 경우, 현재 블록의 움직임 벡터(k)는 b를 기준으로 DS보다 크고 DL보다 작거나 같은 거리 내에 위치하므로, 제3 영역(61b)에 위치할 수 있다. 이때, 후보 움직임 벡터 b가 최적의 움직임 벡터인 경우에서 현재 블록의 움직임 벡터(k)가 b보다 크고, b를 기준으로 DS보다 큰 값을 가진다면, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 b보다 후보 움직임 벡터 c에 더 가까워지므로 후보 움직임 벡터 b가 최적의 움직임 벡터라는 전제조건에 어긋날 수 있다. 따라서 후보 움직임 벡터b가 최적의 움직임 벡터인 경우 현재 블록의 움직임 벡터(k)는 b보다 클 수 없으므로, 차분값(k-b)은 음수라는 것을 알 수 있다.In addition, when the candidate motion vector b is an optimal motion vector, the motion vector k of the current block is located within a distance greater than DS and smaller than or equal to DL on the basis of b, have. If the motion vector k of the current block is greater than b and the motion vector k of the current block is larger than the DS based on b in the case where the candidate motion vector b is the optimal motion vector, The candidate motion vector b is more approximate to the candidate motion vector c than the vector b. Therefore, when the candidate motion vector b is the optimal motion vector, the motion vector k of the current block can not be greater than b, so that the difference value k-b is negative.

또한, 후보 움직임 벡터 c가 최적의 움직임 벡터일 경우, 현재 블록의 움직임 벡터(k)는 c를 기준으로 DS보다 크고 DL보다 작거나 같은 거리 내에 위치하므로 제4 영역(62c)에 위치할 수 있다. 이때, 후보 움직임 벡터 c가 최적의 움직임 벡터인 경우에서 현재 블록의 움직임 벡터(k)가 c보다 작고, c를 기준으로 DS보다 작은 값을 가진다면, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 c보다 후보 움직임 벡터 b에 더 가까워지므로 후보 움직임 벡터 c가 최적의 움직임 벡터라는 전제조건에 어긋날 수 있다. 따라서 후보 움직임 벡터c가 최적의 움직임 벡터인 경우 현재 블록의 움직임 벡터(k)는 c보다 작을 수 없으므로, 차분값(k-c)은 양수라는 것을 알 수 있다. In addition, when the candidate motion vector c is an optimal motion vector, the motion vector k of the current block may be located in the fourth region 62c because the motion vector k is located within a distance greater than DS and less than or equal to DL with respect to c . In this case, if the motion vector k of the current block is smaller than c and smaller than the value of DS based on c in the case where the candidate motion vector c is the optimal motion vector, the motion vector k of the current block is a candidate motion The candidate motion vector c is closer to the candidate motion vector b than the vector c, so that the candidate motion vector c may deviate from the precondition that the motion vector is an optimal motion vector. Therefore, when the candidate motion vector c is an optimal motion vector, the motion vector k of the current block can not be smaller than c, so that the difference value k-c is positive.

도 6에 대한 설명을 종합하면, 최적의 움직임 벡터가 a일 때, 현재 블록의 움직임 벡터(k)는 제1 영역(61a) 및 제2 영역(62a)에 위치하고 제1 영역(61a)에서 최적의 움직임 벡터(a)와 현재 블록의 움직임 벡터(k) 사이의 차분값(k-a)은 음수가 되고, 제2 영역(62a)에서는 양수가 되므로 차분값(k-a)은 양수 및 음수 둘다 가질 수 있다. 따라서, 최적의 움직임 벡터가 a일 때 복호화 장치는 차분값의 부호를 알수 없으므로, 부호화 장치는 차분값(k-a)의 부호와 크기, 최적의 움직임 벡터를 지시하는 정보를 복호화 장치에 전송할 수 있다.6, when the optimal motion vector is a, the motion vector k of the current block is located in the first area 61a and the second area 62a, The difference value ka between the motion vector a of the current block and the motion vector k of the current block becomes negative and becomes positive in the second region 62a so that the difference value ka can have both positive and negative numbers . Therefore, when the optimal motion vector is a, the decoding apparatus can not know the sign of the difference value, so that the encoding apparatus can transmit information indicating the sign, magnitude, and optimal motion vector of the difference value (k-a) to the decoding apparatus.

그러나, 최적의 움직임 벡터가 b이면, 현재 블록의 움직임 벡터(k)는 제3 영역(61b)에 위치하므로 차분값(k-b)의 부호가 음수라는 것을 복호화 장치가 알 수 있다. 또한, 최적의 움직임 벡터가 c이면 현재 블록의 움직임 벡터(k)는 제4 영역(62c)에 위치하므로 차분값(k-c)의 부호가 양수라는 것을 복호화 장치가 알 수 있다. 따라서, 최적의 움직임 벡터가 b 또는 c인 경우 부호화 장치는 차분값의 부호를 복호화 장치에 전달하는 것을 생략할 수 있다.However, if the optimal motion vector is b, since the motion vector k of the current block is located in the third region 61b, the decoding apparatus can know that the sign of the difference value (k-b) is negative. If the optimal motion vector is c, the motion vector k of the current block is located in the fourth region 62c, so that the decoding apparatus can know that the sign of the difference value (k-c) is positive. Therefore, when the optimal motion vector is b or c, the coding apparatus can omit transferring the sign of the difference value to the decoding apparatus.

한편, 다시 상기 수학식 2 및 수학식 3의 관계에서 현재 블록의 움직임 벡터와 최적의 움직임 벡터 사이의 차분값 사이의 관계가 다음의 수학식 5를 만족한다고 하자.Assume that the relationship between the difference between the motion vector of the current block and the optimal motion vector satisfies the following equation (5) in the above Equations (2) and (3).

Figure pat00007
Figure pat00007

상기 수학식 5의 조건에서, 현재 블록의 움직임 벡터(k)가 위치하는 영역을 도시하면 도 7과 같다.7 shows the area where the motion vector k of the current block is located under the condition of Equation (5).

도 7을 참조하면, 후보 움직임 벡터 a가 최적의 움직임 벡터일 경우, 현재 블록의 움직임 벡터(k)는 a를 기준으로 DL보다 먼 거리 내에 위치하므로, 제1 영역(71a)에 위치할 수 있다. 이때, 후보 움직임 벡터 a가 최적의 움직임 벡터인 경우에서 현재 블록의 움직임 벡터(k)가 a보다 크고, a를 기준으로 DL보다 먼 거리에 위치한다면, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 a보다 후보 움직임 벡터 b에 더 가까워지므로 후보 움직임 벡터 a가 최적의 움직임 벡터라는 전제조건에 어긋날 수 있다. 따라서 후보 움직임 벡터a가 최적의 움직임 벡터인 경우 현재 블록의 움직임 벡터(k)는 a보다 클 수 없으므로, 차분값(k-a)은 음수일 수 있다.Referring to FIG. 7, when the candidate motion vector a is an optimal motion vector, the motion vector k of the current block is located within a distance greater than DL with respect to a, and thus may be located in the first region 71a . In this case, if the motion vector k of the current block is greater than a and is located at a distance greater than DL with respect to a when the candidate motion vector a is an optimal motion vector, the motion vector k of the current block is a candidate motion The candidate motion vector a becomes closer to the candidate motion vector b than the vector a, and thus the candidate motion vector a may deviate from the precondition that the motion vector is an optimal motion vector. Therefore, when the candidate motion vector a is an optimal motion vector, the motion vector k of the current block can not be larger than a, so that the difference value k-a may be negative.

또한, 후보 움직임 벡터 b가 최적의 움직임 벡터일 경우, 현재 블록의 움직임 벡터(k)는 b를 기준으로 DL보다 먼 거리에 위치해야 한다. 이때, 후보 움직임 벡터 b가 최적의 움직임 벡터인 경우에서 현재 블록의 움직임 벡터(k)가 b를 기준으로 DL보다 먼 거리에 위치한다면, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 b보다 후보 움직임 벡터 a 또는 c에 더 가까워지므로 후보 움직임 벡터 b가 최적의 움직임 벡터라는 전제조건에 어긋날 수 있다. 따라서, 후보 움직임 벡터가 b이면, 현재 블록의 움직임 벡터(k)가 존재하는 영역이 없게 되므로 후보 움직임 벡터는 b일 수 없다.In addition, when the candidate motion vector b is an optimal motion vector, the motion vector k of the current block should be located at a distance greater than DL with respect to b. In this case, if the candidate motion vector b is an optimal motion vector and the motion vector k of the current block is located at a distance greater than DL with respect to b, the motion vector k of the current block is a candidate Is closer to the motion vector a or c, the candidate motion vector b may deviate from the precondition that the motion vector is an optimal motion vector. Therefore, if the candidate motion vector is b, there is no region in which the motion vector k of the current block exists, so the candidate motion vector can not be b.

또한, 후보 움직임 벡터c가 최적의 움직임 벡터일 경우, 현재 블록의 움직임 벡터(k)는 c를 기준으로 DL보다 큰 거리 내에 위치하므로, 제2 영역(72c)에 위치할 수 있다. 이때, 후보 움직임 벡터 c가 최적의 움직임 벡터인 경우에서 현재 블록의 움직임 벡터(k)가 c보다 작고, c를 기준으로 DL보다 먼 거리에 있다면, 현재 블록의 움직임 벡터(k)는 후보 움직임 벡터 c보다 후보 움직임 벡터 b에 더 가까워지므로 후보 움직임 벡터 c가 최적의 움직임 벡터라는 전제조건에 어긋날 수 있다. 따라서 후보 움직임 벡터c가 최적의 움직임 벡터인 경우 현재 블록의 움직임 벡터(k)는 c보다 작을 수 없으므로, 차분값(k-c)은 항상 양수일 수 있다.In addition, when the candidate motion vector c is an optimal motion vector, the motion vector k of the current block is located in the second region 72c since it is located within a distance larger than DL with respect to c. In this case, if the motion vector k of the current block is smaller than c and is located at a distance greater than DL with respect to c in the case where the candidate motion vector c is an optimal motion vector, the motion vector k of the current block is a candidate motion vector c, the candidate motion vector c may deviate from the precondition that the motion vector is an optimal motion vector. Therefore, when the candidate motion vector c is an optimal motion vector, the motion vector k of the current block can not be smaller than c, so that the difference value k-c can always be positive.

수학식 5를 전제조건으로 하여 도 7에 대한 설명을 종합하면, 최적의 움직임 벡터가 a일 때, 현재 블록의 움직임 벡터(k)는 제1 영역(71a)에 위치하고 제1 영역(71a)에서 최적의 움직임 벡터(a)와 현재 블록의 움직임 벡터(k) 사이의 차분값(k-a)은 음수라는 것을 복호화 장치가 알 수 있다. 따라서, 최적의 움직임 벡터가 a인 경우 부호화 장치는 차분값의 부호를 복호화 장치에 전달하는 것을 생략할 수 있다.Assuming Equation (5) as a precondition, the description of FIG. 7 is as follows. When the optimal motion vector is a, the motion vector k of the current block is located in the first region 71a, The decryption apparatus can know that the difference value ka between the optimal motion vector a and the motion vector k of the current block is negative. Therefore, when the optimal motion vector is a, the encoding apparatus can omit transferring the sign of the difference value to the decoding apparatus.

또한, 최적의 움직임 벡터가 b일 때, 현재 블록의 움직임 벡터(k)는 존재하는 영역이 없다. 따라서, 수학식 5를 만족할 때 최적의 움직임 벡터는 b일 수 없으므로, 부호화 장치는 후보 움직임 벡터에서 b를 제외하고 a 나 c를 후보 움직임 벡터로 정의하고, a 및 c 중에서 최적의 움직임 벡터를 지시하는 정보를 생성하여 복호화 장치로 전송할 수 있고, 복호화 장치는 수학식 5를 만족하는지 판단하여 최적의 움직임 벡터를 지시하는 정보를 통해 a나 c를 최적의 움직임 벡터로 해석할 수 있다. 이러한 경우에는 후보 움직임 벡터가 하나 제외되므로 3개 중 하나를 지시하는 비트값(2bit)보다 작은 비트값(1bit)을 사용할 수 있어 부호화 및 복호화의 효율을 증가시킬 수 있다.Also, when the optimal motion vector is b, the motion vector k of the current block does not exist. Therefore, when the equation (5) is satisfied, the optimal motion vector can not be b. Therefore, the coder decides a or c as a candidate motion vector except for b in the candidate motion vector, And the decoding apparatus can determine whether the equation (5) is satisfied, and analyze a or c as an optimal motion vector through the information indicating the optimal motion vector. In this case, since one candidate motion vector is excluded, a bit value (1 bit) smaller than a bit value (2 bits) indicating one of the three motion vectors can be used, thereby increasing the efficiency of encoding and decoding.

또한, 최적의 움직임 벡터가 c일 때, 현재 블록의 움직임 벡터(k)는 제2 영역(72c)에 위치하고 제2 영역(72c에서 최적의 움직임 벡터(c)와 현재 블록의 움직임 벡터(k) 사이의 차분값(k-c)은 양수라는 것을 복호화 장치가 알 수 있다. 따라서, 최적의 움직임 벡터가 c인 경우 부호화 장치는 차분값의 부호를 복호화 장치에 전달하는 것을 생략할 수 있다.When the optimal motion vector is c, the motion vector k of the current block is located in the second region 72c, and the optimal motion vector c and the motion vector k of the current block in the second region 72c, It is possible for the encoding apparatus to omit transferring the sign of the difference value to the decoding apparatus when the optimal motion vector is c.

도 8은 본 발명의 일 실시예에 따른 화면 간 예측을 이용한 영상 복호화 방법에 대한 흐름도이다.8 is a flowchart illustrating an image decoding method using inter-picture prediction according to an embodiment of the present invention.

도 8을 참조하면 화면 간 예측을 이용한 영상 복호화 방법은, 비트스트림을 수신하는 단계(S100), 수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계(S110), 획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계(S120) 및 상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계(S130)를 포함할 수 있다.Referring to FIG. 8, a method of decoding an image using inter-picture prediction includes receiving a bitstream (S100), obtaining a part of information indicating a motion vector of a current block to be decoded in the received bitstream (S110) (S120) of obtaining a motion vector of the current block by determining information other than the partial information using the obtained information, and generating a predictive block of the current block through inter-picture prediction using the motion vector of the current block (S130). &Lt; / RTI &gt;

여기서 상기 현재 블록의 움직임 벡터를 지시하는 정보는, 두개 이상의 후보 움직임 벡터 중에서 선정된 최적의 움직임 벡터와 상기 현재 블록의 움직임 벡터 사이의 차분값의 크기, 상기 차분값의 부호 및 상기 최적의 움직임 벡터를 지시하는 정보 중 적어도 하나를 포함할 수 있다.Here, the information indicating the motion vector of the current block may include at least one of a magnitude of a difference value between a best motion vector selected from two or more candidate motion vectors and a motion vector of the current block, a sign of the difference value, Or the like.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계(S120)는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 최적의 움직임 벡터를 지시하는 정보에서 획득된 최적의 움직임 벡터를 기초로 상기 차분값의 부호를 결정하는 단계를 포함할 수 있다.Here, the step of obtaining the motion vector of the current block (S120) may include the steps of: determining whether the magnitude of the difference value corresponds to a preset condition; and if the predetermined condition is satisfied, And determining the sign of the difference value based on the obtained optimal motion vector.

여기서 상기 미리 설정된 조건은, 상기 두개 이상의 후보 움직임 벡터들 중에서 인접한 벡터들 사이의 간격을 기초로 설정될 수 있다.Here, the preset condition may be set based on an interval between adjacent vectors among the two or more candidate motion vectors.

여기서 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계는, 상기 인접한 벡터들 사이의 간격이 가장 큰 값과 상기 인접한 벡터들 사이의 간격이 가장 작은 값을 도출하는 단계 및 상기 가장 큰 값과 상기 가장 작은 값을 상기 차분값의 크기와 비교하는 단계를 포함할 수 있다.The step of determining whether the magnitude of the differential value corresponds to a predetermined condition may include calculating a value having a largest interval between adjacent vectors and a minimum interval between the adjacent vectors, And comparing the minimum value with the magnitude of the difference value.

여기서 상기 미리 설정된 조건은, 상기 인접한 벡터들 사이의 간격을 반으로 나눈 간격을 기초로 설정될 수 있다.Here, the predetermined condition may be set based on an interval obtained by dividing the interval between the adjacent vectors by half.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계(S120)는, 상기 차분값의 크기와 상기 차분값의 부호를 이용하여 상기 차분값을 획득하는 단계, 획득된 차분값에 상기 두개 이상의 후보 움직임 벡터들 중 제1 후보 움직임 벡터를 더하여 상기 현재 블록의 추정 움직임 벡터를 결정하는 단계, 상기 추정 움직임 벡터가 상기 두개 이상의 후보 움직임 벡터들 중에서 상기 제1 후보 움직임 벡터와 가장 가까운 좌표값을 갖는지 판단하는 단계 및 판단 결과를 기초로, 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.Here, the step of acquiring the motion vector of the current block (S120) may include acquiring the difference value using the magnitude of the difference value and the sign of the difference value, calculating the difference value using the two or more candidate motion vectors Determining an estimated motion vector of the current block by adding a first candidate motion vector of the first candidate motion vector to the first candidate motion vector to determine whether the estimated motion vector has a coordinate value closest to the first candidate motion vector among the two or more candidate motion vectors; And determining the optimal motion vector based on the determination result.

여기서 상기 추정 움직임 벡터를 결정하는 단계 및 상기 판단하는 단계는, 상기 제1 후보 움직임 벡터를 제외한 나머지 후보 움직임 벡터들을 상기 제1 후보 움직임 벡터로 대입하여 반복 수행될 수 있다.Here, the step of determining the estimated motion vector and the step of determining may be repeatedly performed by substituting the remaining candidate motion vectors, excluding the first candidate motion vector, into the first candidate motion vector.

여기서 상기 최적의 움직임 벡터를 결정하는 단계는, 상기 반복 수행의 결과 가장 가까운 좌표값을 갖는 후보 움직임 벡터가 유일하면, 해당 후보 움직임 벡터를 상기 최적의 움직임 벡터로 결정할 수 있다.The determining of the optimal motion vector may determine the candidate motion vector as the optimal motion vector if the candidate motion vector having the closest coordinate value as a result of the iteration is unique.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계(S120)는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 두개 이상의 후보 움직임 벡터들 중 적어도 하나의 움직임 벡터를 후보 움직임 벡터에서 제외하고 나머지 후보 움직임 벡터들 중에서 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.Here, the step of acquiring the motion vector of the current block (S120) may include: determining whether a magnitude of the differential value corresponds to a preset condition; and if the predetermined condition is satisfied, acquiring a motion vector of at least one of the two or more candidate motion vectors The motion vector of the candidate motion vector may be excluded from the candidate motion vector and the optimal motion vector may be determined from among the remaining candidate motion vectors.

도 9는 본 발명의 일 실시예에 따른 화면 간 예측을 이용한 영상 복호화 장치에 대한 구성도이다.9 is a block diagram of an image decoding apparatus using inter-picture prediction according to an embodiment of the present invention.

도 9를 참조하면 화면 간 예측을 이용한 영상 복호화 장치(200)는, 적어도 하나의 프로세서(processor, 210) 및 상기 적어도 하나의 프로세서(210)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 220)를 포함할 수 있다.9, an apparatus 200 for decoding an image using inter-picture prediction includes at least one processor 210 and instructions for instructing the at least one processor 210 to perform at least one step (Memory) 220 for storing the data.

여기서 영상 복호화 장치(200)는 영상 부호화 장치로부터 비트스트림을 유무선 네트워크를 통해 수신하는 통신 모듈(230)을 더 포함할 수 있다.Here, the image decoding apparatus 200 may further include a communication module 230 for receiving a bit stream from the image encoding apparatus through a wired / wireless network.

여기서 영상 복호화 장치(200)는 영상 복호화 과정에 필요한 참조 픽쳐, 복호화된 블록 등을 저장하는 로컬 저장소(240)를 더 포함할 수 있다.Here, the video decoding apparatus 200 may further include a local storage 240 for storing reference pictures, decoded blocks, and the like necessary for the video decoding process.

여기서 상기 적어도 하나의 단계는, 비트스트림을 수신하는 단계, 수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계, 획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계 및 상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계를 포함할 수 있다.Wherein the at least one step comprises the steps of: receiving a bitstream; obtaining a part of information indicating a motion vector of a current block to be decoded in the received bitstream; Obtaining a motion vector of the current block by determining a motion vector of the current block, and generating a prediction block of the current block through inter-picture prediction using the motion vector of the current block.

여기서 상기 현재 블록의 움직임 벡터를 지시하는 정보는, 두개 이상의 후보 움직임 벡터 중에서 선정된 최적의 움직임 벡터와 상기 현재 블록의 움직임 벡터 사이의 차분값의 크기, 상기 차분값의 부호 및 상기 최적의 움직임 벡터를 지시하는 정보 중 적어도 하나를 포함할 수 있다.Here, the information indicating the motion vector of the current block may include at least one of a magnitude of a difference value between a best motion vector selected from two or more candidate motion vectors and a motion vector of the current block, a sign of the difference value, Or the like.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 최적의 움직임 벡터를 지시하는 정보에서 획득된 최적의 움직임 벡터를 기초로 상기 차분값의 부호를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring a motion vector of the current block includes the steps of: determining whether a magnitude of the difference value corresponds to a preset condition; and if the predetermined condition is satisfied, And determining the sign of the difference value based on the motion vector of the motion vector.

여기서 상기 미리 설정된 조건은, 상기 두개 이상의 후보 움직임 벡터들 중에서 인접한 벡터들 사이의 간격을 기초로 설정될 수 있다.Here, the preset condition may be set based on an interval between adjacent vectors among the two or more candidate motion vectors.

여기서 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계는, 상기 인접한 벡터들 사이의 간격이 가장 큰 값과 상기 인접한 벡터들 사이의 간격이 가장 작은 값을 도출하는 단계 및 상기 가장 큰 값과 상기 가장 작은 값을 상기 차분값의 크기와 비교하는 단계를 포함할 수 있다.The step of determining whether the magnitude of the differential value corresponds to a predetermined condition may include calculating a value having a largest interval between adjacent vectors and a minimum interval between the adjacent vectors, And comparing the minimum value with the magnitude of the difference value.

여기서 상기 미리 설정된 조건은, 상기 인접한 벡터들 사이의 간격을 반으로 나눈 간격을 기초로 설정될 수 있다.Here, the predetermined condition may be set based on an interval obtained by dividing the interval between the adjacent vectors by half.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기와 상기 차분값의 부호를 이용하여 상기 차분값을 획득하는 단계, 획득된 차분값에 상기 두개 이상의 후보 움직임 벡터들 중 제1 후보 움직임 벡터를 더하여 상기 현재 블록의 추정 움직임 벡터를 결정하는 단계, 상기 추정 움직임 벡터가 상기 두개 이상의 후보 움직임 벡터들 중에서 상기 제1 후보 움직임 벡터와 가장 가까운 좌표값을 갖는지 판단하는 단계 및 판단 결과를 기초로, 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.The obtaining of the motion vector of the current block may include obtaining the difference value using the magnitude of the difference value and the sign of the difference value, calculating a difference value between the first and second motion vectors of the two or more candidate motion vectors, Determining an estimated motion vector of the current block by adding a candidate motion vector, determining whether the estimated motion vector has a coordinate value closest to the first candidate motion vector among the two or more candidate motion vectors, And determining, based on the motion vector, the optimal motion vector.

여기서 상기 추정 움직임 벡터를 결정하는 단계 및 상기 판단하는 단계는, 상기 제1 후보 움직임 벡터를 제외한 나머지 후보 움직임 벡터들을 상기 제1 후보 움직임 벡터로 대입하여 반복 수행될 수 있다.Here, the step of determining the estimated motion vector and the step of determining may be repeatedly performed by substituting the remaining candidate motion vectors, excluding the first candidate motion vector, into the first candidate motion vector.

여기서 상기 최적의 움직임 벡터를 결정하는 단계는, 상기 반복 수행의 결과 가장 가까운 좌표값을 갖는 후보 움직임 벡터가 유일하면, 해당 후보 움직임 벡터를 상기 최적의 움직임 벡터로 결정할 수 있다.The determining of the optimal motion vector may determine the candidate motion vector as the optimal motion vector if the candidate motion vector having the closest coordinate value as a result of the iteration is unique.

여기서 상기 현재 블록의 움직임 벡터를 획득하는 단계는, 상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계 및 상기 미리 설정된 조건에 해당하면, 상기 두개 이상의 후보 움직임 벡터들 중 적어도 하나의 움직임 벡터를 후보 움직임 벡터에서 제외하고 나머지 후보 움직임 벡터들 중에서 상기 최적의 움직임 벡터를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring a motion vector of the current block includes the steps of: determining whether a magnitude of the differential value corresponds to a predetermined condition; and determining whether a motion vector of at least one of the two or more candidate motion vectors From the candidate motion vectors and determining the optimal motion vector among the remaining candidate motion vectors.

여기서 영상 복호화 장치(200)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.Here, the image decoding apparatus 200 may be, for example, a desktop computer, a laptop computer, a notebook, a smart phone, a tablet PC, a mobile phone mobile phone, smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game machine, navigation device, digital camera, digital multimedia a digital audio recorder, a digital audio player, a digital video recorder, a digital video player, a PDA (Personal Digital Assistant), and the like.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. Also, the above-described method or apparatus may be implemented by combining all or a part of the configuration or function, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

Claims (20)

화면 간 예측을 이용한 영상 복호화 방법으로,
비트스트림을 수신하는 단계;
수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계;
획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계; 및
상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하는, 영상 복호화 방법.
As an image decoding method using inter picture prediction,
Receiving a bitstream;
Obtaining a part of information indicating a motion vector of a current block to be decoded in the received bitstream;
Acquiring a motion vector of the current block by determining information other than the part using the acquired information; And
And generating a prediction block of the current block through inter-picture prediction using the motion vector of the current block.
청구항 1에서,
상기 현재 블록의 움직임 벡터를 지시하는 정보는,
두개 이상의 후보 움직임 벡터 중에서 선정된 최적의 움직임 벡터와 상기 현재 블록의 움직임 벡터 사이의 차분값의 크기, 상기 차분값의 부호 및 상기 최적의 움직임 벡터를 지시하는 정보 중 적어도 하나를 포함하는, 영상 복호화 방법.
In claim 1,
Wherein the information indicating the motion vector of the current block includes:
A motion vector of the current block, a difference value between a motion vector of the current block and a motion vector of the current block, information indicating a sign of the difference value, and information indicating the optimal motion vector, among the two or more candidate motion vectors, Way.
청구항 2에서,
상기 현재 블록의 움직임 벡터를 획득하는 단계는,
상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계; 및
상기 미리 설정된 조건에 해당하면, 상기 최적의 움직임 벡터를 지시하는 정보에서 획득된 최적의 움직임 벡터를 기초로 상기 차분값의 부호를 결정하는 단계를 포함하는, 영상 복호화 방법.
In claim 2,
Wherein the step of obtaining the motion vector of the current block comprises:
Determining whether a magnitude of the differential value corresponds to a preset condition; And
And determining a sign of the difference value based on an optimal motion vector obtained from information indicating the optimal motion vector, when the predetermined condition is satisfied.
청구항 3에서,
상기 미리 설정된 조건은,
상기 두개 이상의 후보 움직임 벡터들 중에서 인접한 벡터들 사이의 간격을 기초로 설정되는, 영상 복호화 방법.
In claim 3,
The predetermined condition is that,
Wherein the motion vector is set based on an interval between adjacent vectors among the two or more candidate motion vectors.
청구항 4에서,
상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계는,
상기 인접한 벡터들 사이의 간격이 가장 큰 값과 상기 인접한 벡터들 사이의 간격이 가장 작은 값을 도출하는 단계; 및
상기 가장 큰 값과 상기 가장 작은 값을 상기 차분값의 크기와 비교하는 단계를 포함하는, 영상 복호화 방법.
In claim 4,
Wherein the step of determining whether the magnitude of the difference value corresponds to a predetermined condition includes:
Deriving a value having the largest interval between the adjacent vectors and a value having the smallest interval between the adjacent vectors; And
And comparing the largest value and the smallest value with a magnitude of the difference value.
청구항 4에서,
상기 미리 설정된 조건은,
상기 인접한 벡터들 사이의 간격을 반으로 나눈 간격을 기초로 설정되는, 영상 복호화 방법.
In claim 4,
The predetermined condition is that,
And the interval between the adjacent vectors is divided by half.
청구항 2에서,
상기 현재 블록의 움직임 벡터를 획득하는 단계는,
상기 차분값의 크기와 상기 차분값의 부호를 이용하여 상기 차분값을 획득하는 단계;
획득된 차분값에 상기 두개 이상의 후보 움직임 벡터들 중 제1 후보 움직임 벡터를 더하여 상기 현재 블록의 추정 움직임 벡터를 결정하는 단계;
상기 추정 움직임 벡터가 상기 두개 이상의 후보 움직임 벡터들 중에서 상기 제1 후보 움직임 벡터와 가장 가까운 좌표값을 갖는지 판단하는 단계; 및
판단 결과를 기초로, 상기 최적의 움직임 벡터를 결정하는 단계를 포함하는, 영상 복호화 방법.
In claim 2,
Wherein the step of obtaining the motion vector of the current block comprises:
Obtaining the difference value using the magnitude of the difference value and the sign of the difference value;
Determining an estimated motion vector of the current block by adding a first candidate motion vector of the two or more candidate motion vectors to the obtained difference value;
Determining whether the estimated motion vector has a coordinate value closest to the first candidate motion vector among the two or more candidate motion vectors; And
And determining the optimal motion vector based on the determination result.
청구항 7에서,
상기 추정 움직임 벡터를 결정하는 단계 및 상기 판단하는 단계는,
상기 제1 후보 움직임 벡터를 제외한 나머지 후보 움직임 벡터들을 상기 제1 후보 움직임 벡터로 대입하여 반복 수행되는, 영상 복호화 방법.
In claim 7,
Wherein the step of determining the estimated motion vector comprises:
And substituting the remaining candidate motion vectors excluding the first candidate motion vector for the first candidate motion vector.
청구항 8에서,
상기 최적의 움직임 벡터를 결정하는 단계는,
상기 반복 수행의 결과 가장 가까운 좌표값을 갖는 후보 움직임 벡터가 유일하면, 해당 후보 움직임 벡터를 상기 최적의 움직임 벡터로 결정하는, 영상 복호화 방법.
In claim 8,
Wherein determining the optimal motion vector comprises:
Wherein if the candidate motion vector having the closest coordinate value as a result of the iterative process is unique, the candidate motion vector is determined as the optimal motion vector.
청구항 2에서,
상기 현재 블록의 움직임 벡터를 획득하는 단계는,
상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계; 및
상기 미리 설정된 조건에 해당하면, 상기 두개 이상의 후보 움직임 벡터들 중 적어도 하나의 움직임 벡터를 후보 움직임 벡터에서 제외하고 나머지 후보 움직임 벡터들 중에서 상기 최적의 움직임 벡터를 결정하는 단계를 포함하는, 영상 복호화 방법.
In claim 2,
Wherein the step of obtaining the motion vector of the current block comprises:
Determining whether a magnitude of the differential value corresponds to a preset condition; And
And determining the optimal motion vector among the remaining candidate motion vectors by excluding at least one motion vector of the two or more candidate motion vectors from the candidate motion vectors if the predetermined condition is met. .
화면 간 예측을 이용한 영상 복호화 장치로,
적어도 하나의 프로세서(processor); 및
상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
상기 적어도 하나의 단계는,
비트스트림을 수신하는 단계;
수신된 비트스트림에서 복호화할 현재 블록의 움직임 벡터를 지시하는 정보 중 일부를 획득하는 단계;
획득된 정보를 이용하여 상기 일부를 제외한 나머지 정보를 결정함으로써 상기 현재 블록의 움직임 벡터를 획득하는 단계; 및
상기 현재 블록의 움직임 벡터를 이용한 화면 간 예측을 통해 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하는, 영상 복호화 장치.
An image decoding apparatus using inter picture prediction,
At least one processor; And
A memory for storing instructions that direct the at least one processor to perform at least one step,
Wherein the at least one step comprises:
Receiving a bitstream;
Obtaining a part of information indicating a motion vector of a current block to be decoded in the received bitstream;
Acquiring a motion vector of the current block by determining information other than the part using the acquired information; And
And generating a prediction block of the current block through inter-picture prediction using the motion vector of the current block.
청구항 11에서,
상기 현재 블록의 움직임 벡터를 지시하는 정보는,
두개 이상의 후보 움직임 벡터 중에서 선정된 최적의 움직임 벡터와 상기 현재 블록의 움직임 벡터 사이의 차분값의 크기, 상기 차분값의 부호 및 상기 최적의 움직임 벡터를 지시하는 정보 중 적어도 하나를 포함하는, 영상 복호화 장치.
In claim 11,
Wherein the information indicating the motion vector of the current block includes:
A motion vector of the current block, a difference value between a motion vector of the current block and a motion vector of the current block, information indicating a sign of the difference value, and information indicating the optimal motion vector, among the two or more candidate motion vectors, Device.
청구항 12에서,
상기 현재 블록의 움직임 벡터를 획득하는 단계는,
상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계; 및
상기 미리 설정된 조건에 해당하면, 상기 최적의 움직임 벡터를 지시하는 정보에서 획득된 최적의 움직임 벡터를 기초로 상기 차분값의 부호를 결정하는 단계를 포함하는, 영상 복호화 장치.
In claim 12,
Wherein the step of obtaining the motion vector of the current block comprises:
Determining whether a magnitude of the differential value corresponds to a preset condition; And
And determining a sign of the difference value based on an optimal motion vector obtained from information indicating the optimal motion vector, when the predetermined condition is satisfied.
청구항 13에서,
상기 미리 설정된 조건은,
상기 두개 이상의 후보 움직임 벡터들 중에서 인접한 벡터들 사이의 간격을 기초로 설정되는, 영상 복호화 장치.
In claim 13,
The predetermined condition is that,
Wherein the motion vector is set based on an interval between adjacent vectors among the two or more candidate motion vectors.
청구항 14에서,
상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계는,
상기 인접한 벡터들 사이의 간격이 가장 큰 값과 상기 인접한 벡터들 사이의 간격이 가장 작은 값을 도출하는 단계; 및
상기 가장 큰 값과 상기 가장 작은 값을 상기 차분값의 크기와 비교하는 단계를 포함하는, 영상 복호화 장치.
In claim 14,
Wherein the step of determining whether the magnitude of the difference value corresponds to a predetermined condition includes:
Deriving a value having the largest interval between the adjacent vectors and a value having the smallest interval between the adjacent vectors; And
And comparing the largest value and the smallest value with a magnitude of the difference value.
청구항 14에서,
상기 미리 설정된 조건은,
상기 인접한 벡터들 사이의 간격을 반으로 나눈 간격을 기초로 설정되는, 영상 복호화 장치.
In claim 14,
The predetermined condition is that,
And an interval obtained by dividing the interval between the adjacent vectors by half.
청구항 12에서,
상기 현재 블록의 움직임 벡터를 획득하는 단계는,
상기 차분값의 크기와 상기 차분값의 부호를 이용하여 상기 차분값을 획득하는 단계;
획득된 차분값에 상기 두개 이상의 후보 움직임 벡터들 중 제1 후보 움직임 벡터를 더하여 상기 현재 블록의 추정 움직임 벡터를 결정하는 단계;
상기 추정 움직임 벡터가 상기 두개 이상의 후보 움직임 벡터들 중에서 상기 제1 후보 움직임 벡터와 가장 가까운 좌표값을 갖는지 판단하는 단계; 및
판단 결과를 기초로, 상기 최적의 움직임 벡터를 결정하는 단계를 포함하는, 영상 복호화 장치.
In claim 12,
Wherein the step of obtaining the motion vector of the current block comprises:
Obtaining the difference value using the magnitude of the difference value and the sign of the difference value;
Determining an estimated motion vector of the current block by adding a first candidate motion vector of the two or more candidate motion vectors to the obtained difference value;
Determining whether the estimated motion vector has a coordinate value closest to the first candidate motion vector among the two or more candidate motion vectors; And
And determining the optimal motion vector based on the determination result.
청구항 17에서,
상기 추정 움직임 벡터를 결정하는 단계 및 상기 판단하는 단계는,
상기 제1 후보 움직임 벡터를 제외한 나머지 후보 움직임 벡터들을 상기 제1 후보 움직임 벡터로 대입하여 반복 수행되는, 영상 복호화 장치.
In claim 17,
Wherein the step of determining the estimated motion vector comprises:
And the candidate motion vectors excluding the first candidate motion vector are substituted into the first candidate motion vector.
청구항 18에서,
상기 최적의 움직임 벡터를 결정하는 단계는,
상기 반복 수행의 결과 가장 가까운 좌표값을 갖는 후보 움직임 벡터가 유일하면, 해당 후보 움직임 벡터를 상기 최적의 움직임 벡터로 결정하는, 영상 복호화 장치.
In claim 18,
Wherein determining the optimal motion vector comprises:
And determines the candidate motion vector as the optimal motion vector if the candidate motion vector having the closest coordinate value as the result of the iteration is unique.
청구항 12에서,
상기 현재 블록의 움직임 벡터를 획득하는 단계는,
상기 차분값의 크기가 미리 설정된 조건에 해당하는지 판단하는 단계; 및
상기 미리 설정된 조건에 해당하면, 상기 두개 이상의 후보 움직임 벡터들 중 적어도 하나의 움직임 벡터를 후보 움직임 벡터에서 제외하고 나머지 후보 움직임 벡터들 중에서 상기 최적의 움직임 벡터를 결정하는 단계를 포함하는, 영상 복호화 장치.
In claim 12,
Wherein the step of obtaining the motion vector of the current block comprises:
Determining whether a magnitude of the differential value corresponds to a preset condition; And
And determining the optimal motion vector among the remaining candidate motion vectors by excluding at least one motion vector of the two or more candidate motion vectors from the candidate motion vector if the predetermined condition is met. .
KR1020180000034A 2017-01-02 2018-01-02 Image decoding method and apparatus using inter picture prediction Active KR102586198B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/KR2018/000062 WO2018124855A1 (en) 2017-01-02 2018-01-02 Method and apparatus for decoding image using inter-picture prediction
US16/475,217 US11240526B2 (en) 2017-01-02 2018-01-02 Method and apparatus for decoding image using interpicture prediction
US17/557,133 US11818386B2 (en) 2017-01-02 2021-12-21 Method and apparatus for decoding image using interpicture prediction
KR1020230131205A KR102736716B1 (en) 2017-01-02 2023-09-27 Image decoding method and apparatus using inter picture prediction
US18/483,860 US12267522B2 (en) 2017-01-02 2023-10-10 Method and apparatus for decoding image using interpicture prediction
US19/061,130 US20250193436A1 (en) 2017-01-02 2025-02-24 Method and apparatus for decoding image using interpicture prediction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170000404 2017-01-02
KR1020170000404 2017-01-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230131205A Division KR102736716B1 (en) 2017-01-02 2023-09-27 Image decoding method and apparatus using inter picture prediction

Publications (2)

Publication Number Publication Date
KR20180080131A true KR20180080131A (en) 2018-07-11
KR102586198B1 KR102586198B1 (en) 2023-10-06

Family

ID=62917341

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180000034A Active KR102586198B1 (en) 2017-01-02 2018-01-02 Image decoding method and apparatus using inter picture prediction
KR1020240171802A Pending KR20250001975A (en) 2017-01-02 2024-11-27 Image decoding method and apparatus using inter picture prediction

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240171802A Pending KR20250001975A (en) 2017-01-02 2024-11-27 Image decoding method and apparatus using inter picture prediction

Country Status (1)

Country Link
KR (2) KR102586198B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140016823A (en) * 2012-07-24 2014-02-10 한국전자통신연구원 Video decoding method and apparatus using the same
KR20140022009A (en) * 2011-03-21 2014-02-21 엘지전자 주식회사 Method for selecting motion vector predictor and device using same
KR20160143584A (en) * 2015-06-05 2016-12-14 인텔렉추얼디스커버리 주식회사 Image encoding/decoding method and image decoding apparatus using motion vector precision

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140022009A (en) * 2011-03-21 2014-02-21 엘지전자 주식회사 Method for selecting motion vector predictor and device using same
KR20140016823A (en) * 2012-07-24 2014-02-10 한국전자통신연구원 Video decoding method and apparatus using the same
KR20160143584A (en) * 2015-06-05 2016-12-14 인텔렉추얼디스커버리 주식회사 Image encoding/decoding method and image decoding apparatus using motion vector precision

Also Published As

Publication number Publication date
KR102586198B1 (en) 2023-10-06
KR20250001975A (en) 2025-01-07

Similar Documents

Publication Publication Date Title
US11825099B2 (en) Image encoding/decoding method and apparatus using intra-screen prediction
US11368675B2 (en) Method and device for encoding and decoding intra-frame prediction
KR102635983B1 (en) Methods of decoding using skip mode and apparatuses for using the same
US10674165B2 (en) Constrained position dependent intra prediction combination (PDPC)
KR101269116B1 (en) Decoding method of inter coded moving picture
AU2019350336B2 (en) Image encoding/decoding method and device
KR20130067280A (en) Decoding method of inter coded moving picture
KR102594692B1 (en) Image decoding method and device for chroma components
KR102492073B1 (en) Method and apparatus for video coding/decoding using intra prediction
US20210289202A1 (en) Intra prediction method and apparatus for performing adaptive filtering on reference pixel
US20250193436A1 (en) Method and apparatus for decoding image using interpicture prediction
KR20180080114A (en) Intra prediction method considering redundancy of prediction blocks and video decoding apparatus performing intra prediction
KR102640264B1 (en) Image decoding method and device for chroma quantization parameter data
CN114830646A (en) Image encoding method and image decoding method
KR101796876B1 (en) A method for video encoding using motion estimation and an apparatus thereof
US12184846B2 (en) Intra prediction method and apparatus for performing adaptive filtering on reference pixel
KR102586198B1 (en) Image decoding method and apparatus using inter picture prediction
KR20210152576A (en) Video coding method and apparatus based on deblocking filtering
KR20240153950A (en) Intraprediction method and apparatus for performing adaptive filtering on reference pixels
WO2025151768A1 (en) Method, apparatus, and medium for video processing
WO2025072627A1 (en) Signalling improvement for in-loop filtering in video coding
CN116684577A (en) Fast Affine Mode Decision Based on Motion Vector Difference
CN119563324A (en) Adaptive loop filter with virtual boundaries and multi-sample sources
KR20170126817A (en) Fast video encoding method and apparatus for the same

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PA0107 Divisional application

St.27 status event code: A-0-1-A10-A18-div-PA0107

St.27 status event code: A-0-1-A10-A16-div-PA0107

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601