KR100955430B1 - Interpolation method and device - Google Patents

Interpolation method and device Download PDF

Info

Publication number
KR100955430B1
KR100955430B1 KR1020080129650A KR20080129650A KR100955430B1 KR 100955430 B1 KR100955430 B1 KR 100955430B1 KR 1020080129650 A KR1020080129650 A KR 1020080129650A KR 20080129650 A KR20080129650 A KR 20080129650A KR 100955430 B1 KR100955430 B1 KR 100955430B1
Authority
KR
South Korea
Prior art keywords
interpolation
frame
pixel
information
reference frame
Prior art date
Application number
KR1020080129650A
Other languages
Korean (ko)
Inventor
장의선
이충구
이선영
이명중
Original Assignee
(주)휴맥스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)휴맥스 filed Critical (주)휴맥스
Priority to PCT/KR2008/007532 priority Critical patent/WO2009078686A2/en
Priority to KR1020080129650A priority patent/KR100955430B1/en
Priority to US12/809,025 priority patent/US8848794B2/en
Application granted granted Critical
Publication of KR100955430B1 publication Critical patent/KR100955430B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

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

Abstract

PURPOSE: An interpolation method and a device thereof are provided to interpolate a target frame in consideration of a skipped frame. CONSTITUTION: An information acquisition unit(210) acquires the interpolation frame information from at least one of a decoding unit, reference frames and macro block type and motion vector value. An interpolation processor(220) calculates the ratio information of interpolation target frame through the interpolation frame information. According to the type of the macro block, the interpolation processing unit interpolates the target frame through at least one of the ratio information, the pixel information of the reference frame and the motion vector value.

Description

인터폴레이션 방법 및 장치{Interpolation method and device}Interpolation method and device

본 발명은 영상 처리에 관한 것으로, 보다 상세하게 스키핑된 프레임을 매크로블록의 유형에 따라 상이하게 인터폴레이션 할 수 있는 방법 및 장치에 관한 것이다.The present invention relates to image processing, and more particularly, to a method and apparatus for interpolating skipped frames according to types of macroblocks.

보간에 사용되는 기술에는 프레임 반복(Frame repetition), 선형 보간(Bilinear interpolation), 움직임 벡터 보간(Motion compensated interpolation) 등이 있다. 이 중 가장 대표적인 보간 기술은 움직임 벡터 보간이다. 움직임 벡터 보간 기술의 경우에는 참조하는 프레임의 움직임 벡터 값과 해당 움직임 벡터가 지시하는 영역의 픽셀 값을 이용하여 보간을 하게 된다. 기존의 보간 기술은 상기의 기술들을 조합하여 구성 되어 있다.Techniques used for interpolation include frame repetition, bilinear interpolation, and motion vector interpolation. The most representative interpolation technique is motion vector interpolation. In the case of a motion vector interpolation technique, interpolation is performed using a motion vector value of a reference frame and a pixel value of a region indicated by the motion vector. The existing interpolation technique is constructed by combining the above techniques.

그러나 이전의 보간 기술들은 프레임 건너뜀 기술에서 얻어지는 생략 된 프레임들의 특성을 고려하지 않은 문제점이 있다.However, the previous interpolation techniques have a problem that does not consider the characteristics of the skipped frames obtained in the frame skipping technique.

본 발명은 스키핑된 프레임의 특성을 고려하여 보간 대상 프레임을 보간할 수 있는 인터폴레이션 장치 및 방법을 제공하기 위한 것이다.The present invention provides an interpolation apparatus and method capable of interpolating an interpolation target frame in consideration of characteristics of a skipped frame.

또한, 본 발명은 매크로블록의 유형에 따라 보간 대상 프레임을 상이하게 보간할 수 있는 인터폴레이션 장치 및 방법을 제공하기 위한 것이다.In addition, the present invention is to provide an interpolation apparatus and method capable of interpolating different interpolation target frame according to the type of macroblock.

또한, 본 발명은 연속되는 복수의 보간될 프레임들 중 보간 대상 프레임의 위치에 상응하는 비율에 따라 상기 보간 대상 프레임을 보간할 수 있는 인터폴레이션 장치 및 방법을 제공하기 위한 것이다.The present invention also provides an interpolation apparatus and method capable of interpolating the interpolation target frame according to a ratio corresponding to the position of the interpolation target frame among a plurality of consecutive frames to be interpolated.

본 발명의 일 측면에 따르면, 스키핑된 프레임을 보간할 수 있는 인터폴레이션 장치가 제공된다.According to one aspect of the present invention, an interpolation apparatus capable of interpolating a skipped frame is provided.

본 발명의 일 측면에 따르면, 스키핑된 프레임을 보간할 수 있는 인터폴레이션 장치가 제공된다.According to one aspect of the present invention, an interpolation apparatus capable of interpolating a skipped frame is provided.

본 발명의 실시예에 따르면, 인터폴레이션 장치에 있어서, 입력된 비트스트림을 복호하는 디코딩부; 상기 디코딩부로부터 보간 프레임 정보, 하나 이상의 참조 프레임, 매크로블록 유형 및 모션 벡터값 중 하나 이상을 획득하는 정보 획득부; 및 상기 보간 프레임 정보를 이용하여 보간 대상 프레임의 비율 정보를 산출하고, 상기 매크로블록 유형에 따라 상기 비율 정보, 상기 참조 프레임의 픽셀 정보 또는 상기 모션 벡터값을 이용하여 보간 대상 프레임을 보간하는 보간 처리부를 포함하는 인터폴레이션 장치가 제공될 수 있다.According to an embodiment of the present invention, an interpolation apparatus includes: a decoding unit for decoding an input bitstream; An information obtaining unit obtaining one or more of interpolated frame information, one or more reference frames, a macroblock type, and a motion vector value from the decoding unit; And an interpolation processor configured to calculate ratio information of the interpolation target frame using the interpolation frame information, and interpolate the interpolation target frame using the ratio information, pixel information of the reference frame, or the motion vector value according to the macroblock type. An interpolation apparatus including a may be provided.

상기 보간 처리부에 의해 미보간된 픽셀들을 인접한 하나 이상의 픽셀을 이용하여 패딩하는 픽셀 패딩부를 더 포함할 수 있다.The apparatus may further include a pixel padding unit that pads the pixels not interpolated by the interpolation processor by using one or more adjacent pixels.

상기 보간 처리부는 상기 뒤 참조 프레임의 매크로블록 유형이 건너뜀 매크로블록(SKIP MB)이면, 상기 뒤 참조 프레임의 픽셀 위치와 동일한 위치를 보간 대상 프레임의 보간 대상 픽셀의 위치로 설정하고, 상기 뒤 참조 프레임과 앞 참조 프레임의 픽셀 정보에 상기 비율 정보를 곱하여 상기 보간 대상 픽셀의 픽셀 값으로 산출할 수 있다.If the macroblock type of the later reference frame is a skipped macroblock (SKIP MB), the interpolation processor sets the same position as the pixel position of the later reference frame to the position of the interpolation target pixel of the interpolation target frame and refers to the later reference. The pixel information of the frame and the previous reference frame may be multiplied by the ratio information to calculate the pixel value of the interpolation target pixel.

상기 보간 처리부는 상기 뒤 참조 프레임의 매크로블록 유형이 인트라 매크로블록(INTRA MB)이면, 상기 뒤 참조 프레임의 픽셀 위치를 상기 보간 대상 프레임의 보간 대상 픽셀의 위치로 설정하고, 상기 뒤 참조 프레임 및 앞 참조 프레임 중에서 상기 보간 대상 프레임과 인접한 프레임의 픽셀 정보를 이용하여 상기 보간 대상 픽셀의 픽셀값을 설정할 수 있다.If the macroblock type of the later reference frame is an intra macroblock (INTRA MB), the interpolation processor sets the pixel position of the rear reference frame to the position of the interpolation target pixel of the interpolation target frame, and the rear reference frame and the front reference frame. The pixel value of the interpolation target pixel may be set using pixel information of a frame adjacent to the interpolation target frame among reference frames.

상기 보간 처리부는 상기 뒤 참조 프레임의 매크로블록 유형이 인터 매크로블록(INTER MB)이면, 상기 모션 벡터값에 따라 상이하게 보간 대상 프레임을 보간할 수 있다.The interpolation processor may interpolate an interpolation target frame differently according to the motion vector value when the macroblock type of the later reference frame is an INTER MB.

