KR101443865B1 - Method and apparatus for inter prediction - Google Patents

Method and apparatus for inter prediction Download PDF

Info

Publication number
KR101443865B1
KR101443865B1 KR1020120123020A KR20120123020A KR101443865B1 KR 101443865 B1 KR101443865 B1 KR 101443865B1 KR 1020120123020 A KR1020120123020 A KR 1020120123020A KR 20120123020 A KR20120123020 A KR 20120123020A KR 101443865 B1 KR101443865 B1 KR 101443865B1
Authority
KR
South Korea
Prior art keywords
resolution
block
image
motion vector
unit
Prior art date
Application number
KR1020120123020A
Other languages
Korean (ko)
Other versions
KR20130049736A (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 연세대학교 산학협력단
Publication of KR20130049736A publication Critical patent/KR20130049736A/en
Application granted granted Critical
Publication of KR101443865B1 publication Critical patent/KR101443865B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation

Landscapes

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

Abstract

본 발명은 인터 예측 방법 및 장치에 관한 것이다. 본 발명에 따르면, 영상 프레임을 구성하는 각각의 블록에 따라 움직임 벡터의 해상도를 적응적으로 결정함으로써, 블록에 대한 움직임 예측의 정확도를 높이고 영상의 압축률을 증가시킬 수 있다. The present invention relates to an inter prediction method and apparatus. According to the present invention, the resolution of a motion vector is adaptively determined according to each block constituting an image frame, thereby increasing the accuracy of motion prediction for the block and increasing the compression rate of the image.

Description

인터 예측 방법 및 장치{METHOD AND APPARATUS FOR INTER PREDICTION}[0001] METHOD AND APPARATUS FOR INTER PREDICTION [0002]

본 발명은 인터 예측 방법 및 장치에 관한 것이다. The present invention relates to an inter prediction method and apparatus.

최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고화질 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고화질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체에 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고화질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 요구된다.Recently, there is an increasing demand for high definition and high definition video such as HD (High Definition) video and UHD (Ultra High Definition) video in various applications. As the image data becomes high resolution and high image quality, the data amount increases relative to the existing image data. Therefore, when the image data is transmitted using a medium such as a wired / wireless broadband line or stored in an existing storage medium, The cost increases. High-efficiency image compression techniques are required to solve such problems as image data has high resolution and high image quality.

영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터 예측(inter prediction) 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라 예측(intra prediction) 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화(entropy coding) 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.An inter prediction technique for predicting a pixel value included in a current picture from a previous or a subsequent picture of a current picture using an image compression technique, an intra prediction technique for predicting a pixel value included in a current picture using pixel information in the current picture, there are a variety of techniques such as intra prediction technology, entropy coding technique in which short codes are assigned to values having a high appearance frequency, and long codes are assigned to values having a low appearance frequency. It can be compressed and transmitted or stored effectively.

본 발명은 부호화할 현재 블록의 사이즈에 따라 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 인터 예측 방법 및 장치를 제공하는 것을 목적으로 한다. An object of the present invention is to provide an inter prediction method and apparatus for determining a resolution of a motion vector to be used for prediction of the current block according to a size of a current block to be encoded.

본 발명의 일 실시예에 따른 인터 예측 방법은, 부호화할 현재 블록의 사이즈에 대한 정보를 획득하는 단계; 상기 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계; 그리고 상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided an inter prediction method including: obtaining information on a size of a current block to be encoded; Determining a resolution of a motion vector to be used for prediction of the current block according to the size; And generating information on a motion vector and a difference of the current block based on the resolution.

본 발명의 일 실시예에 따른 인터 예측 장치는, 상기 현재 블록의 사이즈에 대한 정보를 획득하는 정보 획득부; 상기 사이즈에 따라, 상기 움직임 벡터의 해상도를 결정하는 해상도 결정부; 그리고 상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 예측 수행부를 포함할 수 있다. An inter prediction apparatus according to an embodiment of the present invention includes an information obtaining unit for obtaining information on a size of the current block; A resolution determination unit for determining a resolution of the motion vector according to the size; And a prediction unit for generating motion vector and difference information of the current block based on the resolution.

본 발명의 일 실시예에 따른 인터 예측 방법은, 컴퓨터로 실행될 수 있는 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다. The inter prediction method according to an embodiment of the present invention may be implemented as a computer-executable program and stored in a computer-readable recording medium.

본 발명에 따르면, 영상 프레임을 구성하는 각각의 블록에 따라 움직임 벡터의 해상도를 적응적으로 결정함으로써, 블록에 대한 움직임 예측의 정확도를 높이고 영상의 압축률을 증가시킬 수 있다. According to the present invention, the resolution of a motion vector is adaptively determined according to each block constituting an image frame, thereby increasing the accuracy of motion prediction for the block and increasing the compression rate of the image.

도 1은 본 발명의 일 실시예에 따른 인터 예측 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따라 인터 예측되는 현재 프레임을 예시적으로 도시한다.
도 3은 본 발명의 일 실시예에 따라 현재 프레임을 인터 예측하기 위해 사용되는 참조 프레임을 예시적으로 도시한다.
도 4는 도 3에 도시된 탐색 영역을 확대하여 상세하게 도시하는 도면이다.
도 5는 본 발명의 일 실시예에 따라 인터 예측되는 현재 프레임 및 상기 현재 프레임을 구성하는 블록을 예시적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 인터 예측 방법을 설명하는 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 인터 예측 방법을 설명하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 영상 부호화 장치를 나타내는 블록도이다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타내는 블록도이다.
1 is a block diagram showing an inter prediction apparatus according to an embodiment of the present invention.
FIG. 2 illustrates an exemplary current frame that is inter-predicted according to an embodiment of the present invention.
FIG. 3 illustrates an exemplary reference frame used to inter predict a current frame according to an embodiment of the present invention.
FIG. 4 is an enlarged view of the search area shown in FIG. 3 in detail.
FIG. 5 exemplarily shows a current frame inter-predicted according to an embodiment of the present invention and blocks constituting the current frame.
6 is a flowchart illustrating an inter prediction method according to an embodiment of the present invention.
7 is a flowchart illustrating an inter prediction method according to another embodiment of the present invention.
8 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
9 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Unless defined otherwise, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by the generic art in the prior art to which this invention belongs. Terms defined by generic dictionaries may be interpreted to have the same meaning as in the related art and / or in the text of this application, and may be conceptualized or overly formalized, even if not expressly defined herein I will not.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the terms' comprise 'and / or various forms of use of the verb include, for example,' including, '' including, '' including, '' including, Steps, operations, and / or elements do not preclude the presence or addition of one or more other compositions, components, components, steps, operations, and / or components. The term 'and / or' as used herein refers to each of the listed configurations or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.It should be noted that the terms such as '~', '~ period', '~ block', 'module', etc. used in the entire specification may mean a unit for processing at least one function or operation. For example, a hardware component, such as a software, FPGA, or ASIC. However, '~ part', '~ period', '~ block', '~ module' are not meant to be limited to software or hardware. Modules may be configured to be addressable storage media and may be configured to play one or more processors. ≪ RTI ID = 0.0 >

따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다. Thus, by way of example, the terms 'to', 'to', 'to block', 'to module' refer to components such as software components, object oriented software components, class components and task components Microcode, circuitry, data, databases, data structures, tables, arrays, and the like, as well as components, Variables. The functions provided in the components and in the sections ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' , '~', '~', '~', '~', And '~' modules with additional components.

도 1은 본 발명의 일 실시예에 따른 인터 예측 장치(100)를 나타내는 블록도이다. 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 부호화 또는 복호화할 현재 블록의 사이즈에 따라 상기 현재 블록의 인터 예측에 사용될 움직임 벡터의 해상도를 결정하고, 상기 해상도를 기반으로 현재 블록에 대해 인터 예측을 수행할 수 있다. 1 is a block diagram showing an inter prediction apparatus 100 according to an embodiment of the present invention. The inter-prediction apparatus 100 according to an exemplary embodiment of the present invention determines a resolution of a motion vector to be used for inter-prediction of the current block according to a size of a current block to be encoded or decoded, Inter prediction can be performed.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 정보 획득부(101), 해상도 결정부(102) 및 예측 수행부(103)를 포함할 수 있다. 상기 정보 획득부(101)는 예측이 수행될 현재 블록의 사이즈에 대한 정보를 획득할 수 있다. 상기 해상도 결정부(102)는 상기 현재 블록의 사이즈에 따라 현재 블록의 움직임 예측에 사용될 움직임 벡터의 해상도를 결정할 수 있다. 상기 예측 수행부(103)는 상기 결정된 해상도를 기반으로 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하여 인터 예측을 수행할 수 있다. 1, an inter prediction apparatus 100 according to an exemplary embodiment of the present invention may include an information acquisition unit 101, a resolution determination unit 102, and a prediction performance unit 103. Referring to FIG. The information obtaining unit 101 may obtain information on the size of a current block to be predicted. The resolution determiner 102 may determine a resolution of a motion vector to be used for motion prediction of a current block according to the size of the current block. The prediction performing unit 103 may generate motion vector and difference information of the current block based on the determined resolution to perform inter prediction.

도 2는 본 발명의 일 실시예에 따라 인터 예측될 현재 프레임을 예시적으로 도시하는 도면이다. 상기 현재 프레임(20)은 해당 프레임 내의 픽셀의 정보를 이용하여 동일 프레임 내 다른 픽셀의 정보를 예측하는 인트라 예측, 또는 현재 프레임(20)에 선행하여 부호화 또는 복호화된 참조 프레임의 픽셀의 정보를 이용하여 프레임의 픽셀의 정보를 예측하는 인터 예측을 통해 부호화 또는 복호화될 수 있다. 상기 현재 프레임(20)은 블록(22)으로 분할되어 예측이 수행되며, 상기 블록은 다양한 사이즈를 가질 수 있다. 상기 블록(22)이 인터 예측을 통해 부호화 또는 복호화되는 경우 후술하는 과정을 통해 예측이 수행될 수 있다:2 is an exemplary diagram illustrating a current frame to be inter-predicted according to an embodiment of the present invention. The current frame 20 includes intra prediction for predicting information of other pixels in the same frame using information of pixels in the frame or information of pixels of a reference frame that is encoded or decoded prior to the current frame 20 And may be encoded or decoded by inter prediction which predicts information of a pixel of a frame. The current frame 20 is divided into blocks 22 and prediction is performed, and the blocks may have various sizes. If the block 22 is encoded or decoded by inter prediction, prediction may be performed through the following process:

현재 프레임(20)에 대하여 시간적으로 전 또는 후에 위치한 참조 프레임 중 현재 프레임(20)의 블록(22)과 매칭되는 영역을 탐색한다. 도 3은 본 발명의 일 실시예에 따라 현재 프레임(20)을 인터 예측하기 위해 사용되는 참조 프레임(20')을 예시적으로 도시한다. 도 3을 참조하면, 참조 프레임(20') 내 원 오브젝트(21')의 좌표는 현재 프레임(20) 내 원 오브젝트(21)의 좌표와 상이함을 알 수 있다. 다시 말해, 참조 프레임(20')의 원 오브젝트(21')는 현재 프레임(20)의 원 오브젝트(21)에 비해 좌하 방향으로 이동되어 있다. And searches for an area matching the block 22 of the current frame 20 among the reference frames temporally before or after the current frame 20. 3 illustrates an exemplary reference frame 20 'used to inter predict a current frame 20 according to an embodiment of the present invention. 3, the coordinates of the circle object 21 'in the reference frame 20' are different from the coordinates of the circle object 21 in the current frame 20. In other words, the original object 21 'of the reference frame 20' is moved in the lower left direction relative to the original object 21 of the current frame 20.

본 발명의 일 실시예에 따른 인터 예측 장치(100)는, 블록(22)이 위치한 좌표를 중심으로 하는 참조 프레임(20')의 탐색 영역(23) 내에서, 블록(22)과 가장 일치하는 영역을 탐색할 수 있다. 도 3에 도시된 참조 프레임(20')에서는 현재 프레임(20)에 포함된 원 오브젝트(21)가 좌하 방향으로 이동되어 있으므로, 현재 프레임(20)의 블록(22)과 가장 일치하는 블록은 탐색 영역(23) 중 좌측 아래에 위치할 것이다. The inter prediction apparatus 100 according to an exemplary embodiment of the present invention may be configured such that in the search region 23 of the reference frame 20 'centered on the coordinates at which the block 22 is located, Area can be searched. In the reference frame 20 'shown in FIG. 3, since the original object 21 included in the current frame 20 is moved in the lower left direction, the block that best matches the block 22 of the current frame 20 is the search Will be located at the lower left of the region 23.

도 4는 도 3에 도시된 탐색 영역(23)을 확대하여 상세하게 도시하는 도면이다. 도 4에 도시된 바와 같이, 현재 프레임(20) 중 부호화 또는 복호화를 수행하고자 하는 현재 블록(22)과 가장 일치하는 영역은 탐색 영역(23)의 좌하 방향에 위치한 블록(22')일 수 있다. 현재 블록(22)과 가장 일치하는 영역을 탐색하기 위해, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 상기 현재 블록(22)으로부터 상기 탐색 영역(23)에 포함된 다수의 후보 영역을 뺌으로써 현재 블록(22)과 후보 영역 간의 차분값을 계산하며, 상기 차분값이 최소가 되는 후보 영역을 가장 일치하는 영역(22')으로 선택할 수 있다. 이러한 과정을 통해 상기 인터 예측 장치(100)는 현재 블록(22)에 대해 움직임 추정(motion estimation)을 수행할 수 있다. 4 is an enlarged view of the search area 23 shown in FIG. 3 in detail. As shown in FIG. 4, the area of the current frame 20 that best matches the current block 22 to be encoded or decoded may be a block 22 'located in the lower left direction of the search area 23 . The inter prediction apparatus 100 according to an embodiment of the present invention includes a plurality of candidate regions included in the search region 23 from the current block 22 to search for an area that best matches the current block 22, The difference value between the current block 22 and the candidate region can be calculated and the candidate region having the minimum difference value can be selected as the best matching region 22 '. In this way, the inter prediction apparatus 100 can perform motion estimation on the current block 22.

그리고 나서, 상기 인터 예측 장치(100)는 상기 현재 블록(22)으로부터 상기 가장 일치하는 후보 영역(22')을 뺌으로써 현재 블록(22)에 대한 차분 블럭을 생성할 수 있다. 이러한 과정을 통해 상기 인터 예측 장치(100)는 현재 블록(22)에 대해 움직임 보상(motion compensation)을 수행할 수 있다. The inter prediction apparatus 100 may then generate a difference block for the current block 22 by subtracting the best matching candidate region 22 'from the current block 22. [ The inter prediction apparatus 100 may perform motion compensation on the current block 22 through the above process.

그리고 나서, 상기 인터 예측 장치(100)는, 상기 현재 블록(22)의 좌표에서 상기 가장 일치하는 영역(22')의 좌표를 뺌으로써 계산될 수 있는 움직임 벡터(24), 및 상기 현재 블록(22)을 구성하는 픽셀의 픽셀값에서 상기 가장 일치하는 영역(22')을 구성하는 픽셀의 픽셀값을 뺀 차분값을 부호화하여 전송할 수 있다. The inter prediction apparatus 100 may then calculate a motion vector 24 that can be calculated by subtracting the coordinates of the best matching region 22 'from the coordinates of the current block 22, 22 by subtracting the pixel value of the pixel constituting the best matching region 22 'from the pixel value of the pixel constituting the highest matching region 22'.

영상을 부호화 또는 복호화하기 위해 사용되는 블록의 사이즈는 다양하게 설정될 수 있다. 본 발명의 일 실시예에 따르면, 상기 블록의 사이즈는 4 X 4, 8 X 8, 16 X 16 및 32 X 32 중 어느 하나일 수 있다. 하지만, 상기 블록의 사이즈는 전술한 사이즈로 제한되지 않으며, 실시예에 따라 다양하게 설정될 수 있다. 예를 들어, 상기 블록의 사이즈는 4 X 4보다 작은 값, 예컨대 2 X 2로 설정될 수도 있으며, 32 X 32보다 큰 값, 예컨대 64 X 64로도 설정될 수 있다. 다른 실시예에 따르면, 상기 블록의 사이즈는 4 X 4와 8 X 8 사이의 값(예컨대, 6 X 6), 8 X 8과 16 X 16 사이의 값(예컨대, 12 X 12), 16 X 16과 32 X 32 사이의 값(예컨대, 24 X 24)으로 설정될 수 있다. The size of a block used to encode or decode an image may be set variously. According to an embodiment of the present invention, the size of the block may be any one of 4 X 4, 8 X 8, 16 X 16, and 32 X 32. However, the size of the block is not limited to the above-described size, and may be variously set according to the embodiment. For example, the size of the block may be set to a value less than 4 X 4, e.g., 2 X 2, or a value greater than 32 X 32, e.g., 64 X 64. According to another embodiment, the size of the block may be a value between 4 X 4 and 8 X 8 (e.g., 6 X 6), a value between 8 X 8 and 16 X 16 (e.g., 12 X 12), 16 X 16 And a value of 32 X 32 (e.g., 24 X 24).

도 5는 본 발명의 일 실시예에 따라 인터 예측되는 현재 프레임(20) 및 상기 현재 프레임(20)을 구성하는 블록들(22, 25)을 예시적으로 도시한다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 현재 프레임(20)을 다양한 사이즈의 블록들(22, 25)로 분할하여 예측할 수 있으며, 도 5에서는 예시적으로 8 X 8 사이즈의 블록(22)과 16 X 16 사이즈의 블록(25)만을 도시하고 있다. FIG. 5 illustrates an exemplary current frame 20 and blocks 22 and 25 that constitute the current frame 20, according to an embodiment of the present invention. 5, the inter prediction apparatus 100 according to an embodiment of the present invention can divide the current frame 20 into blocks 22 and 25 of various sizes and predict them. In FIG. 5, Only block 8 of size 8x8 and block 16 of size 16x16 are shown.

본 발명의 일 실시예에 따르면, 상기 정보 획득부(101)는 인터 예측을 수행하고자 하는 현재 블록의 사이즈에 대한 정보를 획득할 수 있다. 전술한 바와 같이, 부호화 또는 복호화가 수행될 현재 프레임(20)은 다양한 사이즈의 블록으로 분할될 수 있으며, 본 발명의 일 실시예에 따르면 상기 현재 프레임(20)에 포함된 오브젝트(21, 26)의 경계에 위치하는 블록(22)의 사이즈는, 오브젝트의 경계가 아닌 다른 영역(예컨대, 배경 영역)에 위치하는 블록(26)의 사이즈보다 더 작을 수 있다. 다시 말해, 현재 프레임(20) 중 공간주파수가 높은 영역에 위치한 블록(22)은, 공간주파수가 낮은 영역에 위치한 블록(25)보다 사이즈가 더 작을 수 있다. 도 5에서 영상의 배경 영역에 위치한 블록(25)의 사이즈는 16 X 16인 반면, 원 오브젝트(21)의 경계 영역에 위치한 블록(22)의 사이즈는 8 X 8로 블록(25)보다 더 작은 사이즈를 갖는다. 상기 정보 획득부(101)는 이러한 블록의 사이즈에 대한 정보를 수집할 수 있다. According to an embodiment of the present invention, the information obtaining unit 101 may obtain information on the size of a current block to be inter-predicted. As described above, the current frame 20 to be encoded or decoded may be divided into blocks of various sizes, and according to an embodiment of the present invention, the objects 21 and 26 included in the current frame 20 may be divided into blocks, The size of the block 22 located at the boundary of the object may be smaller than the size of the block 26 located in another area (e.g., background area) other than the boundary of the object. In other words, the block 22 located in the high spatial frequency region of the current frame 20 may be smaller in size than the block 25 located in the low spatial frequency region. 5, the size of the block 25 located in the background area of the image is 16 X 16 while the size of the block 22 located in the boundary area of the original object 21 is 8 X 8 and smaller than the block 25 Size. The information obtaining unit 101 may collect information on the size of the block.

상기 해상도 결정부(102)는 상기 블록의 사이즈에 따라 블록의 예측에 사용될 움직임 벡터의 해상도를 결정할 수 있다. 본 발명의 일 실시예에 따르면, 상기 해상도 결정부(102)는 상기 움직임 벡터의 해상도가 블록의 사이즈에 반비례하도록 결정할 수 있다. 다시 말해, 본 발명의 일 실시예에 따르면, 블록의 사이즈가 작을수록 해당 블록의 움직임 벡터의 해상도는 높아지도록 결정될 수 있다. The resolution determining unit 102 may determine a resolution of a motion vector to be used for prediction of a block according to the size of the block. According to an embodiment of the present invention, the resolution determining unit 102 may determine that the resolution of the motion vector is inversely proportional to the size of the block. In other words, according to an embodiment of the present invention, the smaller the size of the block, the higher the resolution of the motion vector of the block may be determined.

본 발명의 일 실시예에 따르면, 상기 움직임 벡터의 해상도는 움직임 벡터가 정수 단위로 표현되는 정수 화소 단위, 움직임 벡터가 0.5 단위로 표현되는 1/2 화소 단위, 및 움직임 벡터가 0.25 단위로 표현되는 1/4 화소 단위 중 어느 하나일 수 있다. 움직임 벡터의 해상도가 정수 화소 단위에서 1/2 화소 단위로 높아지면, 움직임 벡터를 나타내는 코드워드(codeword)가 길어지게 되며 움직임 벡터를 부호화한 비트의 양이 증가하여, 결과적으로 영상의 압축 효율이 낮아지게 된다. 마찬가지로, 움직임 벡터의 해상도가 1/2 화소 단위에서 1/4 화소 단위로 높아지면, 움직임 벡터를 부호화한 비트의 양이 증가하여 영상 압축 효율이 낮아진다. According to an embodiment of the present invention, the resolution of the motion vector may be expressed by an integer pixel unit in which a motion vector is represented by an integer unit, a 1/2 pixel unit in which a motion vector is expressed in 0.5 unit, Or a quarter-pixel unit. When the resolution of the motion vector is increased in units of one-half pixel in an integer pixel unit, the codeword representing the motion vector becomes longer and the amount of bits in which the motion vector is encoded increases. As a result, . Likewise, if the resolution of a motion vector increases in units of a quarter of a pixel in a half-pixel unit, the amount of bits in which the motion vector is encoded increases, thereby lowering the image compression efficiency.

본 발명은 공간주파수가 낮은 영역(예컨대, 영상의 배경 부분)에 대해서는 움직임 벡터의 해상도를 낮추고, 공간주파수가 높은 영역(예컨대, 오브젝트의 경계 부분)에 대해서는 움직임 벡터의 해상도를 높임으로써, 영상 프레임의 각 영역마다 움직임 벡터의 해상도를 적응적으로 결정한다. 그 결과, 본 발명의 인터 예측 장치(100)는 공간주파수가 높은 부분에 대해서는 움직임 예측의 정확도를 향상시킴과 동시에, 공간주파수가 낮은 부분에 대해서는 비트량을 줄임으로써 영상의 압축 효율을 증가시킬 수 있다. According to the present invention, by reducing the resolution of a motion vector for a region having a low spatial frequency (e.g., a background portion of an image) and increasing the resolution of a motion vector for a region having a high spatial frequency (e.g., The resolution of the motion vector is adaptively determined for each region of the motion vector. As a result, the inter prediction apparatus 100 of the present invention improves the accuracy of motion prediction for a portion having a high spatial frequency and increases the compression efficiency of an image by reducing a bit amount for a portion having a low spatial frequency have.

본 발명의 일 실시예에 따르면, 상기 정보 획득부(101)는 영상의 해상도에 대한 정보를 더 획득할 수 있다. 그리고, 상기 해상도 결정부(102)는 영상의 해상도 및 현재 블록(22)의 사이즈에 따라 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정할 수 있다. According to an embodiment of the present invention, the information obtaining unit 101 may obtain more information on the resolution of the image. The resolution determining unit 102 may determine a resolution of a motion vector to be used for prediction of a current block according to the resolution of the image and the size of the current block 22. [

본 발명의 일 실시예에 따르면, 상기 영상의 해상도는 Full HD, HD 및 SD 중 어느 하나일 수 있으나, 영상의 해상도는 이에 제한되지 않고 Full HD보다 더 높은 해상도 또는 SD보다 더 낮은 해상도일 수 있다. According to an exemplary embodiment of the present invention, the resolution of the image may be any of Full HD, HD and SD, but the resolution of the image may be a resolution higher than that of Full HD or a resolution lower than SD .

본 발명의 일 실시예에 따르면, 상기 해상도 결정부(102)는 영상의 해상도가 높아질수록 움직임 벡터의 해상도가 높아지도록 영상의 해상도에 따라 움직임 벡터의 해상도를 결정할 수 있다. According to an embodiment of the present invention, the resolution determining unit 102 may determine the resolution of the motion vector according to the resolution of the image so that the resolution of the motion vector increases as the resolution of the image increases.

예를 들어, 본 발명의 일 실시예에 따르면, SD 영상의 16 X 16 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 해당 블록의 움직임 벡터의 해상도를 정수 화소 단위로 결정할 수 있다. 그리고, SD 영상의 8 X 8 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 움직임 벡터의 해상도를 1/2 화소 단위로 결정할 수 있다. For example, according to an embodiment of the present invention, for a block having a size of 16 X 16 of an SD image, the resolution determiner 102 can determine the resolution of a motion vector of the block in units of integer pixels. For the block having the size of 8x8 of the SD image, the resolution determining unit 102 can determine the resolution of the motion vector in units of 1/2 pixel.

반면, HD 영상의 16 X 16 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 움직임 벡터의 해상도를 1/2 화소 단위로 결정할 수 있다. 그리고, HD 영상의 8 X 8 사이즈를 갖는 블록에 대해, 상기 해상도 결정부(102)는 움직임 벡터의 해상도를 1/4 화소 단위로 결정할 수 있다. 이와 같이, 본 발명의 일 실시예에 따른 인터 예측 장치(100)는 블록의 사이즈 외에 영상의 해상도를 더 고려하여 움직임 벡터의 해상도를 결정할 수 있다. On the other hand, for a block having a size of 16 X 16 of the HD image, the resolution determiner 102 can determine the resolution of the motion vector in units of 1/2 pixel. For the block having the size of 8x8 of the HD image, the resolution determining unit 102 can determine the resolution of the motion vector in units of quarter pixels. As described above, the inter-prediction apparatus 100 according to an embodiment of the present invention can determine the resolution of a motion vector considering the resolution of an image in addition to the size of a block.

도 6은 본 발명의 일 실시예에 따른 인터 예측 방법을 설명하는 흐름도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 방법(60)은 현재 블록(22)의 사이즈에 대한 정보를 획득하는 단계(S61), 상기 사이즈에 따라 현재 블록(22)의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계(S62), 및 상기 해상도를 기반으로 상기 현재 블록(22)의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계(S63)를 포함할 수 있다. 6 is a flowchart illustrating an inter prediction method according to an embodiment of the present invention. 6, an inter prediction method 60 according to an exemplary embodiment of the present invention includes a step S61 of obtaining information on a size of a current block 22, (S62) of determining a resolution of a motion vector to be used for prediction of the current block 22, and generating information on a motion vector and a difference of the current block 22 based on the resolution (S63).

본 발명의 일 실시예에 따르면, 상기 현재 블록(22)의 사이즈는 4 X 4, 8 X 8 및 16 X 16 중 어느 하나일 수 있으나, 블록의 사이즈는 이에 제한되지 않고 실시예에 따라 다양한 값을 가질 수 있다. According to an embodiment of the present invention, the size of the current block 22 may be any one of 4 X 4, 8 X 8, and 16 X 16, but the size of the block is not limited thereto, Lt; / RTI >

본 발명의 일 실시예에 따르면, 상기 움직임 벡터의 해상도는 정수 화소 단위, 1/2 화소 단위 및 1/4 화소 단위 중 어느 하나일 수 있다. 움직임 벡터의 해상도가 1/2 화소 단위 또는 1/4 화소 단위로 설정되는 경우, 영상 보간을 통해 정수 화소 단위의 해상도보다 정밀하게 움직임 벡터를 산출할 수 있다. 하지만, 해상도가 높아질수록 움직임 벡터를 표현하는 코드워드가 길어지므로 최종적으로 부호화된 영상의 비트량이 증가할 수 있다. According to an embodiment of the present invention, the resolution of the motion vector may be any one of an integer pixel unit, a half pixel unit, and a quarter pixel unit. When the resolution of the motion vector is set to a half-pixel unit or a quarter-pixel unit, a motion vector can be calculated more precisely than a resolution of an integer pixel unit through image interpolation. However, as the resolution increases, the codeword representing the motion vector becomes longer, so that the bit amount of the finally encoded image may increase.

본 발명의 일 실시예에 따른 인터 예측 방법(60)은, 블록의 사이즈가 작을수록 움직임 벡터의 해상도를 높게 결정할 수 있다. 다시 말해, 영상을 구성하는 블록의 사이즈에 기초하여 각 블록마다 적응적으로 움직임 벡터의 해상도를 결정한다. The inter prediction method 60 according to an embodiment of the present invention can determine the resolution of the motion vector to be higher as the size of the block is smaller. In other words, the resolution of the motion vector is adaptively determined for each block based on the size of the block constituting the image.

도 7은 본 발명의 다른 실시예에 따른 인터 예측 방법(70)을 설명하는 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인터 예측 방법(70)은, 현재 블록(22)의 사이즈에 대한 정보를 획득하는 단계(S71), 영상의 해상도에 대한 정보를 획득하는 단계(S72), 영상의 해상도 및 블록의 사이즈에 따라 움직임 벡터의 해상도를 결정하는 단계(S73), 및 결정된 움직임 벡터의 해상도를 기반으로 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계(S74)를 포함할 수 있다. FIG. 7 is a flow diagram illustrating an inter-prediction method 70 in accordance with another embodiment of the present invention. 7, the inter-prediction method 70 according to an embodiment of the present invention includes the steps of acquiring information on the size of the current block 22 (S71), acquiring information on the resolution of the image A step S72 of determining the resolution of the motion vector according to the resolution of the image and the size of the block S73 and a step of generating information on the motion vector and the difference of the block based on the resolution of the determined motion vector S74).

다시 말해, 본 발명의 다른 실시예에 따른 인터 예측 방법(70)은, 상기 움직임 벡터의 해상도를 결정하는 단계(S62) 전에, 영상의 해상도에 대한 정보를 획득하는 단계를 더 포함할 수 있다. 도 7에서는 블록의 사이즈에 대한 정보를 획득한 후 영상의 해상도에 대한 정보를 획득하는 것으로 설명되었으나, 실시예에 따라 영상의 해상도에 대한 정보를 획득한 후 블록의 사이즈에 대한 정보를 획득하거나, 사이즈에 대한 정보 및 영상의 해상도에 대한 정보를 동시에 획득할 수도 있다. In other words, the inter prediction method 70 according to another embodiment of the present invention may further include acquiring information on the resolution of the image before determining the resolution of the motion vector (S62). 7, the information on the resolution of the image is obtained after the information on the size of the block is acquired. However, according to the embodiment, the information on the resolution of the image may be acquired and the information on the size of the block may be acquired, Information on the size and information on the resolution of the image may be acquired at the same time.

그리고, 본 발명의 다른 실시예에 따른 인터 예측 방법(70)은, 상기 영상의 해상도 및 블록의 사이즈에 따라, 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계(S73)를 포함할 수 있다. 상기 영상의 해상도는 Full HD, HD 및 SD 중 어느 하나일 수 있으나, 이에 제한되지 않고 Full HD보다 높은 해상도 또는 SD보다 낮을 수도 있다. The inter prediction method 70 according to another embodiment of the present invention may include a step S73 of determining a resolution of a motion vector to be used for prediction of a block according to the resolution of the image and the size of the block . The resolution of the image may be any of Full HD, HD, and SD, but may be lower than that of Full HD or SD.

본 발명의 다른 실시예에 따르면, 영상의 해상도와 움직임 벡터의 해상도 간의 관계는 비례 관계일 수 있다. 다시 말해, 영상의 해상도가 높아질수록 움직임 벡터의 해상도는 높아질 수 있다. According to another embodiment of the present invention, the relationship between the resolution of the image and the resolution of the motion vector may be proportional. In other words, the higher the resolution of the image, the higher the resolution of the motion vector.

도 8은 본 발명의 일 실시예에 따른 영상 부호화 장치를 나타내는 블록도이다. 도 8을 참조하면, 상기 영상 부호화 장치(200)는 움직임 예측부(211), 움직임 보상부(212), 인트라 예측부(220), 스위치(215), 감산기(225), 변환부(230), 양자화부(240), 엔트로피 부호화부(250), 역양자화부(260), 역변환부(270), 가산기(275), 필터부(280) 및 참조영상 버퍼(290)를 포함한다.8 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention. 8, the image encoding apparatus 200 includes a motion prediction unit 211, a motion compensation unit 212, an intra prediction unit 220, a switch 215, a subtractor 225, a transform unit 230, A quantization unit 240, an entropy encoding unit 250, an inverse quantization unit 260, an inverse transformation unit 270, an adder 275, a filter unit 280, and a reference image buffer 290.

영상 부호화 장치(200)는 입력 영상에 대해 인트라 예측 모드 또는 인터 예측 모드로 부호화를 수행하고 비트스트림을 출력한다. 예측 단위에 대한 최적의 예측 방법을 결정하기 위해 예측 단위에 대해 인트라 예측 방법 및 인터 예측 방법이 선택적으로 사용될 수 있다. 영상 부호화 장치(200)는 입력 영상의 원본 블록에 대한 예측 블록을 생성한 후, 원본 블록과 예측 블록의 차분을 부호화한다.The image encoding apparatus 200 performs encoding in an intra prediction mode or an inter prediction mode on an input image and outputs a bit stream. An intra prediction method and an inter prediction method may be selectively used for a prediction unit in order to determine an optimal prediction method for a prediction unit. The image encoding apparatus 200 generates a prediction block for the original block of the input image, and then encodes the difference between the original block and the prediction block.

인트라 예측 모드인 경우, 인트라 예측부(220)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다. In the intra-prediction mode, the intra-prediction unit 220 performs spatial prediction using the pixel values of the already-coded blocks around the current block to generate a prediction block.

인트라 예측부(220)는 소정의 예측 단위에 대해 화면 내 예측 모드에 대한 SATD를 산출하고 산출된 제1 SATD값과 제2 SATD값 그리고 제1 SATD값에 해당하는 제1 화면 내 예측 모드를 산출하여 후보 화면 내 예측 모드 리스트에 저장하고 제1 SATD값과 상기 제2 SATD값의 차가 소정의 임계값 이하인지 여부를 판단하여 상기 소정의 예측 단위의 예측 블록을 생성할 수 있다. 또한, 제1 SATD값과 제2 SATD값의 차가 소정의 임계값보다 큰 경우, 제1 SATD값에 해당하는 화면 내 예측 모드를 현재 예측 단위의 최종 화면 내 예측 모드로 결정하고, 제1 SATD값과 제2 SATD값의 차가 소정의 임계값 이하인 경우, 추가의 화면 내 예측 모드를 후보 화면 내 예측 모드 리스트에 포함하여 후보 화면 내 예측 모드 리스트에 저장된 화면 내 예측 모드를 기초로 산출된 RD 비용을 이용하여 최종 화면 내 예측 모드를 결정할 수 있다.The intraprediction unit 220 calculates a SATD for the intra prediction mode for a predetermined prediction unit, calculates a first intra-picture prediction mode corresponding to the calculated first and second SATD values, and a first SATD value The predicted block of the predetermined prediction unit can be generated by storing the predicted block in the candidate intra prediction mode list and determining whether the difference between the first SATD value and the second SATD value is less than a predetermined threshold value. If the difference between the first SATD value and the second SATD value is greater than the predetermined threshold value, the intra prediction mode corresponding to the first SATD value is determined as the final intra prediction mode of the current prediction unit, And the second SATD value is less than or equal to a predetermined threshold value, the additional intra prediction mode is included in the intra prediction mode list to calculate the RD cost calculated based on the intra prediction mode stored in the intra prediction mode list To determine the final in-picture prediction mode.

또한, 인트라 예측부(220)는 소정의 부호화 단위에 대한 SATD값이 임계 SATD값을 넘는지 여부를 판단하고 소정의 부호화 단위에 대한 SATD값이 임계 SATD값보다 작은 경우 부호화 단위를 추가로 분할하지 않고 소정의 부호화 단위에 대한 SATD값이 임계 SATD 값 이상인 경우 추가로 부호화 단위를 분할할 수 있다.In addition, the intra-prediction unit 220 determines whether or not the SATD value for a predetermined encoding unit exceeds the threshold SATD value, and when the SATD value for a predetermined encoding unit is smaller than the threshold SATD value, the encoding unit is not further divided And if the SATD value for a predetermined encoding unit is equal to or larger than the threshold SATD value, the encoding unit can be further divided.

화면 간 예측 모드인 경우, 움직임 예측부(211)는, 움직임 예측 과정에서 참조 영상 버퍼(290)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구한다. 상기 움직임 예측부(211)는 전술한 본 발명의 일 실시예에 따른 인터 예측 장치를 포함하도록 구성될 수 있다. 움직임 보상부(212)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다. In the case of the inter-view prediction mode, the motion prediction unit 211 finds a motion vector by searching an area where the best match with the input block is obtained from the reference image stored in the reference image buffer 290 in the motion prediction process. The motion prediction unit 211 may be configured to include the inter prediction apparatus according to an embodiment of the present invention. The motion compensation unit 212 generates a prediction block by performing motion compensation using a motion vector.

감산기(225)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성한다. 변환부(230)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력한다. 그리고 양자화부(240)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력한다. 엔트로피 부호화부(250)는 입력된 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력한다.The subtractor 225 generates a residual block by a difference between the input block and the generated prediction block. The transform unit 230 performs a transform on the residual block to output a transform coefficient. The quantization unit 240 quantizes the input transform coefficients according to the quantization parameters and outputs a quantized coefficient. The entropy encoding unit 250 entropy-codes the input quantized coefficients according to a probability distribution to output a bit stream.

HEVC는 인터 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(260)에서 역양자화되고 역변환부(270)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(275)를 통해 예측 블록과 더해지고 복원 블록이 생성된다. Since the HEVC performs inter prediction coding, the currently encoded image needs to be decoded and stored for use as a reference image. Accordingly, the quantized coefficients are inversely quantized in the inverse quantization unit 260 and inversely transformed in the inverse transformation unit 270. The inverse quantized and inverse transformed coefficients are added to the prediction block through an adder 275, and a reconstruction block is generated.

복원 블록은 필터부(280)를 거치고, 필터부(280)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(280)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 화소값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있으며, 고효율이 적용되는 경우에만 수행될 수도 있다. 필터부(280)를 거친 복원 블록은 참조 영상 버퍼(290)에 저장된다.The restoration block passes through the filter unit 280 and the filter unit 280 applies at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) can do. The filter unit 280 may be referred to as an adaptive in-loop filter. The deblocking filter can remove block distortion occurring at the boundary between the blocks. The SAO may add a proper offset value to the pixel value to compensate for coding errors. The ALF may perform filtering based on a comparison between the reconstructed image and the original image, and may be performed only when high efficiency is applied. The reconstruction block having passed through the filter unit 280 is stored in the reference image buffer 290.

도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 나타내는 블록도이다. 도 9를 참조하면, 상기 영상 복호화 장치(300)는 엔트로피 복호화부(310), 역양자화부(320), 역변환부(330), 인트라 예측부(340), 움직임 보상부(350), 필터부(360) 및 참조 영상 버퍼(370)를 포함한다.9 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention. 9, the image decoding apparatus 300 includes an entropy decoding unit 310, an inverse quantization unit 320, an inverse transform unit 330, an intra prediction unit 340, a motion compensation unit 350, (360) and a reference image buffer (370).

영상 복호화 장치(300)는 부호화기에서 출력된 비트스트림을 입력받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 화면 내 예측 모드를 사용하여 예측 블록을 생성하고 인터 모드인 경우 화면 간 예측 방법을 사용하여 예측 블록을 생성한다. 영상 복호화 장치(300)는 입력받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다.The video decoding apparatus 300 receives the bit stream output from the encoder and decodes the video stream into an intra mode or an inter mode, and outputs a reconstructed video, that is, a reconstructed video. In the intra mode, a prediction block is generated using an intra prediction mode, and a prediction block is generated using an inter prediction method in an inter mode. The video decoding apparatus 300 obtains a residual block from the input bitstream, generates a prediction block, and then adds the residual block and the prediction block to generate a reconstructed block, that is, a reconstruction block.

엔트로피 복호화부(310)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient)를 출력한다. 양자화된 계수는 역양자화부(320)에서 역양자화되고 역변환부(330)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔여 블록(residual block)이 생성된다. The entropy decoding unit 310 entropy-decodes the input bitstream according to a probability distribution and outputs a quantized coefficient. The quantized coefficients are inversely quantized in the inverse quantization unit 320 and inversely transformed in the inverse transformation unit 330. As a result of inverse quantization / inverse transformation of the quantized coefficients, a residual block is generated.

인트라 예측 모드인 경우, 인트라 예측부(340)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다. In the intra-prediction mode, the intra-prediction unit 340 performs spatial prediction using the pixel values of the already-coded blocks around the current block to generate a prediction block.

인터 예측 모드인 경우, 움직임 보상부(350)는 움직임 벡터 및 참조 영상 버퍼(370)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다. In the inter prediction mode, the motion compensation unit 350 generates a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference image buffer 370.

잔여 블록과 예측 블록은 가산기(355)를 통해 더해지고, 더해진 블록은 필터부(360)를 거친다. 필터부(360)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(360)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(370)에 저장되어 인터 예측에 사용될 수 있다.The residual block and the prediction block are added through the adder 355, and the added block is passed through the filter unit 360. [ The filter unit 360 may apply at least one of a deblocking filter, SAO, and ALF to a restoration block or a restored picture. The filter unit 360 outputs a reconstructed image, that is, a reconstructed image. The restored image is stored in the reference image buffer 370 and can be used for inter prediction.

부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다. 본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.Methods for improving the prediction performance of the encoding / decoding apparatus include a method of increasing the accuracy of the interpolation image and a method of predicting the difference signal. Here, the difference signal is a signal indicating the difference between the original image and the predicted image. In the present invention, the term " difference signal " may be replaced by a " difference signal ", " residual block ", or " difference block " depending on the context. Those skilled in the art may influence the idea You will be able to distinguish this within the scope of not giving.

본 명세서에서는 설명의 편의상 코딩 유닛(Coding Unit)을 부호화 단위라는 용어로 사용하지만, 부호화뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다. 전술한 본 발명의 일 실시예에 따른 인트라 예측 방법은 도 8 및 도 9에서 설명한 각 모듈의 기능에 맞게 구현될 수 있고, 이러한 부호화기 및 복호화기는 본 발명의 권리범위에 포함된다. 즉, 본 발명의 일 실시예에 따른 인트라 예측 방법은 도 8 및 도 9에서 설명한 영상 부호화기 및 영상 복호화기에 포함된 각 구성부에서 수행될 수 있다. 구성부의 의미는 하드웨어적인 의미뿐만 아니라 알고리즘을 통해 수행될 수 있는 소프트웨어적인 처리 단위도 포함할 수 있다.In the present specification, a coding unit (coding unit) is used as a coding unit for convenience of explanation, but it may be a unit for performing not only coding but also decoding. The intraprediction method according to an embodiment of the present invention can be implemented according to the functions of the modules described in FIGS. 8 and 9, and the encoder and the decoder are included in the scope of the present invention. That is, the intraprediction method according to an embodiment of the present invention can be performed in each component included in the image encoder and the image decoder described with reference to FIG. 8 and FIG. The meaning of the constituent part may include not only a hardware meaning but also a software processing unit which can be performed through an algorithm.

또한, 전술한 본 발명의 일 실시예에 따른 인터 예측 방법은, 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.In addition, the inter prediction method according to an embodiment of the present invention described above can be stored in a computer-readable recording medium manufactured as a program to be executed in a computer. The computer-readable recording medium includes all kinds of storage devices in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like.

이상에서, 영상을 구성하는 블록의 사이즈에 따라 적응적으로 움직임 벡터의 해상도를 결정하는 인터 예측 방법 및 장치를 설명하였다. 본 발명의 일 실시예에 따르면, 영상 프레임 중 픽셀값의 변화가 적어 공간주파수가 낮은 영역에 대해서는 낮은 해상도의 움직임 벡터를 사용하여 인터 예측을 수행하고, 반대로 픽셀값의 변화가 커 공간주파수가 높은 영역에 대해서는 높은 해상도의 움직임 벡터를 사용하여 인터 예측을 수행할 수 있다. 그 결과, 영상 중 오브젝트의 경계 부분과 같이 공간주파수가 높은 영역에 대해서는 보다 정확하게 움직임 예측을 수행할 수 있게 되고, 영상 중 배경 부분과 같이 공간주파수가 낮은 영역에 대해서는 부호화된 영상의 비트스트림 길이를 줄여 압축 효율을 향상시킬 수 있다. The inter prediction method and apparatus for adaptively determining the resolution of a motion vector according to the size of a block constituting an image have been described above. According to an embodiment of the present invention, inter prediction is performed using a low-resolution motion vector for a region having a small spatial frequency and a small pixel value among image frames. On the contrary, It is possible to perform inter prediction by using a motion vector with a high resolution. As a result, it is possible to more accurately perform motion prediction for a region having a high spatial frequency, such as a boundary portion of an object in an image, and for a region having a low spatial frequency such as a background portion of the image, The compression efficiency can be improved.

100: 인터 예측 장치 101: 정보 획득부
102: 해상도 결정부 103: 예측 수행부
100: inter prediction device 101:
102: resolution determining unit 103: prediction performing unit

Claims (11)

현재 블록의 사이즈에 대한 정보를 획득하는 단계;
영상의 해상도에 대한 정보를 획득하는 단계;
상기 영상의 해상도 및 상기 현재 블록의 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계; 그리고
상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계;
를 포함하는 인터 예측 방법.
Obtaining information on a size of a current block;
Obtaining information on a resolution of an image;
Determining a resolution of a motion vector to be used for prediction of the current block according to the resolution of the image and the size of the current block; And
Generating motion vector and difference information of the current block based on the resolution;
≪ / RTI >
제 1 항에 있어서,
상기 현재 블록의 사이즈는 4 X 4, 8 X 8, 16 X 16 및 32 X 32 중 어느 하나인 인터 예측 방법.
The method according to claim 1,
Wherein the size of the current block is any one of 4x4, 8x8, 16x16, and 32x32.
제 1 항에 있어서,
상기 움직임 벡터의 해상도는 정수 화소 단위, 1/2 화소 단위 및 1/4 화소 단위 중 어느 하나인 인터 예측 방법.
The method according to claim 1,
Wherein the resolution of the motion vector is any one of an integer pixel unit, a half-pixel unit, and a quarter-pixel unit.
제 1 항에 있어서,
상기 현재 블록의 사이즈가 작을수록 상기 움직임 벡터의 해상도는 높아지는 인터 예측 방법.
The method according to claim 1,
And the resolution of the motion vector increases as the size of the current block decreases.
삭제delete 제 1 항에 있어서,
상기 영상의 해상도는 Full HD, HD 및 SD 중 어느 하나인 인터 예측 방법.
The method according to claim 1,
Wherein the resolution of the image is one of Full HD, HD and SD.
제 1 항에 있어서,
상기 영상의 해상도가 높아질수록 상기 움직임 벡터의 해상도는 높아지는 인터 예측 방법.
The method according to claim 1,
Wherein the higher the resolution of the image, the higher the resolution of the motion vector.
삭제delete 영상의 해상도 및 현재 블록의 사이즈에 대한 정보를 획득하는 정보 획득부;
상기 영상의 해상도 및 상기 현재 블록의 사이즈에 따라, 움직임 벡터의 해상도를 결정하는 해상도 결정부; 그리고
상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 예측 수행부;
를 포함하는 인터 예측 장치.
An information obtaining unit for obtaining information on a resolution of an image and a size of a current block;
A resolution determination unit for determining a resolution of a motion vector according to the resolution of the image and the size of the current block; And
A prediction unit for generating motion vector and difference information of the current block based on the resolution;
And an inter prediction unit.
제 9 항에 있어서,
상기 해상도 결정부는, 상기 움직임 벡터의 해상도가 상기 현재 블록의 사이즈에 반비례하도록 결정하는 인터 예측 장치.
10. The method of claim 9,
Wherein the resolution determining unit determines that the resolution of the motion vector is inversely proportional to the size of the current block.
컴퓨터로 읽을 수 있는 기록매체에 있어서,
현재 블록의 사이즈에 대한 정보를 획득하는 단계;
영상의 해상도에 대한 정보를 획득하는 단계;
상기 영상의 해상도 및 상기 현재 블록의 사이즈에 따라, 상기 현재 블록의 예측에 사용될 움직임 벡터의 해상도를 결정하는 단계; 그리고
상기 해상도를 기반으로 상기 현재 블록의 움직임 벡터 및 차분에 대한 정보를 생성하는 단계;
를 포함하는 인터 예측 프로세스를 실행하기 위한 프로그램이 기록된 기록매체.
A computer-readable recording medium,
Obtaining information on a size of a current block;
Obtaining information on a resolution of an image;
Determining a resolution of a motion vector to be used for prediction of the current block according to the resolution of the image and the size of the current block; And
Generating motion vector and difference information of the current block based on the resolution;
And a program for executing the inter prediction process.
KR1020120123020A 2011-11-04 2012-11-01 Method and apparatus for inter prediction KR101443865B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110114712 2011-11-04
KR1020110114712 2011-11-04

Publications (2)

Publication Number Publication Date
KR20130049736A KR20130049736A (en) 2013-05-14
KR101443865B1 true KR101443865B1 (en) 2014-09-25

Family

ID=48660383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120123020A KR101443865B1 (en) 2011-11-04 2012-11-01 Method and apparatus for inter prediction

Country Status (1)

Country Link
KR (1) KR101443865B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3203743A4 (en) 2014-10-31 2018-01-10 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
EP3861746A1 (en) * 2018-10-04 2021-08-11 InterDigital VC Holdings, Inc. Block size based motion vector coding in affine mode
US11190789B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding using inter-prediction mode signaling to dertermine motion vectors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08251596A (en) * 1995-03-10 1996-09-27 Toshiba Corp Moving image encoding and decoding device
KR20110020211A (en) * 2009-08-21 2011-03-02 에스케이 텔레콤주식회사 Video coding method and apparatus by using adaptive motion vector resolution
JP2011125067A (en) 2005-09-26 2011-06-23 Mitsubishi Electric Corp Dynamic image encoding device and dynamic image decoding device
KR20110101443A (en) * 2010-03-08 2011-09-16 에스케이 텔레콤주식회사 Motion vector coding method and apparatus by using motion vector resolution combination and video coding method and apparatus using same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08251596A (en) * 1995-03-10 1996-09-27 Toshiba Corp Moving image encoding and decoding device
JP2011125067A (en) 2005-09-26 2011-06-23 Mitsubishi Electric Corp Dynamic image encoding device and dynamic image decoding device
KR20110020211A (en) * 2009-08-21 2011-03-02 에스케이 텔레콤주식회사 Video coding method and apparatus by using adaptive motion vector resolution
KR20110101443A (en) * 2010-03-08 2011-09-16 에스케이 텔레콤주식회사 Motion vector coding method and apparatus by using motion vector resolution combination and video coding method and apparatus using same

Also Published As

Publication number Publication date
KR20130049736A (en) 2013-05-14

Similar Documents

Publication Publication Date Title
US11910014B2 (en) Image encoding method using a skip mode, and a device using the method
KR102175472B1 (en) Method for intra prediction and apparatus thereof
KR102323427B1 (en) Method and Apparatus for image encoding
KR101621854B1 (en) Tsm rate-distortion optimizing method, encoding method and device using the same, and apparatus for processing picture
KR101462637B1 (en) Method and apparatus for image encoding/decoding
JP2019520743A (en) Image data encoding and decoding
KR101443865B1 (en) Method and apparatus for inter prediction
KR20170114598A (en) Video coding and decoding methods using adaptive cross component prediction and apparatus
WO2014084674A2 (en) Intra prediction method and intra prediction apparatus using residual transform
KR101475286B1 (en) Method and apparatus for intra prediction, and apparatus for processing picture
KR101375699B1 (en) Method and apparatus for intra prediction
KR101688085B1 (en) Video coding method for fast intra prediction and apparatus thereof
KR101924959B1 (en) Method and Apparatus for image encoding
JP5937926B2 (en) Image encoding device, image decoding device, image encoding program, and image decoding program
KR101436949B1 (en) Method and apparatus for encoding picture, and apparatus for processing picture
KR101890182B1 (en) Texture-bassed Early Decision Method of Block Size for Fast Intra Prediction in an HEVC Encoder
KR20130049604A (en) Mode Switching Method in Entropy Coding
KR20110067648A (en) Method for encoding/decoding image and apparatus for performing the same
KR101802304B1 (en) Methods of encoding using hadamard transform and apparatuses using the same
KR101347272B1 (en) Method and apparatus for inter prediction
KR20210008558A (en) Video encoding/decoding method using error-resilient in-loop filter and signaling method relating to the same
KR20130107414A (en) Video coding method using adaptive division transform
KR20130107611A (en) Methods of encoding and decoding using bottom-up prediction mode decision and apparatuses for using the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 6