KR20190014381A - Image processing method and display device using the same - Google Patents

Image processing method and display device using the same Download PDF

Info

Publication number
KR20190014381A
KR20190014381A KR1020170098132A KR20170098132A KR20190014381A KR 20190014381 A KR20190014381 A KR 20190014381A KR 1020170098132 A KR1020170098132 A KR 1020170098132A KR 20170098132 A KR20170098132 A KR 20170098132A KR 20190014381 A KR20190014381 A KR 20190014381A
Authority
KR
South Korea
Prior art keywords
motion vector
block
image
frame
motion
Prior art date
Application number
KR1020170098132A
Other languages
Korean (ko)
Other versions
KR102465557B1 (en
Inventor
조성호
Original Assignee
엘지디스플레이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지디스플레이 주식회사 filed Critical 엘지디스플레이 주식회사
Priority to KR1020170098132A priority Critical patent/KR102465557B1/en
Publication of KR20190014381A publication Critical patent/KR20190014381A/en
Application granted granted Critical
Publication of KR102465557B1 publication Critical patent/KR102465557B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

According to the present invention, an image processing method comprises the steps of: classifying blocks included in a first image into one or more clusters based on brightness information and edge direction information of a block; calculating a first motion vector indicating a corresponding block by finding the corresponding block having the minimum difference value in a second image temporally adjacent to the first image for each block; finding a representative motion vector and a credit value for each cluster including at least one block based on the first motion vector; and selecting a final motion vector among candidate motion vectors including the at least one motion vector and the representative motion vector using the representative motion vector and the credit value for each block. Accordingly, the image quality of an interpolation image can be improved and an artifact can be reduced by accurately estimating a motion vector in a boundary part of two objects.

Description

영상 처리 방법 및 이를 이용한 표시 장치{IMAGE PROCESSING METHOD AND DISPLAY DEVICE USING THE SAME}TECHNICAL FIELD [0001] The present invention relates to an image processing method and a display device using the image processing method.

본 발명은 영상 처리 방법 및 이를 이용한 표시 장치에 관한 것이다.The present invention relates to an image processing method and a display device using the same.

정보화 사회로 진행함에 따라 화상을 표시하기 위한 표시 장치에 대한 요구가 다양해지고 있으며, 근래에는 액정 표시 장치(LCD: Liquid Crystal Display), 유기 발광 다이오드 표시 장치(OLED: Organic Light Emitting Diode)와 같은 여러 평판 표시 장치가 널리 사용되고 있다.2. Description of the Related Art [0002] There have been various demands for a display device for displaying images as an information society has advanced. In recent years, various displays such as a liquid crystal display (LCD) and an organic light emitting diode (OLED) Flat panel display devices are widely used.

표시 장치의 데이터 처리 능력이 향상되고, 높은 품질의 화면에 대한 사용자의 요구가 커지면서, 단위 시간에 표시하는 프레임의 개수를 높이는 프레임 레이트 업 변환 기술(Frame Rate Up Conversion)이 평면 표시 장치에 적용되고 있다. 이 기술은 이미지에 포함된 대상(또는 오브젝트)이 움직일 때 발생하는 블러(Blur)나 흔들림(Judder)를 제거하기 위해 입력되는 이미지 사이에 중간 이미지 또는 보간(Interpolation) 이미지를 생성하여 삽입하는 기술이다. 특히, 잔상이 남는 액정 표시 장치에 이 기술의 효용이 높다.A frame rate up conversion technique for increasing the number of frames to be displayed per unit time is applied to a flat display device while the data processing capability of the display device is improved and the user's demand for a high quality screen is increased have. This technique is a technique for creating an intermediate image or an interpolation image between input images to eliminate blur or judder that occurs when an object (or object) included in the image moves . Particularly, this technique is highly effective for a liquid crystal display device in which a residual image remains.

프레임 레이트를 높이기 위해서는, 연속되는 이미지 사이에 오브젝트의 움직임을 표현한 값, 즉 모션 벡터(Motion Vector: MV)를 추정(Motion Estimation: ME)하고 이를 보정하는(Motion Compensation: MC) 과정을 거쳐 보간 이미지를 생성한다.In order to increase the frame rate, a motion estimation (ME) is performed on a value representing a motion of an object between consecutive images, that is, a motion vector (MV), and a motion compensation (MC) .

이러한 모션 추정 과정에서는 같은 오브젝트가 차지하는 블록마다 같은 모션 벡터를 유지하는 것이 중요하다. 이를 위해서, 각 블록에 대해 후보 모션 벡터(Candidate MV)를 선정하고 이 중 최종 모션 벡터를 선택하는데, 최종 모션 벡터를 선택하는 과정에서 주변 블록의 모션 벡터를 이용하고 블록 사이 휘도 유사성을 비교한다. 즉, 비슷한 특성을 가지는 주변 블록의 모션 벡터를 후보 모션 벡터로 설정하여 모션 추정 과정을 진행한다.In this motion estimation process, it is important to maintain the same motion vector for each block occupied by the same object. To do this, a candidate motion vector is selected for each block and the final motion vector is selected. In the process of selecting the final motion vector, the motion vectors of the neighboring blocks are used and the brightness similarity between blocks is compared. That is, a motion vector of a neighboring block having similar characteristics is set as a candidate motion vector, and a motion estimation process is performed.

또한, 모션 추정 과정에서 보간 이미지에 데이터를 채우지 못하는 블록, 즉 홀(Hole) 블록이 발생할 수 있고, 이러한 홀 블록을 채우기 위해서는 일반적으로 홀 주변 블록의 모션 벡터를 활용한다.In addition, a block that can not fill the interpolation image with data in the motion estimation process, that is, a hole block, may be generated. In order to fill such a hole block, the motion vector of the hole neighboring block is generally utilized.

하지만, 후보 모션 벡터를 선정하기 위해 위, 아래, 양 옆의 주변 블록의 모션 벡터를 활용하는데, 주변 블록이 항상 같은 오브젝트에 해당할 수는 없다. 오브젝트가 블록에 걸쳐 있거나 옆 블록에 오브젝트의 경계가 위치하게 되면, 다른 오브젝트의 모션 벡터를 참조하게 되어 모션 벡터를 부정확하게 추정하게 되고, 최종 보간 이미지에서 아티팩트(Artifact)가 발생하여 영상 품질이 떨어지게 된다.However, in order to select the candidate motion vector, the motion vectors of the neighboring blocks on the upper, lower, and both sides are utilized, and the neighboring blocks can not always correspond to the same object. When the object is located on a block or the boundary of the object is located in the adjacent block, the motion vector of another object is referred to, and the motion vector is inaccurately estimated. Artifacts are generated in the final interpolated image, do.

본 발명은 이러한 상황을 감안한 것으로, 본 발명의 목적은 프레임 레이트를 높이기 위해 보간 이미지를 생성할 때 모션 벡터를 정확하게 추정하는 영상 처리 방법 및 영상 처리 장치를 제공하는 데 있다.It is an object of the present invention to provide an image processing method and an image processing apparatus for accurately estimating a motion vector when an interpolation image is generated to increase the frame rate.

본 발명의 일 실시예에 따른 영상 처리 방법은, 블록의 휘도 정보와 에지 방향 정보를 근거로 제1 이미지에 포함된 블록들을 하나 이상의 클러스터로 분류하는 단계; 각 블록에 대해 제1 이미지에 시간적으로 인접하는 제2 이미지에서 차이 값이 최소가 되는 대응 블록을 찾아 대응 블록을 가리키는 1차 모션 벡터를 계산하는 단계; 1차 모션 벡터들을 근거로, 적어도 하나 이상의 블록을 포함하는 각 클러스터에 대해 대표 모션 벡터와 신용 값을 구하는 단계; 및 각 블록에 대해, 대표 모션 벡터와 신용 값을 이용하여, 적어도 1차 모션 벡터와 대표 모션 벡터를 포함하는 후보 모션 벡터들 중에서 최종 모션 벡터를 선택하는 단계를 포함하여 이루어지는 것을 특징으로 한다.According to an embodiment of the present invention, there is provided a method of processing an image, the method comprising: classifying blocks included in a first image into one or more clusters based on luminance information and edge direction information of the block; Calculating, for each block, a first motion vector indicating a corresponding block by finding a corresponding block with a minimum difference value in a temporally adjacent second image in the first image; Obtaining a representative motion vector and a credit value for each cluster including at least one block based on the primary motion vectors; And selecting, for each block, a final motion vector from the candidate motion vectors including at least the primary motion vector and the representative motion vector, using the representative motion vector and the credit value.

일 실시예에서, 휘도 정보는 전체 휘도 범위를 소정 개수로 나눈 구간 중 하나를 가리키고, 에지 방향 정보는 180도를 4등분한 것과 무방향 중 하나를 가리킬 수 있다.In one embodiment, the luminance information indicates one of the sections divided by a predetermined number of the entire luminance ranges, and the edge direction information can indicate one of four halves of the 180 degrees and a non-direction.

일 실시예에서, 분류하는 단계는, 각 블록에 대해, 휘도 정보와 에지 방향 정보의 조합으로 가능한 클러스터 중에서, 해당 블록의 휘도와 에지 방향의 조합에 해당하는 클러스터로 분류할 수 있다.In one embodiment, the classifying step can be classified into clusters corresponding to combinations of the luminance and edge directions of the blocks among the clusters that can be obtained by combining luminance information and edge direction information for each block.

일 실시예에서, 분류하는 단계는, 블록에 소벨 필터를 적용하여 블록 내 에지 방향을 구하고 그 중에서 빈도가 가장 높은 방향을 해당 블록의 에지 방향으로 선정할 수 있다.In one embodiment, the sorting step may include applying a Sobel filter to a block to obtain an edge direction within the block, and selecting the direction with the highest frequency as the edge direction of the block.

일 실시예에서, 선택하는 단계는, 각 블록에 대해, 해당 블록에 추가된 각 후보 모션 벡터에 대해 해당 후보 모션 벡터와 이에 대응되는 대응 블록과의 차이 값 및 해당 블록이 속하는 클러스터의 대표 모션 벡터와 신용 값을 근거로 구한 페널티 값의 합을 구하고, 그 합이 가장 작은 후보 모션 벡터를 해당 블록에 대한 최종 모션 벡터로 선택할 수 있다.In one embodiment, for each block, for each block, for each candidate motion vector added to the block, the difference between the corresponding candidate motion vector and the corresponding block corresponding thereto and the representative motion vector of the cluster to which the block belongs And the penalty value obtained based on the credit value, and the candidate motion vector having the smallest sum can be selected as the final motion vector for the block.

일 실시예에서, 페널티 값은 후보 모션 벡터와 대표 모션 벡터의 차이 값에 신용 값을 곱하여 구한 값일 수 있다.In one embodiment, the penalty value may be a value obtained by multiplying the difference between the candidate motion vector and the representative motion vector by a credit value.

일 실시예에서, 구하는 단계는, 해당 클러스터에 포함되는 블록들에 대해 계산된 1차 모션 벡터들의 평균을 해당 클러스터에 대한 대표 모션 벡터로 계산하고, 1차 모션 벡터들의 편차에 반비례하는 값을 해당 클러스터에 대한 신용 값으로 계산할 수 있다.In one embodiment, the step of obtaining comprises calculating an average of the primary motion vectors calculated for the blocks included in the cluster as a representative motion vector for the cluster, and calculating a value inversely proportional to the deviation of the primary motion vectors It can be calculated as the credit value for the cluster.

일 실시예에서, 후보 모션 벡터는 해당 블록의 1차 모션 벡터와 해당 블록이 포함된 클러스터의 대표 모션 벡터를 포함하고, 글로벌 모션 벡터, 주변 블록의 모션 벡터, 제로 모션 벡터 및 1차 모션 벡터의 변형 모션 벡터 중 하나 이상을 더 포함할 수 있다.In one embodiment, the candidate motion vector includes the primary motion vector of the block and the representative motion vector of the cluster containing the block, and the global motion vector, the motion vector of the neighboring block, the zero motion vector, And may further include at least one of the modified motion vectors.

일 실시예에서, 영상 처리 방법은 최종 모션 벡터를 이용하여, 제1 이미지와 제2 이미지 사이에 삽입될 중간 이미지를 생성하는 단계를 더 포함하여 이루어질 수 있다.In one embodiment, the image processing method may further comprise generating an intermediate image to be inserted between the first image and the second image using the final motion vector.

본 발명의 다른 실시예에 따른 영상 처리 장치는, 시간적으로 연속되는 제1 프레임과 제2 프레임으로부터 모션 벡터를 생성하기 위한 모션 추정부; 및 생성된 모션 벡터를 이용하여 제1 프레임과 제2 프레임 사이에 삽입될 중간 프레임의 이미지 데이터를 보정하기 위한 모션 보상부를 포함하여 구성되고, 모션 추정부는, 블록의 휘도 정보와 에지 방향 정보를 근거로 제1 이미지에 포함된 블록들을 하나 이상의 클러스터로 분류하기 위한 클러스터링부; 각 블록에 대해 제2 이미지에서 차이 값이 최소가 되는 대응 블록을 찾아 대응 블록을 가리키는 1차 모션 벡터를 계산하기 위한 1차 모션 벡터 선택부; 1차 모션 벡터들을 근거로, 적어도 하나 이상의 블록을 포함하는 각 클러스터에 대해 대표 모션 벡터와 신용 값을 구하기 위한 대표 모션 벡터 생성부; 및 각 블록에 대해, 대표 모션 벡터와 신용 값을 이용하여, 적어도 1차 모션 벡터와 대표 모션 벡터를 포함하는 후보 모션 벡터들 중에서 최종 모션 벡터를 선택하기 위한 최종 모션 벡터 선택부를 포함하여 구성되는 것을 특징으로 한다.According to another aspect of the present invention, there is provided an image processing apparatus comprising: a motion estimator for generating a motion vector from a temporally successive first frame and a second frame; And a motion compensator for correcting the image data of the intermediate frame to be inserted between the first frame and the second frame using the generated motion vector, wherein the motion estimator is configured to calculate, based on the luminance information and the edge direction information of the block, A clustering unit for classifying the blocks included in the first image into one or more clusters; A first motion vector selection unit for calculating a first motion vector indicating a corresponding block by finding a corresponding block having a minimum difference value in the second image for each block; A representative motion vector generation unit for obtaining a representative motion vector and a credit value for each cluster including at least one block based on the primary motion vectors; And a final motion vector selection unit for selecting a final motion vector among the candidate motion vectors including at least the primary motion vector and the representative motion vector using the representative motion vector and the credit value for each block .

본 발명의 또 다른 실시예에 다른 표시 장치는, 데이터 라인들과 게이트 라인들이 교차하고 매트릭스 형태로 형성되는 픽셀들을 포함하는 표시 패널; 입력되는 영상 데이터를 모션 추정과 모션 보상을 통해 보간 처리하기 위한 영상 처리부; 영상 처리부가 출력하는, 프레임 레이트가 2배가 되는 영상 데이터를 수신할 때, 제어 신호들을 동작 속도가 2배가 되도록 조절하기 위한 타이밍 컨트롤러; 타이밍 컨트롤러의 제어에 따라 타이밍 컨트롤러로부터 입력되는 영상 데이터를 데이터 전압으로 변환하여 데이터 라인들에 출력하기 위한 데이터 구동 회로; 및 타이밍 컨트롤러의 제어에 따라 데이터 전압에 동기되는 스캔 펄스를 생성하여 게이트 라인들에 순차적으로 공급하기 위한 게이트 구동 회로를 포함하여 구성되고, 영상 처리부는, 블록의 휘도 정보와 에지 방향 정보를 근거로 제1 이미지에 포함된 블록들을 하나 이상의 클러스터로 분류하고, 각 블록에 대해 제1 이미지에 시간적으로 인접하는 제2 이미지에서 차이 값이 최소가 되는 대응 블록을 찾아 대응 블록을 가리키는 1차 모션 벡터를 계산하고, 1차 모션 벡터들을 근거로, 적어도 하나 이상의 블록을 포함하는 각 클러스터에 대해 대표 모션 벡터와 신용 값을 구하고, 각 블록에 대해, 대표 모션 벡터와 신용 값을 이용하여, 적어도 1차 모션 벡터와 대표 모션 벡터를 포함하는 후보 모션 벡터들 중에서 최종 모션 벡터를 선택하기 위한 모션 추정부; 및 생성된 최종 모션 벡터를 이용하여 제1 프레임과 제2 프레임 사이에 삽입될 중간 프레임의 이미지 데이터를 보정하기 위한 모션 보상부를 포함하여 구성되는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a display device including: a display panel including pixels intersecting data lines and gate lines and formed in a matrix; An image processor for interpolating input image data through motion estimation and motion compensation; A timing controller for adjusting the control signals so that the operation speed is doubled when receiving video data output by the video processing unit and having a doubled frame rate; A data driving circuit for converting image data input from the timing controller into data voltages in accordance with the control of the timing controller and outputting the data voltages to data lines; And a gate driving circuit for generating a scan pulse synchronized with the data voltage in accordance with the control of the timing controller and sequentially supplying the scan pulse to the gate lines, and the image processing unit is configured to perform, based on the brightness information and the edge direction information of the block For each block, a first motion vector pointing to the corresponding block is found by finding a corresponding block in which the difference value is the smallest in the second image temporally adjacent to the first image Calculating a representative motion vector and a credit value for each cluster including at least one block based on the primary motion vectors and for each block using at least a primary motion vector and a credit value, A motion estimation for selecting a final motion vector among the candidate motion vectors including the vector and the representative motion vector .; And a motion compensator for correcting the image data of the intermediate frame to be inserted between the first frame and the second frame using the generated final motion vector.

따라서, 두 물체의 경계 부분에서 모션 벡터를 정확하게 추정하여 아티팩트가 발생하는 것을 줄이고 보간 이미지의 화질을 향상시킬 수 있게 된다.Accordingly, it is possible to accurately estimate the motion vector at the boundary between two objects, to reduce the occurrence of artifacts, and to improve the image quality of the interpolation image.

도 1은 연속하는 두 이미지로부터 모션을 추정하여 보간 이미지를 생성하는 모션 추정과 모션 보상 과정을 도시한 것이고,
도 2는 모션 추정 과정을 블록으로 도시한 것이고,
도 3a와 도 3b는 모션 추정에 따라 생성된 모션 벡터들 중에서 최종 모션 벡터를 선택하는 과정을 도시한 것이고,
도 4a와 도 4b는 보간 이미지에서 두 오브젝트의 경계에 아티팩트가 발생하는 예를 도시한 것이고,
도 5는 본 발명의 일 실시예에 따른 영상 처리 방법이 적용되는 표시 장치를 블록으로 도시한 것이고,
도 6a와 도 6b는 블록의 에지 방향과 휘도를 이용하여 프레임 내의 블록들을 클러스터링(Clustering) 하는 방법을 도시한 것이고,
도 7은 본 발명에 따른 영상 처리부의 구성을 블록으로 도시한 것이고,
도 8은 본 발명에 따른 모션 추정 방법에 대한 동작 흐름도를 도시한 것이고,
도 9a와 도 9b는 본 발명에 따라 모션 벡터를 추정하여 생성한 보간 이미지를 도시한 것이다.
FIG. 1 shows a motion estimation and motion compensation process for generating an interpolation image by estimating motion from two successive images,
2 is a block diagram illustrating a motion estimation process,
3A and 3B illustrate a process of selecting a final motion vector among motion vectors generated according to motion estimation,
Figs. 4A and 4B show an example in which an artifact occurs at the boundary between two objects in an interpolation image,
5 is a block diagram of a display device to which an image processing method according to an embodiment of the present invention is applied,
6A and 6B illustrate a method of clustering blocks in a frame using the edge direction and luminance of the block,
FIG. 7 is a block diagram showing a configuration of an image processing unit according to the present invention,
8 is a flowchart illustrating an operation of the motion estimation method according to the present invention,
9A and 9B illustrate an interpolation image generated by estimating a motion vector according to the present invention.

이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들을 상세히 설명한다. 명세서 전체에 걸쳐서 동일한 참조번호들은 실질적으로 동일한 구성 요소들을 의미한다. 이하의 설명에서, 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Like reference numerals throughout the specification denote substantially identical components. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

도 1은 연속하는 두 이미지로부터 모션을 추정하여 보간 이미지를 생성하는 모션 추정과 모션 보상 과정을 도시한 것이고, 도 2는 모션 추정 과정을 블록으로 도시한 것이고, 도 3a와 도 3b는 모션 추정에 따라 생성된 모션 벡터들 중에서 최종 모션 벡터를 선택하는 과정을 도시한 것이다.FIG. 1 shows a motion estimation and motion compensation process for generating an interpolation image by estimating motion from two consecutive images. FIG. 2 is a block diagram showing a motion estimation process, and FIGS. And a final motion vector is selected from among the generated motion vectors.

모션 추정(ME)과 모션 보정(MC)은, 도 1에 도시한 것과 같이, 연속하는 두 이미지(또는 프레임)(Frame(n), Frame(n+1))를 비교하여 프레임 내 오브젝트의 모션 벡터를 추정하고, 추정된 모션 벡터를 이용하여 모션 벡터를 보상하여, 두 프레임 사이에 보간된 프레임(Frame(n+0.5))을 생성하는 것이다.The motion estimation ME and the motion compensation MC compare two consecutive images (or frames) Frame (n) and Frame (n + 1), as shown in Fig. 1, Estimates the vector and compensates the motion vector using the estimated motion vector to generate an interpolated frame (Frame (n + 0.5)) between the two frames.

프레임 보간을 위해 모션 벡터를 얻는 과정에서, 앞/뒤 프레임(Frame(n), Frame(n+1))을 비교하여 두 프레임에 위치하는 같은 또는 유사한 오브젝트의 이동 값, 즉 모션 벡터를 얻고, 이를 중간 프레임(Frame(n+0/5))의 그리드(Grid)로 이동시켜(그리드 매핑(Grid Mapping) 또는 블록 매핑), 중간 프레임에서 블록 또는 그리드 단위로 모션 벡터를 생성한다. 여기서 블록은 4x4 또는 8x8 크기의 픽셀 모임일 수 있다.In the process of obtaining the motion vector for frame interpolation, the motion values of the same or similar objects located in two frames, i.e., the motion vectors, are obtained by comparing the front / rear frames (Frame (n) and Frame (n + 1) (Grid mapping or block mapping) to a grid of an intermediate frame (Frame (n + 0/5)), and motion vectors are generated in block or grid units in the intermediate frame. Where the block may be a 4x4 or 8x8 pixel group.

중간 프레임(Frame(n+0/5))에 대해 생성한 모션 벡터를 근거로 이전 프레임(Frame(n))과 다음 프레임(Frame(n+1))을 각각 이용하여 2개의 중간 프레임을 생성하고, 이를 서로 비교하여 그 차이가 작게 되도록 중간 프레임(Frame(n+0.5))의 이미지 데이터를 보정하여 출력할 수 있다.Two intermediate frames are generated using the previous frame (Frame (n)) and the next frame (Frame (n + 1)) based on the motion vector generated for the intermediate frame (Frame (n + 0/5) , And the image data of the intermediate frame (Frame (n + 0.5)) is corrected and output so that the difference is small.

도 2는 이러한 모션 추정 과정을 구체적으로 설명하는데, 앞/뒤 프레임(Frame(n), Frame(n+1))이 입력되면, 앞 프레임 내의 각 블록에 대해 블록 단위로 뒤 프레임에서 유사한 블록을 찾는데, 모션 벡터를 구하려는 앞 프레임의 한 블록(또는 현재 블록)을 뒤 프레임 내 소정 서치 범위(Search Range) 내에서 픽셀 단위로 이동시킨 블록들과 비교하여, 대응되는 픽셀마다 휘도 차의 절대 값을 구하고 블록에 포함된 모든 픽셀마다 구한 차이의 절대 값의 합(Sum of Absolute Difference: SAD)을 계산한다(Block SAD Calculation).The motion estimation process will be described in detail with reference to FIG. 2. When a previous frame (Frame (n), Frame (n + 1)) is input, (Or the current block) of the previous frame for which the motion vector is to be obtained is compared with the blocks shifted in pixel units within a predetermined search range (Search Range) in the subsequent frame, and the absolute value of the luminance difference And calculates the sum of absolute differences (SAD) for all the pixels included in the block (Block SAD Calculation).

뒤 프레임 내 서치 범위 내에서 픽셀 단위로 이동한 각 블록에 대한 SAD 값을 비교하여, 최소 값을 갖는 블록을 선택한다(Minimum SAD Cost Selection). 최소 값을 갖는 뒤 프레임의 블록이 앞 프레임의 현재 블록과 가장 유사한 블록이라고 할 수 있고, 현재 블록과 선택된 블록 사이의 위치 값을 기초로 현재 블록에 대한 1차 모션 벡터를 얻을 수 있다.The minimum SAD cost selection is selected by comparing the SAD values for each block moved in pixel units within the search range within the next frame. The block of the next frame having the minimum value is the block most similar to the current block of the previous frame and the primary motion vector for the current block can be obtained based on the position value between the current block and the selected block.

최소 SAD 선택 과정을 통해 추출한 1차 모션 벡터에, 최종 모션 벡터가 될 수 있는 후보 모션 벡터를 추가하는 과정을 거친다(Candidate MV Addition). 여러 방법이 가능하지만, 일반적으로 1차 모션 벡터, 주변 블록의 모션 벡터, 글로벌 모션 벡터(Global MV), 제로 벡터(Zero Vector) 등이 후보 모션 벡터로 추가될 수 있다. 글로벌 모션 벡터는 앞/뒤 프레임 데이터와 함께 주어질 수 있다.(Candidate MV Addition) is added to the first motion vector extracted through the minimum SAD selection process, and a candidate motion vector that can be a final motion vector is added. In general, a primary motion vector, a motion vector of a neighboring block, a global motion vector (zero MV), a zero vector, and the like may be added as candidate motion vectors. The global motion vector may be given with the front / back frame data.

이후, 후보 모션 벡터들의 타당성과 영상 특징을 이용하여 최종 모션 벡터를 선택한다(Final MV Selection). 최종 모션 벡터를 선택하는 여러 방법이 있는데, 블록 사이 유사도나 신뢰도 등을 통해 후보 모션 벡터 각각의 선택 확률을 계산할 수 있다. 선택 확률을 계산할 때 블록의 특성을 이용할 때 2가지 방법이 있는데, 하나는 주변 블록에 대한 모션 벡터의 선택 확률은 현재 블록과 주변 블록의 휘도 유사도로 판단하는 것이고 다른 하나는 bilateral filter(일명 블러 필터)를 이용하여 거리와 휘도 차이에 종속적으로 확률을 계산하는 것이다.Then, the final motion vector is selected using the validity of the candidate motion vectors and the image feature (Final MV Selection). There are several methods for selecting the final motion vector. The selection probability of each of the candidate motion vectors can be calculated through the block similarity or the reliability. There are two ways to use the characteristics of the block when calculating the selection probability. One is to determine the probability of selection of the motion vector for the neighboring block by the luminance similarity of the current block and the neighboring block, and the other is to use the bilateral filter ) To calculate the probability depending on the distance and the luminance difference.

이러한 과정을 거쳐 앞 프레임에서 뒤 프레임으로 프레임 내 오브젝트의 이동을 가리키는 모션 벡터를 추정할 수 있고, 이는 포워드 모션 벡터(Forward Motion Vector)로 칭할 수 있다.Through this process, the motion vector indicating the movement of the object in the frame from the previous frame to the next frame can be estimated, which can be referred to as a forward motion vector.

비슷한 방법으로, 뒤 프레임 내 각 블록에 대해 앞 프레임에서 유사한 블록을 찾아 모션 벡터를 추정할 수 있는데, 이는 백워드 모션 벡터(Backward Motion Vector)로 칭할 수 있다.Similarly, for each block in a subsequent frame, motion vectors can be estimated by searching for similar blocks in the previous frame, which can be referred to as a backward motion vector.

포워드 모션 벡터와 백워드 모션 벡터를 이용하여 앞 프레임과 뒤 프레임 사이에 삽입할 중간 프레임의 각 블록에 대한 모션 벡터를 생성할 수 있다. 즉, 앞뒤 프레임으로부터 각 블록에 대해 추정한 포워드 모션 벡터와 백워드 모션 벡터 중에서 중간 프레임의 같은 블록으로 안내하는 포워드 모션 벡터와 백워드 모션 벡터를 찾고 이를 근거로 중간 프레임의 각 블록에 대한 모션 벡터를 생성한다.A forward motion vector and a backward motion vector may be used to generate a motion vector for each block of the intermediate frame to be inserted between the previous frame and the subsequent frame. That is, a forward motion vector and a backward motion vector that lead to the same block of the middle frame among the forward motion vector and the backward motion vector estimated for each block from the front and back frames are found, and based thereon, motion vectors .

이때, 중간 프레임의 임의의 블록으로 안내하는 것으로 찾은 포워드 모션 벡터와 백워드 모션 벡터가 크기가 같고 방향이 같다면, 중간 프레임의 해당 블록에 대한 모션 벡터를 포워드 모션 벡터 또는 백워드 모션 벡터의 절반에 해당하는 모션 벡터로 정확하게 결정할 수 있다.At this time, if the forward motion vector and the backward motion vector found by guiding to an arbitrary block of the intermediate frame are the same size and the same direction, the motion vector for the corresponding block of the intermediate frame is set as the forward motion vector or half of the backward motion vector As shown in FIG.

하지만, 포워드 모션 벡터와 백워드 모션 벡터의 절반에 해당하는 모션 벡터 중에서 중간 프레임의 한 블록으로 안내하는 포워드 모션 벡터와 백워드 모션 벡터가 크기가 서로 다르거나 방향이 정반대가 되지 않으면, 중간 프레임의 해당 블록에 대한 모션 벡터를 쉽게 결정할 수 없고, 소정의 방법으로 모션 벡터를 결정해야 한다.However, if the forward motion vector and the backward motion vector guiding the forward motion vector to one block of the intermediate frame among the motion vectors corresponding to half of the backward motion vector are different in size or opposite in direction, The motion vector for the block can not be easily determined, and the motion vector must be determined in a predetermined manner.

또한, 포워드 모션 벡터와 백워드 모션 벡터의 절반에 해당하는 모션 벡터 중에서 중간 프레임의 한 블록으로 안내하는 모션 벡터가 없다면, 중간 프레임의 해당 블록은 홀(Hole)이 되어 해당 홀 블록에 대한 모션 벡터를 구할 수 없고, 이웃하는 주변 블록에 대해 추정된 모션 벡터를 이용할 수 밖에 없다.In addition, if there is no motion vector guiding the forward motion vector to one block of the middle frame among the motion vectors corresponding to half of the backward motion vector, the corresponding block of the intermediate frame becomes a hole and the motion vector Can not be obtained and the estimated motion vector can not be used for neighboring neighboring blocks.

또한, 앞 프레임 내의 서로 다른 블록에 대해서 추정한 둘 이상의 포워드 모션 벡터가 중간 프레임의 한 블록으로 안내하는 경우에도, 중간 프레임의 해당 블록에 대한 모션 벡터를 결정해야 한다. 도 3a에서 앞 프레임의 각 블록에 대해 모션 벡터를 추정하였는데, 추정된 2개의 모션 벡터가 중간 프레임의 같은 블록에 대응되므로, 도 3b와 같이 하나의 모션 벡터가 선택되고 다른 모션 벡터가 무시될 수 있다.Further, even if two or more forward motion vectors estimated for different blocks in the previous frame lead to one block of the intermediate frame, the motion vector for the corresponding block of the intermediate frame must be determined. In Fig. 3A, a motion vector is estimated for each block of the previous frame. Since two estimated motion vectors correspond to the same block of the intermediate frame, one motion vector is selected and another motion vector is ignored have.

한편, 모션 추정 과정에서 후보 모션 벡터로 선정된 모션 벡터들 중에서 주변 블록의 모션 벡터가 매우 중요하다. 최소 SAD로 선정된 1차 모션 벡터가 항상 정확하다면 간단하고 좋겠지만, 실제 영상에서는 다양한 변수가 있고, 홀(Hole)이 발생하여 정답에 해당하는 모션 벡터가 없는 블록이 존재한다.On the other hand, among the motion vectors selected as the candidate motion vectors in the motion estimation process, the motion vectors of the neighboring blocks are very important. If the primary motion vector selected by the minimum SAD is always correct, it may be simple and good. However, there are various variables in the real image, and there is a block in which a hole is generated and there is no motion vector corresponding to the correct answer.

따라서, 공간적인 매끄러움(Spatial Smoothness)을 고려하여 주변 블록의 모션 벡터를 최대한 활용해야 하지만, 지금까지 주변 모션 벡터를 이용하는 방법에는 문제가 있다. 주변 블록이 항상 같은 오브젝트에 해당할 수는 없다. 위, 아래, 양 옆 블록의 모션 벡터를 이용하는 것이 일반적인 방법이지만, 오브젝트가 블록에 걸쳐 있거나 옆의 블록에 물체의 경계가 있으면 다른 오브젝트의 모션 벡터를 참조하게 되기 때문이다.Therefore, it is necessary to utilize the motion vector of the neighboring block to the maximum in consideration of spatial smoothness. However, there is a problem in the method using the neighboring motion vector so far. Peripheral blocks can not always be the same object. It is common practice to use the motion vectors of the top, bottom, and both side blocks, but if the object spans the block or if there is an object boundary in the neighboring block, the motion vector of another object is referred to.

이러한 문제를 해결하면서 주변 모션 벡터 정보를 제대로 가져오기 위해서 선행되는 조건이 있는데, 주변 블록의 휘도가 현재 블록과 유사할 때에만 주변 모션 벡터 정보를 이용하는 것이다. 이 조건을 통해 동일 물체가 아닐 때는 주변 모션 벡터 정보를 이용하는 것을 제한하여 오류를 줄일 수 있다. 하지만, 이 방법 역시 오류가 발생하는 경우가 있다.In order to solve this problem, there is a precedent condition for correctly fetching the surrounding motion vector information. That is, the surrounding motion vector information is used only when the luminance of the neighboring block is similar to the current block. By using this condition, it is possible to reduce the error by limiting the use of surrounding motion vector information when the object is not the same object. However, this method may also fail.

도 4a에서 붉은 색 네모 안에 아티팩트가 발생하는데, 벽면이 모두 같은 오브젝트로 같은 모션 벡터를 가져야 하지만, 벽면의 패턴 때문에 블록의 휘도 정보가 서로 다르다고 인식되어 주변의 모션 벡터를 가져오지 못하고 제각각 다른 모션 벡터를 선택하게 된다.In FIG. 4A, artifacts are generated in the red square. However, since the walls have the same motion vector with the same object, the luminance information of the block is different due to the pattern of the wall, so that the neighboring motion vectors can not be obtained. .

도 4b에서 붉은 색 네모 안에도 아티팩트가 발생하는데, 비행기와 배경 건물이 서로 다른 오브젝트이므로 서로 모션 벡터가 영향을 주지 않아야 하지만, 비행기와 배경 건물의 휘도 정보(Y값)가 같아서 모션 벡터가 서로 영향을 주어 최종적으로 잘못된 모션 벡터를 추정하게 된다.In FIG. 4B, an artifact occurs in the red square. Since the plane and the background building are different objects, the motion vector should not affect each other. However, since the luminance information (Y value) And finally estimates an erroneous motion vector.

이와 같은 문제점은 중간 이미지에서 아티팩트로 나타나고, 특히 동영상으로 확인할 때 관련 영역이 심각하게 떨리는 문제가 발생할 수 있다.Such a problem appears as an artifact in the intermediate image, and can cause a problem that the related area is seriously shaken when checking it with a moving image.

본 발명에서는, 모션 벡터를 결정하고자 하는 블록의 특성을 보다 세밀하게 정의하여 블록 사이에 서로 같은 오브젝트인지 정의하고, 이를 이용하여 모션 벡터가 공간적으로 매끄럽게 되도록 한다.In the present invention, the characteristics of a block for which a motion vector is to be determined are defined more precisely to define the same object between blocks, and the motion vector is spatially smoothed using the same.

이를 위해, 본 발명에 따른 영상 처리 방법은, 블록의 휘도와 에지 방향 정보를 이용해 이미지에 포함된 각 블록을 소정 개수의 무리 또는 클러스터(Cluster)로 분류하고, 각 클러스터에 대한 대표 모션 벡터와 신용 값(Confidence)을 구하고, 구한 대표 모션 벡터를 해당 블록에 대한 후보 모션 벡터로 추가하고, 최종 모션 벡터를 선택할 때 클러스터에 대한 대표 모션 벡터와 신용 값(Confidence)을 이용할 수 있다.To this end, the image processing method according to the present invention classifies each block included in an image into a predetermined number of clusters or clusters by using the luminance and edge direction information of the block, and generates a representative motion vector for each cluster and a credit A representative motion vector for the cluster is added to the candidate motion vector for the block, and a representative motion vector and a confidence value for the cluster are used when the final motion vector is selected.

즉, 같은 오브젝트일 확률이 높은 블록끼리 후보 모션 벡터를 공유하고 최종 모션 벡터도 비슷한 양상으로 선택되도록 하여, 최종 모션 벡터가 오브젝트에 따라 구분되고 같은 오브젝트끼리 통일성을 갖도록 선택되도록 할 수 있다.That is, the candidate motion vectors are shared among blocks having a high probability of being the same object, and the final motion vectors are selected in a similar manner, so that the final motion vectors are classified according to the objects, and the same objects are selected to have uniformity.

도 5는 본 발명의 일 실시예에 따른 영상 처리 방법이 적용되는 표시 장치를 블록으로 도시한 것이다. 본 발명의 실시예에 따른 표시 장치는 표시 패널(10), 타이밍 컨트롤러(11), 데이터 구동 회로(12), 게이트 구동 회로(13) 및 영상 처리부(20)를 구비한다.5 is a block diagram of a display device to which an image processing method according to an embodiment of the present invention is applied. A display device according to an embodiment of the present invention includes a display panel 10, a timing controller 11, a data driving circuit 12, a gate driving circuit 13, and an image processing unit 20.

표시 패널(10)에는 데이터 라인들(14)과 게이트 라인들(15)이 교차하고 매트릭스 형태로 형성되는 픽셀들을 포함한다. 표시 패널(10)의 데이터 라인들과 게이트 라인들의 교차부에는 박막 트랜지스터(Thin Film Transistor: TFT)가 형성된다. 표시 패널(10)은, 액정 표시 소자(Liquid Crystal Display, LCD), 전계 방출 표시 소자(Field Emission Display, FED), 플라즈마 디스플레이 패널(Plasma Display Panel, PDP) 및 무기 전계 발광 소자와 유기 발광 다이오드 소자(Organic Light Emitting Diode, OLED)를 포함한 전계 발광 소자(Electroluminescence Device, EL), 전기 영동 표시 소자(Electrophoresis, EPD) 등의 평판 표시 소자로 구현될 수 있다. 표시 패널(10)이 액정 표시 소자의 표시 패널로 구현되는 경우, 백라이트 유닛이 필요하다. 백라이트 유닛은 직하형(direct type) 백라이트 유닛 또는 에지형(edge type) 백라이트 유닛으로 구현될 수 있다.The display panel 10 includes pixels in which the data lines 14 and the gate lines 15 intersect and are formed in a matrix form. A thin film transistor (TFT) is formed at the intersection of the data lines and the gate lines of the display panel 10. The display panel 10 may include a liquid crystal display (LCD), a field emission display (FED), a plasma display panel (PDP), an inorganic electroluminescent device, A flat panel display device such as an electroluminescence device (EL) including an organic light emitting diode (OLED), and an electrophoresis (EPD) device. When the display panel 10 is implemented as a display panel of a liquid crystal display element, a backlight unit is required. The backlight unit may be implemented as a direct type backlight unit or an edge type backlight unit.

영상 처리부(20)는 입력되는 nHz, 예를 들어 30Hz의 영상 데이터(RGB(nHz))를 모션 추정과 모션 보정을 통해 보간 처리한다. 영상 처리부(20)는 보간 처리된 2nHz, 예를 들어 60Hz의 영상 데이터(RGB'(2nHz))를 타이밍 컨트롤러(11)로 출력한다. 영상 처리부(20)에 대한 자세한 설명은 도 6 내지 도 8을 결부하여 다음에 설명한다.The image processing unit 20 interpolates the inputted image data (RGB (nHz)) of nHz, for example, 30 Hz through motion estimation and motion compensation. The image processing unit 20 outputs the interpolated image data (RGB '(2 nHz)) of 2 nHz, for example, 60 Hz to the timing controller 11. A detailed description of the image processing unit 20 will be given below with reference to FIGS. 6 to 8. FIG.

타이밍 컨트롤러(11)는 영상 처리부(20)로부터 출력되는 영상 데이터(RGB'(2nHz))를 데이터 구동 회로(12)에 공급한다. 타이밍 컨트롤러(11)는 호스트 시스템(도시하지 않음)으로부터 수직 동기 신호(Vsync), 수평 동기 신호(Hsync), 데이터 인에이블 신호(Data Enable, DE), 도트 클럭(CLK) 등의 타이밍 신호를 입력 받아 데이터 구동 회로(12)와 게이트 구동 회로(13)의 동작 타이밍을 제어하기 위한 제어 신호들을 생성한다. 제어 신호들은 게이트 구동 회로(13)의 동작 타이밍을 제어하기 위한 게이트 타이밍 제어 신호(GCS)와 데이터 구동 회로(12)의 동작 타이밍을 제어하기 위한 데이터 타이밍 제어 신호(DCS)를 포함한다.The timing controller 11 supplies the video data RGB '(2 nHz) output from the video processing unit 20 to the data driving circuit 12. The timing controller 11 inputs timing signals such as a vertical synchronizing signal Vsync, a horizontal synchronizing signal Hsync, a data enable signal DE and a dot clock CLK from a host system (not shown) And generates control signals for controlling the operation timing of the data driving circuit 12 and the gate driving circuit 13. The control signals include a gate timing control signal GCS for controlling the operation timing of the gate driving circuit 13 and a data timing control signal DCS for controlling the operation timing of the data driving circuit 12. [

타이밍 컨트롤러(11)는, 영상 처리부(20)로부터 프레임 레이트가 예를 들어 2배 높아진 영상 데이터가 입력될 때, 제어 신호들을 동작 속도가 2배가 되도록 조절하여 데이터 구동 회로(12)와 게이트 구동 회로(13)에 공급한다.The timing controller 11 adjusts the control signals so that the operation speed is doubled when the video data whose frame rate is increased, for example, twice, from the image processing section 20 is input to the data driving circuit 12 and the gate driving circuit 12, (13).

데이터 구동 회로(12)는 타이밍 컨트롤러(11)의 제어에 따라 영상 데이터(RGB'(2nHz))를 데이터 전압으로 변환하여 데이터 라인들(14)로 출력한다. 게이트 구동 회로(13)는 타이밍 컨트롤러(11)의 제어에 따라 데이터 전압에 동기되는 스캔 펄스를 게이트 라인들(15)에 순차적으로 공급한다.The data driving circuit 12 converts the video data RGB '(2 nHz) into data voltages under the control of the timing controller 11 and outputs them to the data lines 14. The gate drive circuit 13 sequentially supplies a scan pulse synchronized with the data voltage to the gate lines 15 under the control of the timing controller 11. [

게이트 구동 회로(13)는, 타이밍 컨트롤러(11)의 제어에 따라 데이터 전압에 동기되는 스캔 펄스를 표시 패널(10)의 게이트 라인들(15)에 순차적으로 공급한다. 게이트 구동 회로(13)는 쉬프트 레지스터, 쉬프트 레지스터의 출력 신호를 픽셀의 TFT 구동에 적합한 스윙 폭으로 변환하기 위한 레벨 쉬프터 및 출력 버퍼 등을 각각 포함하는 다수의 게이트 드라이브 집적 회로들로 구성될 수 있다. 또는, 게이트 구동 회로(13)는 GIP(Gate Drive IC in Panel) 방식으로 표시 패널(10)의 하부 기판에 직접 형성될 수도 있다. GIP 방식의 경우, 레벨 쉬프터는 PCB(Printed Circuit Board) 위에 실장되고, 쉬프트 레지스터는 표시 패널(10)의 하부 기판에 형성될 수 있다.The gate drive circuit 13 sequentially supplies the scan pulses synchronized with the data voltage to the gate lines 15 of the display panel 10 under the control of the timing controller 11. [ The gate drive circuit 13 may be composed of a plurality of gate drive integrated circuits each including a shift register, a level shifter for converting the output signal of the shift register into a swing width suitable for driving a TFT of a pixel, and an output buffer . Alternatively, the gate driving circuit 13 may be formed directly on the lower substrate of the display panel 10 using a GIP (gate drive IC in panel) method. In the case of the GIP method, the level shifter is mounted on a PCB (Printed Circuit Board), and the shift register can be formed on the lower substrate of the display panel 10. [

도 6a와 도 6b는 블록의 에지 방향과 휘도를 이용하여 프레임 내의 블록들을 클러스터링(Clustering) 하는 방법을 도시한 것이다.6A and 6B illustrate a method of clustering blocks in a frame using the edge direction and luminance of the block.

본 발명에서는 같은 특성의 블록들을 같은 무리로 클러스터링 하기 위해, 블록의 휘도 정보와 에지 방향 정보를 이용한다.In the present invention, in order to cluster the blocks having the same characteristics into the same cluster, the luminance information and the edge direction information of the block are used.

블록의 에지 방향과 관련하여, 도 6a와 같이 180도를 45도 간격으로 크게 4개의 방향(수평, 45도, 수직, 135도)으로 나누고, 블록의 에지 방향을 구하고 4개 방향 중에서 대응되는 방향에 할당하는데, 블록의 에지 방향은 소벨 필터(Sobel Filter)를 블록에 적용하여 블록 내 에지 방향을 구하고 그 중에서 빈도가 가장 높은 방향을 해당 블록의 에지 방향으로 선정할 수 있다.Referring to the edge direction of the block, 180 degrees are divided into four directions (horizontal, 45 degrees, vertical, 135 degrees) at intervals of 45 degrees as shown in FIG. 6A, the edge direction of the block is obtained, The edge direction of the block is obtained by applying a Sobel filter to the block, and the direction with the highest frequency can be selected as the edge direction of the block.

블록의 휘도와 관련하여, 블록 내 픽셀들의 평균 휘도(Y 값)를 소정 개수의 계급 중 하나에 할당하는데, 예를 들어 8 비트(0-255)의 휘도를 같은 간격으로 8등분 한 8개의 레벨 중 대응되는 하나의 레벨에 할당할 수 있다. 또는, 전체 휘도 범위에서 휘도 빈도가 높은 중간 휘도 범위를 좁은 간격으로 나누고 높은 휘도와 낮은 휘도 범위를 넓은 간격으로 나눌 수도 있다.With respect to the luminance of the block, the average luminance (Y value) of the pixels in the block is assigned to one of a predetermined number of ranks. For example, eight levels of luminance of 8 bits (0-255) To the corresponding one of the levels. Alternatively, the intermediate luminance range in which the luminance frequency is high in the entire luminance range may be divided into narrow intervals, and the high luminance and low luminance range may be divided into wide intervals.

클러스터의 개수는 4개의 방향과 8개의 휘도 레벨을 조합하여 32개가 될 수 있지만, 에지 방향과 관련하여 블록이 같은 휘도의 픽셀만으로 구성되어 에지 방향이 없는 무방향(Smooth)인 경우가 있기 때문에, 5개 방향과 8개 휘도 레벨을 조합하여 40개의 클러스터가 가능하다. 따라서, 각 블록은 40개의 클러스터 중 하나로 분류될 수 있다.The number of clusters can be 32 by combining four directions and eight luminance levels. However, since there are cases where the blocks are composed of only pixels having the same luminance in relation to the edge direction and are not smooth with no edge direction, 40 clusters are possible by combining 5 directions and 8 luminance levels. Therefore, each block can be classified into one of 40 clusters.

도 7은 본 발명에 따른 영상 처리부의 구성을 블록으로 도시한 것이고, 도 8은 본 발명에 따른 모션 추정 방법에 대한 동작 흐름도를 도시한 것이다.FIG. 7 is a block diagram illustrating a configuration of an image processing unit according to the present invention, and FIG. 8 is a flowchart illustrating an operation of a motion estimation method according to the present invention.

본 발명에 따른 영상 처리부(20)는, 연속되는 두 프레임(Frame(n), Frame(n+1))의 데이터와 글로벌 모션 벡터(Global MV)를 수신하여 모션 추정과 모션 보정을 통해 두 프레임의 중간에 삽입될 중간 프레임(Frame(n+0.5))을 생성하여 출력하는데, 모션 추정부(210)와 모션 보상부(220)를 포함하여 구성될 수 있다.The image processing unit 20 according to the present invention receives data of two consecutive frames Frame (n) and Frame (n + 1) and a global motion vector (Global MV) The motion estimator 210 and the motion compensator 220 may be configured to generate and output an intermediate frame (Frame (n + 0.5)) to be inserted in the middle of the frame.

모션 추정부(210)는, 두 프레임(Frame(n), Frame(n+1))에 대해 모션을 추정하여 모션 벡터를 추정하고 이를 이용하여 중간 프레임에 대한 그리드 매핑 동작을 수행하여 중간 프레임의 각 블록에 대해 모션 벡터를 결정하는데, 모션 벡터를 추정하는 구성은 블록 클러스터링부(211), SAD 계산부(212), 최소 SAD 선택부(213), 클러스터 대표 모션 벡터 생성부(214), 최종 모션 벡터 선택부(215) 및 중간 프레임 모션 벡터 결정부(216)를 포함하여 구성될 수 있다.The motion estimator 210 estimates motion for two frames Frame (n) and Frame (n + 1) to estimate a motion vector and performs a grid mapping operation for the intermediate frame using the motion vector, The motion vector estimation unit 210 includes a block clustering unit 211, an SAD calculation unit 212, a minimum SAD selection unit 213, a cluster representative motion vector generation unit 214, A motion vector selection unit 215 and an intermediate frame motion vector determination unit 216. [

모션 보상부(220)는, 중간 프레임에 대해 생성한 모션 벡터를 근거로 이전 프레임(Frame(n))과 다음 프레임(Frame(n+1))을 각각 이용하여 2개의 중간 프레임을 생성하고, 이를 서로 비교하여 그 차이가 작게 되도록 중간 프레임(Frame(n+0.5))의 이미지 데이터를 보정하여 출력할 수 있다.The motion compensation unit 220 generates two intermediate frames using the previous frame (Frame (n)) and the next frame (Frame (n + 1)) based on the motion vector generated for the intermediate frame, The image data of the intermediate frame (Frame (n + 0.5)) may be corrected and output so that the difference is smaller.

모션 추정부(210)는, 두 프레임(Frame(n), Frame(n+1))과 글로벌 모션 벡터를 수신하여 중간 프레임의 모션 벡터를 생성하여 출력한다.The motion estimation unit 210 receives the two frames (Frame (n), Frame (n + 1)) and the global motion vector, and generates and outputs a motion vector of the intermediate frame.

여기서, 글로벌 모션 벡터는 영상 센서가 흔들리거나 이동하는 경우 또는 영상 센서가 팬/틸트 기동하는 경우 두 프레임 사이에 발생하는 모션 벡터로, 프레임 내 오브젝트가 이동하여 두 프레임 사이에 발생하는 로컬 모션 벡터에 대비된다.Here, the global motion vector is a motion vector generated between two frames when the image sensor swings or moves, or when the image sensor is in a pan / tilt start state, and the object moves in the frame to generate a local motion vector Contrast.

모션 추정부(210)는, 앞 프레임(Frame(n))에서 뒤 프레임(Frame(n+1))으로 모션을 추정하여 포워드 모션 벡터를 구하여 이를 근거로 중간 프레임(Frame(n+0.5))에 대한 모션 벡터를 구하거나, 뒤 프레임(Frame(n+1))에서 앞 프레임(Frame(n))으로 모션을 추정하여 백워드 모션 벡터를 구하여 이를 근거로 중간 프레임(Frame(n+0.5))에 대한 모션 벡터를 구하거나, 또는 포워드 모션 벡터와 백워드 모션 벡터를 모두 구하고 이를 근거로 중간 프레임에 대한 모션 벡터를 구할 수 있다. 이하에서는 간단하게 포워드 모션 벡터를 중심으로 설명한다.The motion estimator 210 estimates motion from the previous frame (Frame (n)) to the subsequent frame (Frame (n + 1)) to obtain a forward motion vector, (N + 0.5) on the basis of the backward motion vector obtained by estimating the motion from the last frame (Frame (n + 1)) to the previous frame (Frame ), Or both the forward motion vector and the backward motion vector can be obtained, and the motion vector for the intermediate frame can be obtained based on the obtained forward motion vector and the backward motion vector. Hereinafter, the forward motion vector will be mainly described.

블록 클러스터링부(211)는, 앞뒤 두 프레임(Frame(n), Frame(n+1))을 수신하여, 예를 들어 앞 프레임(Frame(n))의 각 블록에 대한 성질, 즉 각 블록의 휘도 정보와 에지 방향 정보를 계산하고, 이를 근거로 블록들을 소정 개수의 클러스터로 분류할 수 있다(도 8에서 Block Clustering).The block clustering unit 211 receives two front and rear frames (Frame (n) and Frame (n + 1)) and stores the properties of each block of the preceding frame (Frame The luminance information and the edge direction information are calculated, and the blocks can be classified into a predetermined number of clusters based on the calculated luminance information and edge direction information (Block Clustering in FIG. 8).

도 6에 도시한 것과 같이, 각 블록은 8개 레벨의 휘도 및 4개의 방향과 무방향(Smooth)의 조합에 따라 40개의 클러스터 중 하나로 분류될 수 있다.As shown in Fig. 6, each block can be classified into one of 40 clusters according to a combination of luminance of eight levels and combination of four directions and smoothness.

SAD 계산부(212)는, 앞 프레임의 각 블록에 대해서, SAD를 구하는데, 해당 블록을 뒤 프레임 내 소정 서치 범위 안에서 픽셀 단위로 이동시키면서 이동된 블록과 각각 비교하여, 대응되는 픽셀마다 휘도 차이의 절대 값을 구하고 블록에 포함된 모든 픽셀마다 구한 차이의 절대 값의 합을 계산할 수 있다(도 8에서 Block SAD Calculation).The SAD calculation unit 212 obtains the SAD for each block of the previous frame. The SAD calculation unit 212 compares the block with the moved block while moving the block in the predetermined search range within the next frame in pixel units, (Block SAD Calculation in FIG. 8). In the block SAD calculation shown in FIG. 8, the absolute value of the absolute value of the difference is calculated for every pixel included in the block.

SAD 계산부(212)는, 계산을 줄이기 위하여, 뒤 프레임에서의 서치 범위를, 해당 블록보다 앞서 계산한 이전 블록, 예를 들어 위쪽 블록과 왼쪽 블록과 관련된 뒤 프레임의 블록(SAD가 가장 작은 대응 블록) 주변으로 한정할 수 있다.In order to reduce the calculation, the SAD calculation unit 212 compares the search range in the following frame with the previous block calculated before the relevant block, for example, the block of the next frame related to the left block Block).

최소 SAD 선택부(213)는, SAD 계산부(212)가 뒤 프레임에서 블록을 픽셀 단위로 이동시키면서 계산한 SAD 중에서 가장 작은 값을 출력하는 블록을 선택하여, 이를 앞 프레임의 해당 블록이 이동한 블록으로 결정하고, 해당 블록에서 선택된 최소 SAD 블록으로의 이동량과 방향을 계산하여 해당 블록에 대한 1차 모션 벡터로 결정한다(도 8에서 Minimum SAD Cost Selection).The minimum SAD selection unit 213 selects a block for outputting the smallest value among the SADs calculated by moving the block in pixel units in the subsequent frame by the SAD calculation unit 212, Block is determined, and the amount and direction of the movement to the selected minimum SAD block in the corresponding block are calculated to determine a primary motion vector for the corresponding block (Minimum SAD Cost Selection in FIG. 8).

최소 SAD 선택부(213)가 앞 프레임 내의 모든 블록에 대해 1차 모션 벡터를 결정한 후, 클러스터 대표 모션 벡터 생성부(214)는, 같은 클러스터에 속하는 블록들의 1차 모션 벡터를 기초로, 예를 들어 1차 모션 벡터를 평균하여 해당 클러스터에 대한 대표 모션 벡터를 계산할 수 있다. 휘도와 에지 방향의 조합으로 최대 40개의 클러스터가 가능하지만, 해당 프레임에 포함된 블록이 속하는 클러스터에 대해서만 대표 모션 벡터를 구할 수 있다.After the minimum SAD selection unit 213 determines the primary motion vectors for all the blocks in the previous frame, the cluster representative motion vector generation unit 214 generates a cluster representative motion vector based on the primary motion vectors of the blocks belonging to the same cluster, For example, the primary motion vector may be averaged to calculate a representative motion vector for the cluster. A maximum of 40 clusters can be achieved by a combination of luminance and edge directions, but a representative motion vector can be obtained only for a cluster to which a block included in the frame belongs.

또한, 클러스터 대표 모션 벡터 생성부(214)는, 각 클러스터에 대해 해당 클러스터에 포함된 모션 벡터에 대한 신용 값(Confidence)을 구하는데, 클러스터에 대한 모션 벡터의 신용 값은 해당 클러스터에 포함된 블록에 대해 계산된 1차 모션 벡터의 편차, 예를 들어 표준 편차나 분산을 이용하여 계산될 수 있고, 구체적으로는 표준 편차에 반비례하는 값으로 결정될 수 있다.In addition, the cluster representative motion vector generation unit 214 obtains a credit value (Confidence) for the motion vector included in the corresponding cluster for each cluster, and the credit value of the motion vector for the cluster is the block For example, a standard deviation or a variance of the first-order motion vector calculated for the motion vector, specifically, a value inversely proportional to the standard deviation.

즉, 표준 편차가 작으면 이는 해당 클러스터에 속하는 블록의 1차 모션 벡터들이 해당 클러스터의 대표 모션 벡터 부근에 밀집되어 있는 것을 의미한다. 따라서, 해당 클러스터에 포함된 블록들에 대해서는, 이러한 신용 값을 근거로 해당 블록에 대해 결정된 1차 모션 벡터를 해당 블록에 대한 최종 모션 벡터로 결정할 가능성을 높게 할 수 있다.That is, when the standard deviation is small, it means that the primary motion vectors of the block belonging to the cluster are concentrated near the representative motion vector of the cluster. Therefore, for the blocks included in the cluster, it is possible to increase the probability that the primary motion vector determined for the block is determined as the final motion vector for the block based on the credit value.

반대로, 표준 편차가 크면, 이는 해당 클러스터에 속하는 블록의 1차 모션 벡터들이 해당 클러스터의 대표 모션 벡터와 동떨어져 넓게 분포한다는 것을 의미한다. 따라서, 해당 클러스터에 포함된 블록들에 대해서는, 이러한 신용 값을 근거로 해당 블록에 대해 결정된 1차 모션 벡터를 해당 블록에 대한 최종 모션 벡터로 결정할 가능성을 낮게 할 수 있다.On the contrary, if the standard deviation is large, it means that the primary motion vectors of the block belonging to the cluster are distributed widely apart from the representative motion vectors of the cluster. Therefore, with respect to the blocks included in the cluster, it is possible to lower the probability that the primary motion vector determined for the block is determined as the final motion vector for the block based on the credit value.

이후, 최종 모션 벡터 선택부(215)는, 각 블록에 대한 최종 모션 벡터를 결정하는데, 먼저 해당 블록에 대한 후보 모션 벡터를 추가하고(Candidate MV Addition), 후보 모션 벡터 중에서 하나를 최종 모션 벡터로 선택한다(Final MV Selection).Thereafter, the final motion vector selection unit 215 determines a final motion vector for each block. First, a candidate motion vector for the corresponding block is added (Candidate MV Addition), and one of the candidate motion vectors is used as a final motion vector Final MV Selection.

후보 모션 벡터로는, 해당 블록에서 결정된 1차 모션 벡터, 주변 블록들의 모션 벡터들, 글로벌 모션 벡터, 제로(Zero) 모션 벡터 이외에, 해당 블록이 속하는 클러스터의 대표 모션 벡터가 추가될 수 있다. 클러스터링 결과 역시 100% 정확할 수 없기 때문에, 바로 선택되는 것이 아니라, 해당 블록의 여러 후보 모션 벡터 중 하나로 추가될 뿐이다.As the candidate motion vector, a representative motion vector of the cluster to which the corresponding block belongs may be added in addition to the primary motion vector determined in the corresponding block, the motion vectors of the neighboring blocks, the global motion vector, and the zero motion vector. Since the clustering result is also not 100% accurate, it is not immediately selected, but is added as one of several candidate motion vectors of the block.

또한, 후보 모션 벡터로, 1차 모션 벡터의 x 성분과 y 성분을 각각 소정 범위 내에서 변화시킨 모션 벡터를 추가할 수도 있다. 예를 들어 1차 모션 벡터가 (x, y)일 때 (x+1, y+1), (x+1, 0), (x+1, y-1), (x, y+1), (x, y-1), (x-1, y+1), (x-1, y), (x-1, y-1) 등 1차 모션 벡터와 유사한 변형 모션 벡터들도 후보 모션 벡터가 될 수 있다.In addition, a motion vector in which the x component and the y component of the primary motion vector are respectively changed within a predetermined range may be added as the candidate motion vector. For example, when the primary motion vector is (x, y), (x + 1, y + 1) motion vectors similar to the first-order motion vectors such as (x-1, y-1), (x-1, y + 1), Can be a vector.

최종 모션 벡터 선택부(215)는, 후보 모션 벡터들 중에서 최종 모션 벡터를 선택할 때, 각 후보 모션 벡터에 대해서 SAD와 페널티(Penalty) 값을 계산하여, 가장 작은 값을 갖는 후보 모션 벡터를 최종 모션 벡터로 결정할 수 있다.When selecting the final motion vector among the candidate motion vectors, the final motion vector selection unit 215 calculates SAD and penalty values for each candidate motion vector, and outputs the candidate motion vector having the smallest value as the final motion vector Can be determined as a vector.

후보 모션 벡터에 대한 SAD는 해당 블록과 해당 후보 모션 벡터가 가리키는 대응 블록의 차이 값을 계산, 즉 해당 블록과 대응 블록을 픽셀 단위로 휘도 차이의 절대 값을 구하고 이를 모든 픽셀에 대해 더해 계산할 수 있다.The SAD for the candidate motion vector can be calculated by calculating the difference between the corresponding block and the corresponding block indicated by the corresponding candidate motion vector, that is, by obtaining the absolute value of the luminance difference in the corresponding block and the corresponding block on a pixel-by- .

후보 모션 벡터에 대한 페널티 값은 해당 블록이 속하는 클러스터의 대표 모션 벡터와 해당 클러스터의 신용 값을 이용하여 설정할 수 있다. 즉, Penalty = ((후보 모션 벡터 클러스터 대표 모션 벡터) x (클러스터의 신뢰 값))으로 계산할 수 있고, 클러스터의 신뢰 값(Confidence)은 해당 클러스터에 속한 블록에 대한 모션 벡터들의 표준 편차에 반비례하는 값으로, 예를 들어 Confidence = 256/(표준 편차)로 계산할 수 있다.The penalty value for the candidate motion vector can be set using the representative motion vector of the cluster to which the block belongs and the credit value of the corresponding cluster. That is, Penalty = ((motion vector candidate representative motion vector) x (cluster confidence value)), and the confidence value of the cluster is inversely proportional to the standard deviation of the motion vectors for the block belonging to the cluster Value, for example, Confidence = 256 / (standard deviation).

이와 같이 패널티 값을 설정함으로써, 클러스터의 대표 모션 벡터와 유사한 모션 벡터들이 해당 블록에 대한 최종 모션 벡터로 선택될 확률을 높일 수 있는데, 예를 들어 여러 후보 모션 벡터 중에서 비슷한 선택 확률의 모션 벡터들이 있다면, 클러스터의 대표 모션 벡터와 가까운 모션 벡터가 선택될 수 있다.By setting the penalty value as described above, it is possible to increase the probability that the motion vectors similar to the representative motion vector of the cluster are selected as the final motion vectors for the block. For example, if there are motion vectors of similar selection probability among the plurality of candidate motion vectors , A motion vector close to the representative motion vector of the cluster can be selected.

도 8의 과정을 거쳐 앞 프레임의 모든 블록에 대한 포워드 모션 벡터, 즉 앞 프레임에서 뒤 프레임으로 오브젝트의 이동을 가리키는 모션 벡터를 추정할 수 있고, 중간 프레임 모션 벡터 결정부(216)가 이를 이용하여 중간 프레임의 각 블록에 대한 모션 벡터를 결정할 수 있다.8, it is possible to estimate a forward motion vector for all the blocks of the previous frame, that is, a motion vector indicating the movement of the object from the previous frame to the following frame, and the intermediate frame motion vector determination unit 216 uses this The motion vector for each block of the intermediate frame can be determined.

비슷하게, 도 8의 과정을 거쳐 뒤 프레임의 모든 블록에 대한 백워드 모션 벡터, 즉 뒤 프레임에서 앞 프레임으로 오브젝트의 이동을 가리키는 모션 벡터를 추정할 수 있고, 중간 프레임 모션 벡터 결정부(216)가 이를 이용하여 중간 프레임의 각 블록에 대한 모션 벡터를 결정할 수 있다.Similarly, a motion vector indicating the movement of the object in the backward motion vector of all the blocks in the backward frame, that is, the motion of the object in the preceding frame in the backward frame, can be estimated through the process of FIG. 8, and the intermediate frame motion vector determination unit 216 This can be used to determine the motion vector for each block of the intermediate frame.

중간 프레임 모션 벡터 결정부(216)는 포워드 모션 벡터와 백워드 모션 벡터를 모두 사용하여 중간 프레임의 각 블록에 대한 모션 벡터를 결정할 수도 있다.The intermediate frame motion vector determination unit 216 may use both the forward motion vector and the backward motion vector to determine the motion vector for each block of the intermediate frame.

도 9a와 도 9b는 본 발명에 따라 모션 벡터를 추정하여 생성한 보간 이미지를 도시한 것이다.9A and 9B illustrate an interpolation image generated by estimating a motion vector according to the present invention.

종래 방법에 의한 도 4a의 중간 프레임에서는, 같은 물체이지만 벽면에 형성된 패턴에 의한 휘도 차이 때문에 모션 벡터를 잘못 구하여, 벽면의 패턴이 일정하지 않게 생성되어 아티팩트가 발생하였지만, 도 9a에서는 벽면의 반복되는 패턴을 하나 또는 두 클러스터로 분류하고 각 블록이 속하는 클러스터를 결정하고 결정된 클러스터에 대한 대표 모션 벡터와 신뢰 값을 이용하여 정확한 모션 벡터를 추정하고 이에 따라 중간 이미지가 벽면의 패턴을 잘 반영하게 된다.In the intermediate frame of FIG. 4A according to the conventional method, the motion vector is erroneously determined due to the difference in luminance due to the pattern formed on the wall surface, but the pattern of the wall surface is not constant and artefacts are generated. However, We classify the patterns into one or two clusters, determine the clusters to which each block belongs, estimate the correct motion vector using the representative motion vectors and confidence values for the determined clusters, and thus the intermediate image reflects the pattern of the wall well.

또한, 종래 방법에 의한 도 4b의 중간 프레임에서는, 비행기와 배경 건물의 휘도가 크게 차이 나지 않기 때문에 같은 물체로 인식하여 서로 모션 벡터의 추정에 영향을 주고, 그 결과 중간 프레임에 아티팩트가 발생한다. 하지만, 도 9b에서는, 비행기와 벽면을 각각 다른 클러스터로 선정하여 각 클러스터의 대표 모션 벡터를 이용하였기 때문에, 물체와 물체의 경계 부분에서 아티팩트가 개선되었다Also, in the intermediate frame of FIG. 4B according to the conventional method, since the luminance of the airplane and the background building do not largely differ, they are recognized as the same object and influence each other on the estimation of the motion vector, resulting in artifacts in the intermediate frame. However, in FIG. 9B, since the aircraft and the wall are selected as different clusters and the representative motion vector of each cluster is used, the artifacts are improved at the boundary between the object and the object

이와 같이, 휘도와 에지와 같은 블록의 특성을 근거로 블록들을 다수 개의 클러스터로 분류하고 같은 특성의 블록을 묶고, 클러스터의 대표 모션 벡터와 해당 클러스터의 신뢰 값을 후보 모션 벡터를 추가하고 최적의 모션 벡터를 선택할 때 사용함으로써, 모션 벡터를 정확하게 추정할 수 있게 되고, 이에 따라 보간 이미지에서 아티팩트를 줄일 수 있게 된다.In this manner, the blocks are classified into a plurality of clusters based on the characteristics of blocks such as luminance and edges, the blocks having the same characteristics are grouped together, the representative motion vectors of the clusters and the trust values of the clusters are added to the candidate motion vectors, By using it when selecting a vector, it becomes possible to accurately estimate the motion vector, thereby reducing artifacts in the interpolation image.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.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. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be defined by the claims.

10: 표시 패널 11: 타이밍 컨트롤러
12: 데이터 구동 회로 13: 게이트 구동 회로
14: 데이터 라인 15: 게이트 라인
20: 영상 처리부 210: 모션 추정부
211: 블록 클러스터링부 212: SAD 계산부
213: 최소 SAD 선택부 214: 클러스터 대표 모션 벡터 생성부
215: 최종 모션 벡터 선택부 216: 중간 프레임 모션 벡터 결정부
220: 모션 보상부
10: display panel 11: timing controller
12: Data driving circuit 13: Gate driving circuit
14: Data line 15: Gate line
20: image processor 210: motion estimator
211: block clustering unit 212: SAD calculation unit
213: minimum SAD selection unit 214: cluster representative motion vector generation unit
215: final motion vector selection unit 216: intermediate frame motion vector determination unit
220: Motion compensation unit

Claims (11)

블록의 휘도 정보와 에지 방향 정보를 근거로 제1 이미지에 포함된 블록들을 하나 이상의 클러스터로 분류하는 단계;
각 블록에 대해 상기 제1 이미지에 시간적으로 인접하는 제2 이미지에서 차이 값이 최소가 되는 대응 블록을 찾아 상기 대응 블록을 가리키는 1차 모션 벡터를 계산하는 단계;
상기 1차 모션 벡터들을 근거로, 적어도 하나 이상의 블록을 포함하는 각 클러스터에 대해 대표 모션 벡터와 신용 값을 구하는 단계; 및
각 블록에 대해, 상기 대표 모션 벡터와 신용 값을 이용하여, 적어도 상기 1차 모션 벡터와 상기 대표 모션 벡터를 포함하는 후보 모션 벡터들 중에서 최종 모션 벡터를 선택하는 단계를 포함하여 이루어지는 영상 처리 방법.
Classifying the blocks included in the first image into one or more clusters based on the luminance information and the edge direction information of the block;
Calculating a first motion vector pointing to the corresponding block by finding a corresponding block with a minimum difference value in a second image temporally adjacent to the first image for each block;
Obtaining a representative motion vector and a credit value for each cluster including at least one block based on the primary motion vectors; And
And for each block, using the representative motion vector and the credit value, selecting a final motion vector from among the candidate motion vectors comprising at least the primary motion vector and the representative motion vector.
제1 항에 있어서,
상기 휘도 정보는 전체 휘도 범위를 소정 개수로 나눈 구간 중 하나를 가리키고, 상기 에지 방향 정보는 180도를 4등분한 것과 무방향 중 하나를 가리키는 것을 특징으로 하는 영상 처리 방법.
The method according to claim 1,
Wherein the brightness information indicates one of a section in which the entire luminance range is divided by a predetermined number, and the edge direction information indicates one of a quarter of 180 degrees and a non-direction.
제2 항에 있어서,
상기 분류하는 단계는, 각 블록에 대해, 상기 휘도 정보와 에지 방향 정보의 조합으로 가능한 클러스터 중에서, 해당 블록의 휘도와 에지 방향의 조합에 해당하는 클러스터로 분류하는 것을 특징으로 하는 영상 처리 방법.
3. The method of claim 2,
Wherein the classifying step classifies each block into clusters corresponding to combinations of brightness and edge directions of the clusters among clusters that can be obtained by combining the brightness information and edge direction information.
제2 항에 있어서,
상기 분류하는 단계는, 상기 블록에 소벨 필터를 적용하여 블록 내 에지 방향을 구하고 그 중에서 빈도가 가장 높은 방향을 해당 블록의 에지 방향으로 선정하는 것을 특징으로 하는 영상 처리 방법.
3. The method of claim 2,
Wherein the classifying step comprises applying a Sobel filter to the block to obtain an edge direction within the block, and selecting the direction with the highest frequency among the edge directions.
제1 항에 있어서,
상기 선택하는 단계는, 각 블록에 대해, 해당 블록에 추가된 각 후보 모션 벡터에 대해 해당 후보 모션 벡터와 이에 대응되는 대응 블록과의 차이 값 및 해당 블록이 속하는 클러스터의 대표 모션 벡터와 신용 값을 근거로 구한 페널티 값의 합을 구하고, 그 합이 가장 작은 후보 모션 벡터를 해당 블록에 대한 최종 모션 벡터로 선택하는 것을 특징으로 하는 영상 처리 방법.
The method according to claim 1,
Wherein the selecting step comprises: for each of the candidate motion vectors added to the block, the difference value between the corresponding candidate motion vector and the corresponding block corresponding to the candidate motion vector, and the representative motion vector and the credit value of the cluster to which the block belongs And a candidate motion vector having the smallest sum is selected as a final motion vector for the corresponding block.
제5 항에 있어서,
상기 페널티 값은 상기 후보 모션 벡터와 대표 모션 벡터의 차이 값에 상기 신용 값을 곱하여 구한 값인 것을 특징으로 하는 영상 처리 방법.
6. The method of claim 5,
Wherein the penalty value is a value obtained by multiplying a difference value between the candidate motion vector and the representative motion vector by the credit value.
제1 항에 있어서,
상기 구하는 단계는, 해당 클러스터에 포함되는 블록들에 대해 계산된 1차 모션 벡터들의 평균을 해당 클러스터에 대한 대표 모션 벡터로 계산하고, 상기 1차 모션 벡터들의 편차에 반비례하는 값을 해당 클러스터에 대한 신용 값으로 계산하는 것을 특징으로 하는 영상 처리 방법.
The method according to claim 1,
Calculating the average of the primary motion vectors calculated for the blocks included in the cluster as a representative motion vector for the corresponding cluster and calculating a value inversely proportional to the deviation of the primary motion vectors for the cluster And calculating a credit value.
제1 항에 있어서,
상기 후보 모션 벡터는 해당 블록의 1차 모션 벡터와 해당 블록이 포함된 클러스터의 대표 모션 벡터를 포함하고, 글로벌 모션 벡터, 주변 블록의 모션 벡터, 제로 모션 벡터 및 상기 1차 모션 벡터의 변형 모션 벡터 중 하나 이상을 더 포함하는 것을 특징으로 하는 영상 처리 방법.
The method according to claim 1,
The candidate motion vector includes a primary motion vector of a corresponding block and a representative motion vector of a cluster including the corresponding block, and includes a global motion vector, a motion vector of a neighboring block, a zero motion vector, and a transformed motion vector of the primary motion vector The image processing method further comprising:
제1 항에 있어서,
상기 최종 모션 벡터를 이용하여, 상기 제1 이미지와 제2 이미지 사이에 삽입될 중간 이미지를 생성하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 처리 방법.
The method according to claim 1,
And generating an intermediate image to be inserted between the first image and the second image using the final motion vector.
시간적으로 연속되는 제1 프레임과 제2 프레임으로부터 모션 벡터를 생성하기 위한 모션 추정부; 및
상기 생성된 모션 벡터를 이용하여 상기 제1 프레임과 제2 프레임 사이에 삽입될 중간 프레임의 이미지 데이터를 보정하기 위한 모션 보상부를 포함하여 구성되고,
상기 모션 추정부는,
블록의 휘도 정보와 에지 방향 정보를 근거로 상기 제1 이미지에 포함된 블록들을 하나 이상의 클러스터로 분류하기 위한 클러스터링부;
각 블록에 대해 상기 제2 이미지에서 차이 값이 최소가 되는 대응 블록을 찾아 상기 대응 블록을 가리키는 1차 모션 벡터를 계산하기 위한 1차 모션 벡터 선택부;
상기 1차 모션 벡터들을 근거로, 적어도 하나 이상의 블록을 포함하는 각 클러스터에 대해 대표 모션 벡터와 신용 값을 구하기 위한 대표 모션 벡터 생성부; 및
각 블록에 대해, 상기 대표 모션 벡터와 신용 값을 이용하여, 적어도 상기 1차 모션 벡터와 상기 대표 모션 벡터를 포함하는 후보 모션 벡터들 중에서 최종 모션 벡터를 선택하기 위한 최종 모션 벡터 선택부를 포함하여 구성되는 것을 특징으로 하는 영상 처리 장치.
A motion estimator for generating a motion vector from temporally successive first and second frames; And
And a motion compensation unit for correcting image data of an intermediate frame to be inserted between the first frame and the second frame using the generated motion vector,
Wherein the motion estimator comprises:
A clustering unit for classifying blocks included in the first image into one or more clusters based on luminance information and edge direction information of the block;
A first motion vector selection unit for finding a corresponding block having a minimum difference value in the second image for each block and calculating a first motion vector indicating the corresponding block;
A representative motion vector generation unit for obtaining a representative motion vector and a credit value for each cluster including at least one block based on the primary motion vectors; And
And a final motion vector selection unit for selecting, for each block, a final motion vector among the candidate motion vectors including at least the primary motion vector and the representative motion vector using the representative motion vector and the credit value, And the image processing apparatus.
데이터 라인들과 게이트 라인들이 교차하고 매트릭스 형태로 형성되는 픽셀들을 포함하는 표시 패널;
입력되는 영상 데이터를 모션 추정과 모션 보상을 통해 보간 처리하기 위한 영상 처리부;
상기 영상 처리부가 출력하는, 프레임 레이트가 2배가 되는 영상 데이터를 수신할 때, 제어 신호들을 동작 속도가 2배가 되도록 조절하기 위한 타이밍 컨트롤러;
상기 타이밍 컨트롤러의 제어에 따라 상기 타이밍 컨트롤러로부터 입력되는 영상 데이터를 데이터 전압으로 변환하여 데이터 라인들에 출력하기 위한 데이터 구동 회로; 및
상기 타이밍 컨트롤러의 제어에 따라 상기 데이터 전압에 동기되는 스캔 펄스를 생성하여 상기 게이트 라인들에 순차적으로 공급하기 위한 게이트 구동 회로를 포함하여 구성되고,
상기 영상 처리부는,
블록의 휘도 정보와 에지 방향 정보를 근거로 제1 이미지에 포함된 블록들을 하나 이상의 클러스터로 분류하고, 각 블록에 대해 상기 제1 이미지에 시간적으로 인접하는 제2 이미지에서 차이 값이 최소가 되는 대응 블록을 찾아 상기 대응 블록을 가리키는 1차 모션 벡터를 계산하고, 상기 1차 모션 벡터들을 근거로, 적어도 하나 이상의 블록을 포함하는 각 클러스터에 대해 대표 모션 벡터와 신용 값을 구하고, 각 블록에 대해, 상기 대표 모션 벡터와 신용 값을 이용하여, 적어도 상기 1차 모션 벡터와 상기 대표 모션 벡터를 포함하는 후보 모션 벡터들 중에서 최종 모션 벡터를 선택하기 위한 모션 추정부; 및
상기 생성된 최종 모션 벡터를 이용하여 상기 제1 프레임과 제2 프레임 사이에 삽입될 중간 프레임의 이미지 데이터를 보정하기 위한 모션 보상부를 포함하여 구성되는 것을 특징으로 하는 표시 장치.
A display panel including pixels intersecting the data lines and the gate lines and formed in a matrix form;
An image processor for interpolating input image data through motion estimation and motion compensation;
A timing controller for adjusting the control signals so that the operation speed is doubled when receiving image data output from the image processing unit, the image data having a doubled frame rate;
A data driving circuit for converting image data input from the timing controller into data voltages under control of the timing controller and outputting the data voltages to data lines; And
And a gate driving circuit for generating a scan pulse synchronized with the data voltage according to the control of the timing controller and sequentially supplying a scan pulse to the gate lines,
Wherein the image processing unit comprises:
The block included in the first image is classified into one or more clusters based on the luminance information and the edge direction information of the block, and a corresponding value of a difference corresponding to the difference in the second image temporally adjacent to the first image Calculating a first motion vector indicating the corresponding block by searching for a block, calculating a representative motion vector and a credit value for each cluster including at least one block based on the first motion vectors, A motion estimator for selecting a final motion vector among the candidate motion vectors including at least the primary motion vector and the representative motion vector using the representative motion vector and the credit value; And
And a motion compensator for correcting image data of an intermediate frame to be inserted between the first frame and the second frame using the generated final motion vector.
KR1020170098132A 2017-08-02 2017-08-02 Image processing method and display device using the same KR102465557B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170098132A KR102465557B1 (en) 2017-08-02 2017-08-02 Image processing method and display device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170098132A KR102465557B1 (en) 2017-08-02 2017-08-02 Image processing method and display device using the same

Publications (2)

Publication Number Publication Date
KR20190014381A true KR20190014381A (en) 2019-02-12
KR102465557B1 KR102465557B1 (en) 2022-11-10

Family

ID=65369454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170098132A KR102465557B1 (en) 2017-08-02 2017-08-02 Image processing method and display device using the same

Country Status (1)

Country Link
KR (1) KR102465557B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589845B1 (en) * 2022-10-20 2023-10-17 주식회사 인피닉 Method for translate sign language video, and computer program recorded on record-medium for executing method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100106067A (en) * 2009-03-23 2010-10-01 엘지디스플레이 주식회사 Frame rate up-conversion method and apparatus
KR20110096882A (en) * 2010-02-23 2011-08-31 삼성모바일디스플레이주식회사 Display device and method for image processing thereof
KR20120116699A (en) * 2011-04-13 2012-10-23 서강대학교산학협력단 Moving object detecting apparatus and method using clustering
KR20130134209A (en) * 2012-05-30 2013-12-10 삼성전자주식회사 Method of detecting motion and motion detector
KR20140046187A (en) * 2012-10-10 2014-04-18 삼성전자주식회사 Motion estimation apparatus and method thereof in a video system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100106067A (en) * 2009-03-23 2010-10-01 엘지디스플레이 주식회사 Frame rate up-conversion method and apparatus
KR20110096882A (en) * 2010-02-23 2011-08-31 삼성모바일디스플레이주식회사 Display device and method for image processing thereof
KR20120116699A (en) * 2011-04-13 2012-10-23 서강대학교산학협력단 Moving object detecting apparatus and method using clustering
KR20130134209A (en) * 2012-05-30 2013-12-10 삼성전자주식회사 Method of detecting motion and motion detector
KR20140046187A (en) * 2012-10-10 2014-04-18 삼성전자주식회사 Motion estimation apparatus and method thereof in a video system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
신윤정 등, 움직임벡터 군집화를 이용한 H.264/AVC에서 MPEG-2로의 비디오 트랜스코딩, 한국전자통신학회논문지 제5권 제1호.(2010.) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589845B1 (en) * 2022-10-20 2023-10-17 주식회사 인피닉 Method for translate sign language video, and computer program recorded on record-medium for executing method thereof

Also Published As

Publication number Publication date
KR102465557B1 (en) 2022-11-10

Similar Documents

Publication Publication Date Title
KR102269893B1 (en) Display device and method for driving display device
US7796191B1 (en) Edge-preserving vertical interpolation
KR102521949B1 (en) Image compensator and method for driving display device
KR102552299B1 (en) Afterimage compensator, display device having the same, and method for driving display device
US20180114483A1 (en) Display Device and Driving Method Thereof
US20160321976A1 (en) Optical compensation system and optical compensation method thereof
KR20070076337A (en) Edge area determining apparatus and edge area determining method
US20130241968A1 (en) Signal processing device, liquid crystal device, electronic apparatus and signal processing method
KR102290687B1 (en) Timing controller, organic light emitting display device including the same and method for compensating deterioration thereof
US20100315548A1 (en) Apparatus and method for frame rate up conversion
KR102337829B1 (en) Method for logo detection and display device using thereof
KR20200088546A (en) Afterimage compensator and display device having the same
CN108932934B (en) Display device and method for driving display device
KR102465557B1 (en) Image processing method and display device using the same
KR20190017293A (en) Image processing method and display device using the same
KR20160046983A (en) Power consumption control method and apparatus and display device using the same
US10587840B1 (en) Image processing method capable of deinterlacing the interlacing fields
KR102623360B1 (en) Video wall device and driving method for of the same
TW201820307A (en) Control method for display
KR102315969B1 (en) Method for Image Processing and Display Device using the same
KR20220085082A (en) Afterimage detection device and display device including the same
KR20180031476A (en) Image processing method and display device using the same
KR20170064647A (en) Display Device and Method of Driving the same
KR102547084B1 (en) Image processing module and display device using the same
KR102508757B1 (en) Image processing device and method, display device

Legal Events

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