상기 보간 처리부는, 상기 뒤 참조 프레임의 매크로블록 유형이 인터 매크로블록(INTER MB)이면, 상기 뒤 참조 프레임의 픽셀 위치에서 상기 모션 벡터값을 상기 비율 정보로 곱하여 이동한 위치를 보간 대상 픽셀의 위치로 설정하고, 상기 뒤 참조 프레임의 픽셀 정보 및 앞 참조 프레임의 픽셀 위치에 상기 모션 벡터값을 상기 비율 정보로 곱하여 이동한 위치의 픽셀 정보를 상기 비율 정보로 곱하여 상기 보간 대상 픽셀의 픽셀값을 산출할 수 있다.The interpolation processor, when the macroblock type of the rear reference frame is an INTER MB, the position of the interpolation target pixel by moving the position obtained by multiplying the motion vector value by the ratio information at the pixel position of the rear reference frame. The pixel value of the interpolation target pixel is calculated by multiplying the pixel information of the later reference frame and the pixel position of the previous reference frame by the motion vector value by the ratio information and multiplying the moved pixel information by the ratio information. can do.

상기 픽셀 패딩부는 보간되지 않은 픽셀을 인접한 하나 이상의 보간된 픽셀값의 평균값을 이용하여 패딩할 수 있다. The pixel padding unit may pad the non-interpolated pixels using an average value of one or more adjacent interpolated pixel values.

상기 보간 프레임 정보는 보간될 프레임의 개수이다.The interpolation frame information is the number of frames to be interpolated.

본 발명이 다른 측면에 따르면, 프레임 특성을 고려하여 스키핑된 프레임을 보간할 수 있는 방법이 제공된다. According to another aspect of the present invention, a method for interpolating a skipped frame in consideration of frame characteristics is provided.

본 발명의 일 실시예에 따르면, 인터폴레이션 장치가 스키핑된 프레임을 보간하는 방법에 있어서, 입력된 비트스트림을 복호하여, 보간 프레임 정보, 하나 이상의 참조 프레임, 매크로블록 유형 및 모션 벡터값 중 하나 이상을 획득하는 단계; 상기 보간 프레임 정보를 이용하여 보간 대상 프레임의 비율 정보를 산출하는 단계; 및 상기 매크로블록 유형에 따라 상기 참조 프레임, 모션 벡터값 또는 상기 비율 정보를 이용하여 상이하게 보간 대상 프레임을 보간하는 단계를 포함하는 프레임 보간 방법이 제공될 수 있다.According to an embodiment of the present invention, in an interpolation apparatus, an interpolation apparatus decodes a skipped frame, and decodes an input bitstream to obtain one or more of interpolation frame information, one or more reference frames, a macroblock type, and a motion vector value. Obtaining; Calculating ratio information of an interpolation target frame using the interpolation frame information; And interpolating interpolation target frames differently using the reference frame, the motion vector value, or the ratio information according to the macroblock type.

상기 보간 대상 프레임을 보간하는 단계 이후에, 상기 보간 대상 프레임을 설정된 스캔라인 방향으로 스캔하여 미보간된 픽셀을 인접한 하나 이상의 보간된 픽셀들을 이용하여 패딩하는 단계를 더 포함할 수 있다. After interpolating the interpolation target frame, the method may further include scanning the interpolation target frame in a set scanline direction and padding the uninterpolated pixel using one or more adjacent interpolated pixels.

상기 보간된 픽셀들을 이용하여 패딩하는 단계는, 상기 미보간된 픽셀을 인 접한 하나 이상의 보간된 픽셀들의 평균값을 이용하여 패딩할 수 있다.Padding using the interpolated pixels may be padded using an average value of one or more interpolated pixels adjacent to the uninterpolated pixel.

상기 매크로블록 유형은 뒤 참조 프레임의 매크로블록 유형이며, 건너뜀 매크로블록(SKIP MB), 인트라 매크로블록(INTRA MB) 및 인터 매크로블록(INTER MB) 중 어느 하나이다.The macroblock type is a macroblock type of a later reference frame and is one of skipped macroblock (SKIP MB), intra macroblock (INTRA MB), and inter macroblock (INTER MB).

상기 매크로블록 유형이 상기 건너뜀 매크로블록이면, 상기 보간 대상 프레임을 보간하는 단계는, 상기 뒤 참조 프레임의 픽셀 위치를 상기 보간 대상 프레임의 보간 대상 픽셀의 위치로써 설정하는 단계; 및 상기 뒤 참조 프레임과 앞 참조 프레임의 픽셀 정보에 상기 비율 정보를 곱하여 상기 보간 대상 픽셀의 픽셀값으로 산출하는 단계를 포함할 수 있다.If the macroblock type is the skipped macroblock, interpolating the interpolation target frame may include: setting a pixel position of the rear reference frame as a position of an interpolation target pixel of the interpolation target frame; And calculating the pixel value of the pixel to be interpolated by multiplying the ratio information by the pixel information of the back reference frame and the previous reference frame.

상기 매크로블록 유형이 상기 인트라 매크로블록이면, 상기 보간 대상 프레임을 보간하는 단계는, 상기 뒤 참조 프레임의 픽셀 위치를 상기 보간 대상 프레임의 보간 대상 픽셀 위치로써 설정하는 단계; 및 상기 뒤 참조 프레임 및 앞 참조 프레임 중 상기 보간 대상 프레임에 인접한 참조 프레임의 픽셀 정보를 이용하여 상기 보간 대상 픽셀의 픽셀값을 산출할 수 있다.If the macroblock type is the intra macroblock, interpolating the interpolation target frame comprises: setting a pixel position of the rear reference frame as an interpolation target pixel position of the interpolation target frame; And a pixel value of the interpolation target pixel using pixel information of a reference frame adjacent to the interpolation target frame among the back reference frame and the front reference frame.

상기 매크로블록 유형이 상기 인터 매크로블록이면, 상기 보간 대상 프레임을 보간하는 단계는, 상기 뒤 참조 프레임의 픽셀 위치에서 상기 모션 벡터값에 상기 비율 정보를 곱하여 이동된 위치를 상기 보간 대상 프레임의 보간 대상 픽셀의 위치로써 설정하는 단계; 및 상기 뒤 참조 프레임의 픽셀 정보와 앞 참조 프레임의 픽셀 위치에서 상기 모션 벡터값에 상기 비율 정보를 곱하여 이동된 위치의 픽셀 정보에 상기 비율 정보를 곱하여 상기 보간 대상 픽셀의 픽셀값으로 산출하는 단계 를 포함할 수 있다.If the macroblock type is the inter macroblock, interpolating the interpolation target frame may include: moving the position by multiplying the motion vector value by the ratio information at a pixel position of the rear reference frame to interpolate the interpolation target of the interpolation target frame. Setting as the position of the pixel; And calculating the pixel value of the pixel to be interpolated by multiplying the ratio information by the pixel information of the moved position by multiplying the motion vector value by the ratio information at the pixel information of the rear reference frame and the pixel position of the previous reference frame. It may include.

본 발명의 다른 실시예에 따르면, 스키핑된 프레임을 보간하기 위해 상기 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 입력된 비트스트림을 복호하여, 보간 프레임 정보, 하나 이상의 참조 프레임, 매크로블록 유형 및 모션 벡터값을 획득하는 단계; 상기 보간 프레임 정보를 이용하여 보간 대상 프레임의 비율 정보를 산출하는 단계; 및 상기 매크로블록 유형에 따라 상기 참조 프레임, 모션 벡터값 또는 상기 비율 정보를 이용하여 상이하게 보간 대상 프레임을 보간하는 단계를 수행하는 프로그램을 기록한 기록매체가 제공될 수 있다.According to another embodiment of the present invention, a program of instructions that can be executed by the digital processing apparatus for the interpolation of a skipped frame is tangibly implemented, and a recording medium having recorded thereon a program which can be read by the digital processing apparatus. Decoding the input bitstream to obtain interpolation frame information, one or more reference frames, a macroblock type, and a motion vector value; Calculating ratio information of an interpolation target frame using the interpolation frame information; And a recording medium recording a program for performing interpolation of the interpolation target frame differently using the reference frame, the motion vector value or the ratio information according to the macroblock type.

본 발명에 따른 인터폴레이션 장치 및 방법을 제공함으로써, 스키핑된 프레임의 특성을 고려하여 보간 대상 프레임을 보간할 수 있는 효과가 있다.By providing the interpolation apparatus and method according to the present invention, the interpolation target frame can be interpolated in consideration of the characteristics of the skipped frame.

또한, 본 발명은 매크로블록의 유형에 따라 보간 대상 프레임을 상이하게 보간할 수 있는 효과가 있다.In addition, the present invention has the effect of interpolating the interpolation target frame differently according to the type of the macroblock.

또한, 본 발명은 연속되는 복수의 보간될 프레임들 중 보간 대상 프레임의 위치에 상응하는 비율에 따라 상기 보간 대상 프레임을 보간할 수 있는 효과도 있다.The present invention also has the effect of interpolating the interpolation target frame according to a ratio corresponding to the position of the interpolation target frame among a plurality of consecutive frames to be interpolated.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 인터폴레이션 장치의 내부 구성을 개략적으로 나타낸 블록도이다. 1 is a block diagram schematically illustrating an internal configuration of an interpolation apparatus according to an embodiment of the present invention.

도 1을 참조하면, 인터폴레이션 장치(100)는 입력부(110), 디코딩부(120) 및 인터폴레이션부(130)를 포함하여 구성된다.Referring to FIG. 1, the interpolation apparatus 100 includes an input unit 110, a decoding unit 120, and an interpolation unit 130.

입력부(110)는 외부로부터 비트스트림을 입력받아 디코딩부(120)로 출력한다. 여기서, 비트스트림은 프레임 스키핑(frame skipping) 기술을 이용하여 부호화된 영상에 상응하는 비트열이다. The input unit 110 receives the bitstream from the outside and outputs the bitstream to the decoding unit 120. Here, the bitstream is a bit string corresponding to an image encoded by using a frame skipping technique.

디코딩부(120)는 입력부(110)를 통해 입력된 비트스트림을 미리 설정된 복호화 방법에 따라 디코딩하고, 보간을 위해 필요한 정보(예를 들어, 참조 프레임에 대한 정보, 매크로블록 유형, 모션 벡터값, 보간 프레임 정보 등)를 획득하여 인터폴레이션부(130)로 출력한다.The decoding unit 120 decodes the bitstream input through the input unit 110 according to a preset decoding method, and information necessary for interpolation (for example, information about a reference frame, macroblock type, motion vector value, Interpolation frame information, etc.) are obtained and output to the interpolation unit 130.

예를 들어, 비트스트림이 MPEG-4 SP(simple profile)에 상응하여 영상이 부호화된 것이라고 가정하자. 디코딩부(120)는 비트스트림을 분석하여 vop_time_increment 신택스(syntax) 값을 추출하여 보간 프레임 정보로써 설정한다. 여기서, 보간 프레임 정보는 보간(interpolation)될 프레임의 개수이다. 또한, 디코딩부(120)는 비트스트림을 파싱하여 mcbpc 신택스 값을 추출하여 매크로블록 유형으로써 설정할 수 있다. 디코딩부(120)는 horizontal_mv_data, vertical_mv_data 신택스의 값을 추출하여 모션벡터값으로 설정할 수 있다.For example, suppose that the bitstream is encoded with an image corresponding to MPEG-4 simple profile (SP). The decoding unit 120 analyzes the bitstream, extracts a vop_time_increment syntax value, and sets the interpolated frame information. Here, the interpolation frame information is the number of frames to be interpolated. In addition, the decoder 120 may parse the bitstream, extract the mcbpc syntax value, and set the macroblock type. The decoding unit 120 may extract the horizontal_mv_data and vertical_mv_data syntax values and set the motion vector values.

본 명세서에서는 비트스트림이 MPEG-4 SP를 이용하여 부호화 및 디코딩되는 것을 가정하므로 각 신택스가 vop_time_increment, mcbpc, horizontal_mv_data, vertical_mv_data인 것으로 설명하고 있으나, 부호화 및 복호화 방식이 상이해지는 경우 보간 정보를 생성하기 위한 신택스가 상이해질 수 있음은 당연하다. 이는 당업자에게는 자명한 사항이므로 이에 대한 추가 설명은 생략하기로 한다.In the present specification, since the bitstream is encoded and decoded using MPEG-4 SP, each syntax is described as vop_time_increment, mcbpc, horizontal_mv_data, and vertical_mv_data. However, when encoding and decoding methods are different, interpolation information is generated. Naturally, the syntax can be different. Since this is obvious to those skilled in the art, further description thereof will be omitted.

인터폴레이션부(130)는 디코딩부(120)를 통해 디코딩된 프레임(이하 이해와 설명의 편의를 도모하기 위해 디코딩된 프레임을 “참조 프레임”으로 통칭함) 및 보간 정보를 이용하여 프레임을 보간한다. 보다 상세하게 인터폴레이션부(130)는 매크로블록 유형 및 비율 정보를 이용하여 보간 대상 프레임을 보간한다. 매크로블록 유형은 인트라(INTRA), 인터(INTER) 및 건너뜀(SKIP)이다. 비율 정보는 보간될 프레임(이하에서는 이해와 설명의 편의를 도모하기 위해 “보간 대상 프레임”이라 통칭함)과 참조 프레임들과의 비율이다. 이하, 본 명세서에서는 이해와 설명의 편의를 도모하기 위해 보간 대상 프레임에서 보간되는 픽셀을 보간 대상 픽셀로 통칭하여 설명하기로 한다.The interpolation unit 130 interpolates the frame using the frame decoded through the decoding unit 120 (hereinafter, referred to as a decoded frame as a “reference frame”) for easy understanding and explanation, and interpolation information. In more detail, the interpolation unit 130 interpolates an interpolation target frame using macroblock type and ratio information. Macroblock types are INTRA, INTER, and SKIP. The ratio information is a ratio between a frame to be interpolated (hereinafter referred to as "interpolation target frame" for convenience of understanding and explanation) and reference frames. Hereinafter, in the present specification, for convenience of understanding and explanation, the pixels interpolated in the interpolation target frame will be collectively described as interpolation target pixels.

이하, 인터폴레이션부(130)에 대해서는 도 2를 참조하여 보다 상세히 설명하기로 한다.Hereinafter, the interpolation unit 130 will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 실시예에 따른 인터폴레이션부의 내부 구성을 개략적으로 예시한 블록도이다. 2 is a block diagram schematically illustrating an internal configuration of an interpolation unit according to an embodiment of the present invention.

도 2를 참조하면, 인터폴레이션부(130)는 정보 획득부(210), 보간 처리부(220), 픽셀 패딩부(230) 및 제어부(240)를 포함하여 구성된다.Referring to FIG. 2, the interpolation unit 130 includes an information acquisition unit 210, an interpolation processor 220, a pixel padding unit 230, and a controller 240.

정보 획득부(210)는 디코딩부(120)로부터 프레임 보간에 필요한 다양한 정보 들을 획득하여 보간 처리부(220)로 출력한다. 보다 상세하게 정보 획득부(210)는 보간 대상 프레임의 앞 프레임 및 뒤 프레임의 픽셀 정보, 뒤 프레임의 매크로블록의 정보 및 모션 벡터 정보, 보간 프레임 정보 등을 획득하여 보간 처리부(220)로 출력한다.The information obtaining unit 210 obtains various information required for frame interpolation from the decoding unit 120 and outputs the various information to the interpolation processing unit 220. In more detail, the information acquisition unit 210 obtains pixel information of the front frame and the rear frame of the interpolation target frame, information of the macroblock of the rear frame, motion vector information, interpolation frame information, and the like, and outputs the information to the interpolation processor 220. .

보간 처리부(220)는 보간 대상 프레임의 위치를 결정하고, 이를 이용하여 보간 대상 프레임의 비율 정보를 산출한다. 예를 들어, 연속하여 보간되는 보간 프레임 정보(즉, 보간 대상 프레임의 개수)가 4라고 가정하자. 그리고, 현재 시점에 보간되는 보간 대상 프레임이 보간 프레임 정보 중에서 첫번째 프레임이라고 가정하자. 이와 같은 경우, 앞 프레임과 뒤 프레임에 상응하는 비율 정보는 3:1이 된다. The interpolation processor 220 determines the position of the interpolation target frame and calculates ratio information of the interpolation target frame by using the interpolation processor 220. For example, assume that interpolation frame information (that is, the number of interpolation target frames) continuously interpolated is four. In addition, suppose that the interpolation target frame interpolated at the present time is the first frame of the interpolation frame information. In this case, the ratio information corresponding to the front frame and the rear frame is 3: 1.

보간 처리부(220)는 비율 정보 및 매크로블록 유형을 이용하여 보간 대상 프레임을 보간한다. 본 명세서에서 설명되는 보간 처리부(220)는 보간 대상 프레임의 뒤 참조 프레임의 매크로블록 유형을 기준으로 보간 대상 픽셀의 위치를 설정한다. 그리고, 보간 처리부(220)는 매크로블록 유형 및 비율 정보에 상응하여 보간 대상 픽셀의 픽셀 정보를 상이하게 산출할 수 있다. The interpolation processor 220 interpolates an interpolation target frame using ratio information and a macroblock type. The interpolation processor 220 described herein sets the position of the interpolation target pixel based on the macroblock type of the reference frame after the interpolation target frame. The interpolation processor 220 may calculate pixel information of the interpolation target pixel differently according to the macroblock type and ratio information.

본 명세서에서 뒤 참조 프레임은 시간 축을 기준으로 보간 대상 프레임보다 이전 시점의 프레임을 지칭한다. 또한, 앞 참조 프레임은 시간 축을 기존으로 보간 대상 프레임 이후의 프레임을 지칭하는 것으로 이해하여야 한다.In the present specification, the back reference frame refers to a frame before the interpolation target frame based on the time axis. In addition, it is to be understood that the preceding reference frame refers to a frame after the target frame of interpolation.

보간 처리부(220)는 뒤 참조 프레임의 매크로블록을 설정된 스캔라인 방향으로 스캔하여 확인하고, 당해 매크로블록의 유형에 상응하여 보간 대상 프레임을 각각 상이하게 보간할 수 있다.The interpolation processor 220 scans the macroblocks of the rear reference frames in the set scan line direction and checks the interpolation target frames according to the types of the macroblocks.

이하, 매크로블록의 유형에 따른 보간 방법에 대해 각각 설명하기로 한다.Hereinafter, interpolation methods according to types of macroblocks will be described.

(1)건너뜀 매크로블록(SKIP MB)(1) Skip Macroblock (SKIP MB)

보간 처리부(220)는 뒤 참조 프레임의 매크로블록 유형이 건너뜀 매크로블록이면, 보간 대상 프레임과 동일한 위치의 앞 참조 프레임 및 뒤 참조 프레임의 픽셀 정보와 비율 정보를 이용하여 보간 대상 프레임을 보간한다.The interpolation processor 220 interpolates the interpolation target frame using pixel information and ratio information of the front reference frame and the rear reference frame at the same position as the interpolation target frame if the macroblock type of the rear reference frame is the skipped macroblock.

예를 들어, 앞 참조 프레임의 픽셀 정보(즉, 픽셀값이 A)라고 가정하고, 뒤 참조 프레임의 픽셀 정보(즉, 픽셀 값)이 B라고 가정하자. 그리고, 보간 프레임 정보(즉, 보간될 프레임의 개수)가 4이고, 보간 대상 프레임이 보간 프레임 정보 중에서 첫번째 프레임이라고 가정하자. For example, assume that pixel information (ie, pixel value is A) of a previous reference frame and pixel information (ie, pixel value) of a later reference frame are B. Further, suppose that interpolation frame information (that is, the number of frames to be interpolated) is 4, and the interpolation target frame is the first frame among the interpolation frame information.

이와 같은 경우, 보간 처리부(220)는 해당 보간 대상 프레임의 해당 블록의 픽셀값을 다음과 같이 산출할 수 있다.In this case, the interpolation processor 220 may calculate the pixel value of the corresponding block of the corresponding interpolation frame as follows.

Figure 112008087197217-pat00001
Figure 112008087197217-pat00001

(2) 인트라 매크로블록(INTRA MB)(2) INTRA MB

보간 처리부(220)는 앞 참조 프레임과 뒤 참조 프레임 중에서 보간 대상 프레임과 인접한 참조 프레임을 이용하여 픽셀값을 기록한다. 보간 처리부(220)는 비율 정보를 산출하여 비율 정보가 임계치 미만이면 앞 참조 프레임을 이용하여 보간 대상 프레임의 픽셀값을 산출한다. 그러나 비율 정보가 임계치 이상이면, 보간 처리부(220)는 뒤 참조 프레임을 이용하여 보간 대상 프레임의 매크로블록의 픽셀값 을 산출한다.The interpolation processor 220 records pixel values by using a reference frame adjacent to the interpolation target frame among the previous reference frame and the rear reference frame. The interpolation processor 220 calculates the ratio information and calculates pixel values of the interpolation target frame using the preceding reference frame when the ratio information is less than the threshold. However, if the ratio information is greater than or equal to the threshold value, the interpolation processor 220 calculates a pixel value of the macroblock of the interpolation target frame by using a later reference frame.

예를 들어, 앞 참조 프레임의 픽셀 정보(즉, 픽셀값이 A)라고 가정하고, 뒤 참조 프레임의 픽셀 정보(즉, 픽셀 값)이 B라고 가정하자. 그리고, 보간 프레임 정보(즉, 보간될 프레임의 개수)가 4이고, 보간 대상 프레임이 보간 프레임 정보 중에서 첫번째 프레임이라고 가정하자.For example, assume that pixel information (ie, pixel value is A) of a previous reference frame and pixel information (ie, pixel value) of a later reference frame are B. Further, suppose that interpolation frame information (that is, the number of frames to be interpolated) is 4, and the interpolation target frame is the first frame among the interpolation frame information.

이와 같은 경우, 보간 대상 프레임의 매크로블록은 앞 참조 프레임의 픽셀 정보 및 비율 정보를 이용하여 산출된다.In such a case, the macroblock of the interpolation target frame is calculated using pixel information and ratio information of the previous reference frame.

(3) 인터 매크로블록(INTER MB)(3) Inter macroblock (INTER MB)

인터 매크로블록에는 각 매크로블록마다 모션벡터(MV: motion vector)값이 존재한다. 보간 처리부(220)는 인터 매크로블록의 처리를 위해 모션 벡터값을 정렬한다. 예를 들어, 모션 벡터값을 오름차순 또는 내림차순으로 정렬할 수 있다. 본 명세서에서는 이해와 설명의 편의를 도모하기 위해 보간 처리부(220)가 모션 벡터값을 오름차순으로 정렬하여 처리하는 것을 가정하여 이를 중점으로 설명하기로 한다.In the inter macroblock, a motion vector (MV) value exists for each macroblock. The interpolation processor 220 aligns the motion vector values for processing the inter macroblock. For example, the motion vector values may be sorted in ascending or descending order. In the present specification, for convenience of understanding and explanation, it will be described with an emphasis on the interpolation processing unit 220 in order to process motion vector values in ascending order.

또한, 본 명세서에서는 보간 처리부(220)가 모션 벡터값을 정렬한 후 인터 매크로블록에 상응하여 보간 대상 프레임의 매크로블록을 처리하는 것을 가정하여 이를 중점으로 설명하나, 구현 방법에 따라 모션 벡터에 대한 정렬 과정을 생략될 수도 있음은 당연하다.In the present specification, the interpolation processor 220 aligns the motion vector values and then processes the macroblocks of the interpolation target frame corresponding to the inter macroblock. Naturally, the alignment process may be omitted.

보간 처리부(220)는 모션 벡터값에 따라 인터 매크로블록에 상응하여 보간 대상 프레임의 대상 블록을 각각 상이하게 처리할 수 있다. The interpolation processor 220 may process the target blocks of the interpolation target frame differently according to the inter macroblocks according to the motion vector values.

가) 모션 벡터값이 제1 값인 경우A) When the motion vector value is the first value

보간 처리부(220)는 모션 벡터값이 제1 값이면, 뒤 참조 프레임의 픽셀 위치와 동일한 위치(즉, 보간 대상 프레임의 동일 위치)에 건너뜀 매크로블록의 처리와 동일한 방법으로 처리한다. 본 명세서에서 제1 값은 예를 들어, “0”일 수 있다.If the motion vector value is the first value, the interpolation processor 220 processes the skipped macroblock at the same position as the pixel position of the later reference frame (that is, the same position of the frame to be interpolated). In the present specification, the first value may be, for example, “0”.

보다 상세하게, 보간 처리부(220)는 모션 벡터값이 제1 값이면, 뒤 참조 프레임의 픽셀 위치가 보간 대상 프레임의 대상 블록의 위치로 설정한다. 그리고, 보간 처리부(220)는 대상 블록의 픽셀값은 앞 참조 프레임 및 뒤 참조 프레임의 픽셀 정보와 비율 정보를 이용하여 픽셀값을 산출한다.In more detail, when the motion vector value is the first value, the interpolation processor 220 sets the pixel position of the rear reference frame to the position of the target block of the interpolation target frame. The interpolation processor 220 calculates a pixel value of the pixel value of the target block using pixel information and ratio information of the previous reference frame and the rear reference frame.

나) 모션 벡터값이 제1 값이 아닌 경우(즉, 제1 값을 초과하는 경우)B) when the motion vector value is not the first value (ie, exceeds the first value).

보간 처리부(220)는 뒤 참조 프레임의 픽셀 위치와 모션 벡터에 비율 정보를 이용하여 보간 대상 프레임의 대상 블록의 위치를 설정한다. 보간 처리부(220)는 해당 대상 블록의 픽셀값은 뒤 참조 프레임의 픽셀 정보, 앞 참조 프레임의 모션 벡터에 상응하여 이동한 위치에 있는 픽셀 정보 및 비율 정보를 이용하여 산출한다. 이로 인해, 보간 대상 프레임의 대상 블록의 위치가 중복될 수도 있다. 이와 같은 경우, 보간 처리부(220)는 중복되는 대상 블록의 픽셀값은 산출되는 픽셀값으로 대체하여 처리할 수 있다.The interpolation processor 220 sets the position of the target block of the interpolation target frame by using the ratio information on the pixel position of the later reference frame and the motion vector. The interpolation processor 220 calculates pixel values of the target block by using pixel information of a later reference frame, pixel information at a position moved corresponding to the motion vector of the previous reference frame, and ratio information. For this reason, the position of the target block of the interpolation target frame may overlap. In such a case, the interpolation processor 220 may replace the pixel value of the overlapping target block with a pixel value that is calculated and process the same.

예를 들어, 뒤 참조 프레임의 픽셀 위치가 (10, 10)이고, 픽셀 값이 200이라 고 가정하자. 그리고, 뒤 참조 프레임의 모션 벡터의 크기가 (4,8)이라고 가정하자. 또한, 앞 참조 프레임의 픽셀 위치는 (14, 18)이고, 픽셀값은 100이라고 가정하자. 이와 같은 경우, 보간 대상 프레임의 대상 픽셀의 위치는 하기와 같다. 여기서, 보간 대상 프레임은 보간 프레임 정보(예를 들어, 4) 중에서 첫번째 프레임이라고 가정하자(즉, 연속 보간될 4개의 프레임 중에서 첫번째 보간될 프레임인 것으로 가정하자).For example, assume that the pixel position of the back reference frame is (10, 10) and the pixel value is 200. And, assume that the magnitude of the motion vector of the back reference frame is (4,8). Also assume that the pixel position of the preceding reference frame is (14, 18) and the pixel value is 100. In this case, the position of the target pixel of the interpolation target frame is as follows. Here, assume that the interpolation target frame is the first frame of interpolation frame information (for example, 4) (that is, assume that it is the first frame to be interpolated among four frames to be continuously interpolated).

Figure 112008087197217-pat00002
Figure 112008087197217-pat00002

즉, 대상 픽셀의 위치는 (13,16)으로 산출된다.That is, the position of the target pixel is calculated as (13, 16).

대상 픽셀의 픽셀값은

Figure 112008087197217-pat00003
와 같이 산출된다.The pixel value of the target pixel
Figure 112008087197217-pat00003
Is calculated as

이와 같이, 보간 처리부(220)는 매크로블록 유형 및 비율 정보를 이용하여 보간 대상 프레임을 보간한다.As such, the interpolation processor 220 interpolates the interpolation target frame using macroblock type and ratio information.

픽셀 패딩부(230)는 보간 처리부(220)에 의해 보간되지 않은 픽셀들에 대해 패딩(padding)한다. 예를 들어, 픽셀 패딩부(230)는 보간 대상 프레임을 스캔라인 방향으로 스캔하고, 인접한 주변 픽셀값들을 이용하여 대상 픽셀을 패딩한다. 만일 대상 픽셀과 인접한 주변 픽셀들(예를 들어, 상하좌우) 중 하나 이상의 픽셀이 보간된 경우, 보간된 픽셀값들의 평균값으로 대상 픽셀을 패딩할 수 있다. 이때, 대상 픽셀의 오류를 방지하기 위해 패딩에 의해 기록된 픽셀은 보간 처리부(220)에 의해 보간된 픽셀이 아니므로 대상 픽셀의 평균값 산출시 제외한다.The pixel padding unit 230 pads the pixels that are not interpolated by the interpolation processor 220. For example, the pixel padding unit 230 scans the interpolation target frame in the scan line direction and pads the target pixel using adjacent neighboring pixel values. If one or more pixels among neighboring pixels (eg, up, down, left, and right) adjacent to the target pixel are interpolated, the target pixel may be padded with an average value of the interpolated pixel values. In this case, in order to prevent errors of the target pixel, the pixel recorded by the padding is not a pixel interpolated by the interpolation processor 220 and thus excluded when calculating the average value of the target pixel.

만일 대상 픽셀에 인접한 주변 픽셀값들이 모두 기록되어 있지 않은 경우에는 해당 픽셀에 대해 패딩하지 않고, 스캔라인 방향으로의 패딩 과정이 완료된 후 패딩된 픽셀값을 이용하여 패딩할 수 있다.If the neighboring pixel values adjacent to the target pixel are not all recorded, the padding may be padded using the padded pixel value after the padding process in the scan line direction is completed without padding the corresponding pixel.

제어부(240)는 본 발명의 실시예에 따른 인터폴레이션부(130)의 내부 구성 요소들(예를 들어, 정보 획득부(210), 보간 처리부(220), 픽셀 패딩부(230) 등)을 제어한다.The controller 240 controls the internal components of the interpolation unit 130 (eg, the information acquisition unit 210, the interpolation processor 220, the pixel padding unit 230, etc.) according to the embodiment of the present invention. do.

도 3은 본 발명의 실시예에 따른 인터폴레이션 장치가 프레임을 보간하는 방법을 나타낸 순서도이고, 도 4 내지 도 7은 본 발명의 실시예에 따른 보간된 보간 대상 프레임을 예시한 도면이며, 도 8은 본 발명의 실시예에 따른 레이트 변형율을 예시한 도면이다. 이하, 일반적인 영상 복호 과정은 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다. 또한, 이하에서 수행되는 각각의 단계는 인터폴레이션 장치(100)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 인터폴레이션 장치로 통칭하여 설명하기로 한다.3 is a flowchart illustrating a method for interpolating frames by an interpolation apparatus according to an embodiment of the present invention, and FIGS. 4 to 7 illustrate interpolation target frames according to an embodiment of the present invention. A diagram illustrating a rate strain rate according to an embodiment of the present invention. Hereinafter, since a general video decoding process is obvious to those skilled in the art, a separate description thereof will be omitted. In addition, each step performed below is performed by each internal component of the interpolation apparatus 100, but will be collectively described as an interpolation apparatus for the convenience of understanding and explanation.

단계 310에서 인터폴레이션 장치(100)는 하나 이상의 참조 프레임에 대한 정보 및 보간 프레임 정보를 획득한다. 여기서, 참조 프레임에 대한 정보는 참조 프레임에 대한 픽셀정보 및 참조 프레임의 매크로블록에 대한 정보(즉, 매크로블록 유형), 모션벡터에 대한 정보 등일 수 있다. In operation 310, the interpolation apparatus 100 obtains information on one or more reference frames and interpolation frame information. The information on the reference frame may be pixel information on the reference frame, information on a macroblock of the reference frame (ie, macroblock type), information on a motion vector, and the like.

단계 315에서 인터폴레이션 장치(100)는 참조 프레임에 대한 정보 및 보간 프레임 정보를 이용하여 비율 정보를 산출한다.In operation 315, the interpolation apparatus 100 calculates ratio information by using the information about the reference frame and the interpolation frame information.

단계 320에서 인터폴레이션 장치(100)는 뒤 참조 프레임의 매크로블록 유형을 스캔라인 방향으로 확인한다.In operation 320, the interpolation apparatus 100 checks the macroblock type of the rear reference frame in the scanline direction.

만일 매크로블록 유형이 건너뜀 매크로블록이면, 단계 325에서 인터폴레이션 장치(100)는 보간 대상 프레임의 보간 대상 픽셀의 위치를 뒤 참조 프레임의 위치와 동일한 위치로 설정한다.If the macroblock type is a skipped macroblock, the interpolation apparatus 100 sets the position of the interpolation target pixel of the interpolation target frame to the same position as the position of a later reference frame in step 325.

단계 330에서 인터폴레이션 장치(100)는 뒤 참조 프레임과 앞 참조 프레임의 픽셀 정보 및 비율 정보를 이용하여 대상 픽셀의 픽셀값을 산출한다.In operation 330, the interpolation apparatus 100 calculates pixel values of the target pixel by using pixel information and ratio information of the back reference frame and the previous reference frame.

그러나 만일 매크로블록 유형이 인트라 매크로블록이면, 단계 335에서 인터폴레이션 장치(100)는 보간 대상 프레임의 대상 픽셀의 위치는 뒤 참조 프레임의 위치와 동일한 위치로 설정한다.However, if the macroblock type is an intra macroblock, in step 335, the interpolation apparatus 100 sets the position of the target pixel of the interpolation target frame to the same position as that of the later reference frame.

단계 340에서 인터폴레이션 장치(100)는 보간 대상 프레임과 인접한 참조 프레임의 픽셀 정보를 이용하여 보간 대상 픽셀의 픽셀값으로 산출한다.In operation 340, the interpolation apparatus 100 calculates the pixel value of the interpolation target pixel using pixel information of the reference frame adjacent to the interpolation target frame.

예를 들어, 비율 정보가 임계치 미만이면, 인터폴레이션 장치(100)는 대상 픽셀의 픽셀값으로 뒤 참조 프레임의 픽셀 정보를 이용한다. 그러나, 만일 비율 정보가 임계치 이상이면, 인터폴레이션 장치(100)는 대상 픽셀의 픽셀값으로 앞 참조 프레임의 픽셀 정보를 이용한다.For example, if the ratio information is less than the threshold, the interpolation apparatus 100 uses the pixel information of the later reference frame as the pixel value of the target pixel. However, if the ratio information is greater than or equal to the threshold, the interpolation apparatus 100 uses the pixel information of the previous reference frame as the pixel value of the target pixel.

단계 320의 확인 결과 매크로블록의 유형이 인터 매크로블록이면, 단계 345에서 인터폴레이션 장치(100)는 모션 벡터값를 미리 설정된 정렬 방식에 따라 정렬한다.If the result of the check in step 320 is the type of the macroblock is an inter macroblock, the interpolation apparatus 100 sorts the motion vector values according to a preset sorting method in step 345.

본 명세서에서는 이해와 설명의 편의를 도모하기 위해 모션 벡터값을 오름차순으로 정렬한 것을 가정하여 이를 중점으로 설명하기로 한다. 물론, 구현 방식에 따라 단계 345는 제외할 수도 있음은 당연하다.In the present specification, for convenience of understanding and explanation, it is assumed that motion vector values are arranged in ascending order. Of course, step 345 may be omitted depending on the implementation.

단계 350에서 인터폴레이션 장치(100)는 모션 벡터값이 제1 값인지 여부를 확인한다. 여기서, 제1 값은 “0”일 수 있다. 인터폴레이션 장치(100)는 모션 벡터값이 제1 값인지 아닌지에 따라 각각 상이하게 보간 대상 프레임을 보간할 수 있다.In operation 350, the interpolation apparatus 100 determines whether the motion vector value is the first value. Here, the first value may be "0". The interpolation apparatus 100 may interpolate the interpolation target frame differently depending on whether the motion vector value is the first value or not.

만일 모션 벡터값이 제1 값이면, 단계 355에서 인터폴레이션 장치(100)는 뒤 참조 프레임의 위치 정보를 대상 픽셀의 위치로 설정한다.If the motion vector value is the first value, in step 355, the interpolation apparatus 100 sets the position information of the back reference frame to the position of the target pixel.

단계 360에서 인터폴레이션 장치(100)는 뒤 참조 프레임과 앞 참조 프레임의 픽셀 정보 및 비율 정보를 이용하여 대상 픽셀의 픽셀값을 산출한다.In operation 360, the interpolation apparatus 100 calculates pixel values of the target pixel by using pixel information and ratio information of the rear reference frame and the front reference frame.

그러나 만일 모션 벡터값이 제1 값이 아니면, 단계 365에서 인터폴레이션 장치(100)는 뒤 참조 프레임의 픽셀 위치에 모션 벡터값에 비율 정보를 곱한 위치를 대상 픽셀의 위치로 설정한다.However, if the motion vector value is not the first value, in step 365, the interpolation apparatus 100 sets the position of the target pixel to the position of the pixel of the later reference frame multiplied by the motion vector value.

단계 370에서 인터폴레이션 장치(100)는 뒤 참조 프레임의 픽셀 정보, 앞 참조 프레임의 픽셀 위치에서 모션 벡터를 곱한 위치의 픽셀 위치의 픽셀 정보 및 비율 정보를 이용하여 대상 픽셀의 픽셀 값을 산출한다.In operation 370, the interpolation apparatus 100 calculates a pixel value of a target pixel using pixel information of a later reference frame, pixel information of a pixel position of a position multiplied by a motion vector from a pixel position of a previous reference frame, and ratio information.

단계 375에서 인터폴레이션 장치(100)는 보간 대상 프레임을 스캔라인 방향으로 스캔하여 보간되지 않은 픽셀들을 패딩한다.In operation 375, the interpolation apparatus 100 scans the interpolation target frame in the scanline direction to pad the uninterpolated pixels.

예를 들어, 인터폴레이션 장치(100)는 패딩 대상 픽셀의 인접한 보간된 픽셀 들을 이용하여 패딩 대상 픽셀을 패딩한다. 즉, 인터폴레이션 장치(100)는 패딩 대상 픽셀에 인접한 보간된 픽셀들의 평균값을 이용하여 패딩 대상 픽셀을 패딩할 수 있다. 이때 오류를 방지하기 위해 인터폴레이션 장치(100)는 보간되지 않은 픽셀값은 패딩시 이용하지 않을 수 있다. 그러나, 패딩 대상 픽셀에 인접한 주변 픽셀들이 모두 보간되지 않은 경우, 1차 패딩이 완료된 후 패딩된 픽셀들을 이용하여 패딩 대상 픽셀들을 패딩할 수 있다.For example, the interpolation apparatus 100 pads the padding target pixel using adjacent interpolated pixels of the padding target pixel. That is, the interpolation apparatus 100 may pad the padding target pixel by using an average value of interpolated pixels adjacent to the padding target pixel. In this case, in order to prevent an error, the interpolation apparatus 100 may not use the interpolated pixel value when padding. However, when all neighboring pixels adjacent to the padding pixel are not interpolated, the padding pixels may be padded using the padded pixels after the first padding is completed.

도 4 내지 도 7에 뒤 참조 프레임, 보간된 보간 대상 프레임 및 앞 참조 프레임이 예시되어 있다.4 to 7 illustrate a back reference frame, an interpolated interpolation target frame, and a front reference frame.

도 8에는 Akiyo 영상에 대한 RD(rate-distortion) 그래프가 예시되어 있다. 도 8의 Akiyo 영상에 대한 정보는 하기 표와 같다.8 illustrates a rate-distortion (RD) graph for an Akiyo image. Information about the Akiyo image of FIG. 8 is shown in the following table.

sequencesequence resolutionresolution frameframe thresholdthreshold MCSMCS AkiyoAkiyo 352 X 288352 x 288 300300 4040 55

도 8에서 보여지는 바와 같이, MPEG-4 기술에 비해 추가적인 압축 효율을 얻을 수 있음을 알 수 있다.As shown in Figure 8, it can be seen that additional compression efficiency can be obtained compared to the MPEG-4 technology.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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 invention as defined in the appended claims. It will be understood that the invention may be varied and varied without departing from the scope of the invention.

도 1은 본 발명의 실시예에 따른 인터폴레이션 장치의 내부 구성을 개략적으로 나타낸 블록도.1 is a block diagram schematically showing an internal configuration of an interpolation apparatus according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 인터폴레이션부의 내부 구성을 개략적으로 예시한 블록도.2 is a block diagram schematically illustrating an internal configuration of an interpolation unit according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 인터폴레이션 장치가 프레임을 보간하는 방법을 나타낸 순서도.3 is a flowchart illustrating a method in which an interpolation apparatus interpolates a frame according to an embodiment of the present invention.

도 4 내지 도 7은 본 발명의 실시예에 따른 보간된 보간 대상 프레임을 예시한 도면.4 to 7 illustrate interpolated interpolation target frames according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 레이트 변형율을 예시한 도면.8 illustrates a rate strain rate in accordance with an embodiment of the present invention.

Claims (17)

인터폴레이션 장치에 있어서,In an interpolation apparatus, 입력된 비트스트림을 복호하는 디코딩부;A decoder which decodes the input bitstream; 상기 디코딩부로부터 보간 프레임 정보, 하나 이상의 참조 프레임, 매크로블록 유형 및 모션 벡터값 중 하나 이상을 획득하는 정보 획득부-상기 매크로블록 유형은 뒤 참조 프레임의 매크로블록 유형임; 및An information obtaining unit obtaining one or more of interpolation frame information, at least one reference frame, a macroblock type, and a motion vector value from the decoding unit, wherein the macroblock type is a macroblock type of a later reference frame; And 상기 보간 프레임 정보를 이용하여 보간 대상 프레임의 비율 정보를 산출하고,Calculating ratio information of the interpolation target frame using the interpolation frame information; 상기 매크로블록 유형에 따라 상기 비율 정보, 상기 참조 프레임의 픽셀 정보 및 상기 모션 벡터값 중 하나 이상을 이용하여 보간 대상 프레임을 보간하는 보간 처리부를 포함하는 인터폴레이션 장치. And an interpolation processor configured to interpolate an interpolation target frame using at least one of the ratio information, the pixel information of the reference frame, and the motion vector value according to the macroblock type. 제1 항에 있어서,According to claim 1, 상기 보간 처리부에 의해 미보간된 픽셀들을 인접한 하나 이상의 픽셀을 이용하여 패딩하는 픽셀 패딩부를 더 포함하는 인터폴레이션 장치.And a pixel padding unit that pads the pixels that are not interpolated by the interpolation processor by using one or more adjacent pixels. 제1 항에 있어서,According to claim 1, 상기 보간 처리부는 상기 매크로블록 유형이 건너뜀 매크로블록(SKIP MB)이면, 상기 뒤 참조 프레임의 픽셀 위치와 동일한 위치를 보간 대상 프레임의 보간 대상 픽셀의 위치로 설정하고,If the macroblock type is a skipped macroblock (SKIP MB), the interpolation processor sets the same position as the pixel position of the back reference frame to the position of the interpolation target pixel of the interpolation target frame, 상기 뒤 참조 프레임과 앞 참조 프레임의 픽셀 정보에 상기 비율 정보를 곱하여 상기 보간 대상 픽셀의 픽셀 값으로 산출하는 것을 특징으로 하는 인터폴레이션 장치.And multiplying the ratio information by the pixel information of the back reference frame and the previous reference frame to calculate a pixel value of the interpolation target pixel. 제1 항에 있어서,According to claim 1, 상기 보간 처리부는 상기 매크로블록 유형이 인트라 매크로블록(INTRA MB)이면, 상기 뒤 참조 프레임의 픽셀 위치를 상기 보간 대상 프레임의 보간 대상 픽셀의 위치로 설정하고,If the macroblock type is an intra macroblock (INTRA MB), the interpolation processor sets the pixel position of the rear reference frame to the position of the interpolation target pixel of the interpolation target frame, 상기 뒤 참조 프레임 및 앞 참조 프레임 중에서 상기 보간 대상 프레임과 인접한 프레임의 픽셀 정보를 이용하여 상기 보간 대상 픽셀의 픽셀값을 설정하는 것을 특징으로 하는 인터폴레이션 장치.And a pixel value of the interpolation target pixel is set by using pixel information of a frame adjacent to the interpolation target frame among the rear reference frame and the front reference frame. 제1 항에 있어서,According to claim 1, 상기 보간 처리부는 상기 매크로블록 유형이 인터 매크로블록(INTER MB)이면, 상기 모션 벡터값에 따라 상이하게 보간 대상 프레임을 보간하는 것을 특징으로 하는 인터폴레이션 장치.And the interpolation processor interpolates an interpolation target frame differently according to the motion vector value when the macroblock type is an INTER MB. 제5 항에 있어서,6. The method of claim 5, 상기 보간 처리부는, 상기 매크로블록 유형이 인터 매크로블록(INTER MB)이면, 상기 뒤 참조 프레임의 픽셀 위치에서 상기 모션 벡터값을 상기 비율 정보로 곱하여 이동한 위치를 보간 대상 픽셀의 위치로 설정하고,The interpolation processor, when the macroblock type is an INTER MB, sets the moved position by multiplying the motion vector value by the ratio information at the pixel position of the later reference frame as the position of the interpolation target pixel. 상기 뒤 참조 프레임의 픽셀 정보 및 앞 참조 프레임의 픽셀 위치에 상기 모션 벡터값을 상기 비율 정보로 곱하여 이동한 위치의 픽셀 정보를 상기 비율 정보로 곱하여 상기 보간 대상 픽셀의 픽셀값을 산출하는 것을 특징으로 하는 인터폴레이션 장치. And calculating pixel values of the interpolation target pixel by multiplying pixel information of the rear reference frame and pixel positions of the previous reference frame by the motion vector value by the ratio information. Interpolation device. 제1 항에 있어서,According to claim 1, 상기 픽셀 패딩부는 보간되지 않은 픽셀을 인접한 하나 이상의 보간된 픽셀값의 평균값을 이용하여 패딩하는 것을 특징으로 하는 인터폴레이션 장치.And the pixel padding unit pads the non-interpolated pixels using an average value of at least one adjacent interpolated pixel value. 제1 항에 있어서,According to claim 1, 상기 보간 프레임 정보는 보간될 프레임의 개수인 것을 특징으로 하는 인터폴레이션 장치.The interpolation frame information is the number of frames to be interpolated. 인터폴레이션 장치가 스키핑된 프레임을 보간하는 방법에 있어서,In the interpolation apparatus interpolated skipped frame, 입력된 비트스트림을 복호하여, 보간 프레임 정보, 하나 이상의 참조 프레임, 매크로블록 유형 및 모션 벡터값 중 하나 이상을 획득하는 단계;Decoding the input bitstream to obtain one or more of interpolated frame information, one or more reference frames, a macroblock type, and a motion vector value; 상기 보간 프레임 정보를 이용하여 보간 대상 프레임의 비율 정보를 산출하는 단계; 및Calculating ratio information of an interpolation target frame using the interpolation frame information; And 상기 매크로블록 유형에 따라 상기 참조 프레임, 모션 벡터값 및 상기 비율 정보 중 하나 이상을 이용하여 상이하게 보간 대상 프레임을 보간하는 단계를 포함하는 프레임 보간 방법.And interpolating the interpolation target frame differently using at least one of the reference frame, the motion vector value, and the ratio information according to the macroblock type. 제9 항에 있어서,The method of claim 9, 상기 보간 대상 프레임을 보간하는 단계 이후에,After interpolating the interpolation target frame, 상기 보간 대상 프레임을 설정된 스캔라인 방향으로 스캔하여 미보간된 픽셀을 인접한 하나 이상의 보간된 픽셀들을 이용하여 패딩하는 단계를 더 포함하는 프레임 보간 방법.Scanning the interpolation target frame in a set scanline direction and padding the uninterpolated pixel using one or more adjacent interpolated pixels. 제10 항에 있어서,The method of claim 10, 상기 보간된 픽셀들을 이용하여 패딩하는 단계는,Padding using the interpolated pixels, 상기 미보간된 픽셀을 인접한 하나 이상의 보간된 픽셀들의 평균값을 이용하여 패딩하는 것을 특징으로 하는 프레임 보간 방법.And padding the uninterpolated pixel using an average value of one or more adjacent interpolated pixels. 제9 항에 있어서,The method of claim 9, 상기 매크로블록 유형은 뒤 참조 프레임의 매크로블록 유형이며,The macroblock type is a macroblock type of a later reference frame. 건너뜀 매크로블록(SKIP MB), 인트라 매크로블록(INTRA MB) 및 인터 매크로블록(INTER MB) 중 어느 하나인 것을 특징으로 하는 프레임 보간 방법.And a skip macroblock (SKIP MB), an intra macroblock (INTRA MB), or an inter macroblock (INTER MB). 제12 항에 있어서,The method of claim 12, 상기 매크로블록 유형이 상기 건너뜀 매크로블록이면, 상기 보간 대상 프레임을 보간하는 단계는,If the macroblock type is the skipped macroblock, interpolating the interpolation target frame may include: 상기 뒤 참조 프레임의 픽셀 위치를 상기 보간 대상 프레임의 보간 대상 픽셀의 위치로써 설정하는 단계; 및Setting a pixel position of the back reference frame as a position of an interpolation target pixel of the interpolation target frame; And 상기 뒤 참조 프레임과 앞 참조 프레임의 픽셀 정보에 상기 비율 정보를 곱하여 상기 보간 대상 픽셀의 픽셀값으로 산출하는 단계를 포함하는 것을 특징으로 하는 프레임 보간 방법.And multiplying the ratio information by the pixel information of the back reference frame and the previous reference frame to calculate a pixel value of the interpolation target pixel. 제12 항에 있어서,The method of claim 12, 상기 매크로블록 유형이 상기 인트라 매크로블록이면, 상기 보간 대상 프레임을 보간하는 단계는,If the macroblock type is the intra macroblock, interpolating the interpolation target frame may include: 상기 뒤 참조 프레임의 픽셀 위치를 상기 보간 대상 프레임의 보간 대상 픽셀 위치로써 설정하는 단계; 및Setting a pixel position of the back reference frame as an interpolation target pixel position of the interpolation target frame; And 상기 뒤 참조 프레임 및 앞 참조 프레임 중 상기 보간 대상 프레임에 인접한 참조 프레임의 픽셀 정보를 이용하여 상기 보간 대상 픽셀의 픽셀값을 산출하는 것을 특징으로 하는 프레임 보간 방법.And a pixel value of the interpolation target pixel is calculated by using pixel information of a reference frame adjacent to the interpolation target frame among the back reference frame and the previous reference frame. 제12 항에 있어서,The method of claim 12, 상기 매크로블록 유형이 상기 인터 매크로블록이면, 상기 보간 대상 프레임을 보간하는 단계는,If the macroblock type is the inter macroblock, interpolating the interpolation target frame may include: 상기 뒤 참조 프레임의 픽셀 위치에서 상기 모션 벡터값에 상기 비율 정보를 곱하여 이동된 위치를 상기 보간 대상 프레임의 보간 대상 픽셀의 위치로써 설정하는 단계; 및Setting the moved position by multiplying the motion vector value by the ratio information at the pixel position of the later reference frame as the position of the interpolation target pixel of the interpolation target frame; And 상기 뒤 참조 프레임의 픽셀 정보와 앞 참조 프레임의 픽셀 위치에서 상기 모션 벡터값에 상기 비율 정보를 곱하여 이동된 위치의 픽셀 정보에 상기 비율 정보를 곱하여 상기 보간 대상 픽셀의 픽셀값으로 산출하는 단계를 포함하는 것을 특징으로 하는 프레임 보간 방법.And calculating the pixel value of the pixel to be interpolated by multiplying the ratio information by the pixel information of the moved position by multiplying the motion vector value by the ratio information at the pixel position of the rear reference frame and the pixel position of the preceding reference frame. Frame interpolation method characterized in that. 제9 항에 있어서,The method of claim 9, 상기 보간 프레임 정보는 보간될 보간 대상 프레임의 개수인 것을 특징으로 하는 프레임 보간 방법.The interpolation frame information is the number of interpolation target frames to be interpolated. 스키핑된 프레임을 보간하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,In the recording medium recording a program that can be read by the digital processing device is implemented tangibly implemented by the digital processing device for interpolating the skipped frame, 입력된 비트스트림을 복호하여, 보간 프레임 정보, 하나 이상의 참조 프레임, 매크로블록 유형 및 모션 벡터값 중 하나 이상을 획득하는 단계;Decoding the input bitstream to obtain one or more of interpolated frame information, one or more reference frames, a macroblock type, and a motion vector value; 상기 보간 프레임 정보를 이용하여 보간 대상 프레임의 비율 정보를 산출하는 단계; 및Calculating ratio information of an interpolation target frame using the interpolation frame information; And 상기 매크로블록 유형에 따라 상기 참조 프레임, 모션 벡터값 및 상기 비율 정보 중 하나 이상을 이용하여 상이하게 보간 대상 프레임을 보간하는 단계를 수행하는 프로그램을 기록한 기록매체.And interpolating the interpolation target frame differently using at least one of the reference frame, the motion vector value, and the ratio information according to the macroblock type.
KR1020080129650A 2007-12-18 2008-12-18 Interpolation method and device KR100955430B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2008/007532 WO2009078686A2 (en) 2007-12-18 2008-12-18 Method and device for video coding and decoding
KR1020080129650A KR100955430B1 (en) 2008-12-18 2008-12-18 Interpolation method and device
US12/809,025 US8848794B2 (en) 2007-12-18 2008-12-18 Method and device for video coding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080129650A KR100955430B1 (en) 2008-12-18 2008-12-18 Interpolation method and device

Publications (1)

Publication Number Publication Date
KR100955430B1 true KR100955430B1 (en) 2010-05-04

Family

ID=42281319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080129650A KR100955430B1 (en) 2007-12-18 2008-12-18 Interpolation method and device

Country Status (1)

Country Link
KR (1) KR100955430B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007038697A2 (en) 2005-09-27 2007-04-05 Qualcomm Incorporated Frame interpolation using more accurate motion information
KR20070039432A (en) * 2005-10-08 2007-04-12 삼성전자주식회사 Image interpolation apparatus and method thereof
WO2008014288A2 (en) 2006-07-25 2008-01-31 Qualcomm Incorporated Adaptive video frame interpolation
KR20090012957A (en) * 2007-07-31 2009-02-04 경희대학교 산학협력단 Method for resizing image using interpolation filter selected in block transform domain based on characteristic of image

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007038697A2 (en) 2005-09-27 2007-04-05 Qualcomm Incorporated Frame interpolation using more accurate motion information
KR20070039432A (en) * 2005-10-08 2007-04-12 삼성전자주식회사 Image interpolation apparatus and method thereof
WO2008014288A2 (en) 2006-07-25 2008-01-31 Qualcomm Incorporated Adaptive video frame interpolation
KR20090012957A (en) * 2007-07-31 2009-02-04 경희대학교 산학협력단 Method for resizing image using interpolation filter selected in block transform domain based on characteristic of image

Similar Documents

Publication Publication Date Title
US10701355B2 (en) Method and apparatus of directional intra prediction
US10390037B2 (en) Video coding/decoding with sub-block transform sizes and adaptive deblock filtering
US20200221101A1 (en) Image encoder and decoder using unidirectional prediction
JP2991833B2 (en) Interlace scanning digital video signal encoding apparatus and method
US7426308B2 (en) Intraframe and interframe interlace coding and decoding
CN102017615B (en) Boundary artifact correction within video units
US8625669B2 (en) Predicting motion vectors for fields of forward-predicted interlaced video frames
JP4474288B2 (en) Defining an interpolation filter for error concealment in coded images
TW301098B (en)
EP1773071A2 (en) Method of and apparatus for lossless video encoding and decoding
US8107531B2 (en) Signaling and repeat padding for skip frames
KR101683434B1 (en) Image processing device, decoding method, intra-frame decoder, intra-frame decoding method, and intra-frame encoder
US20150229965A1 (en) Intra-prediction method, and encoder and decoder using same
KR100446083B1 (en) Apparatus for motion estimation and mode decision and method thereof
US7822123B2 (en) Efficient repeat padding for hybrid video sequence with arbitrary video resolution
US20030128753A1 (en) Optimal scanning method for transform coefficients in coding/decoding of image and video
US20090097560A1 (en) System for and method of transcoding video sequences from a first format to a second format
US7889789B2 (en) Making interlace frame level coding mode decisions
US20130188691A1 (en) Quantization matrix design for hevc standard
US7839933B2 (en) Adaptive vertical macroblock alignment for mixed frame video sequences
US11882292B2 (en) Image encoder and decoder using unidirectional prediction
US8848794B2 (en) Method and device for video coding and decoding
KR100955430B1 (en) Interpolation method and device
JP4222274B2 (en) Encoding mode selection device and encoding mode selection program
KR100916996B1 (en) Image processing apparatus and method, lcd overdrive system using the same

Legal Events

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

Payment date: 20130405

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140403

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee