KR101215128B1 - Method for frame interpolation - Google Patents
Method for frame interpolation Download PDFInfo
- Publication number
- KR101215128B1 KR101215128B1 KR1020110047797A KR20110047797A KR101215128B1 KR 101215128 B1 KR101215128 B1 KR 101215128B1 KR 1020110047797 A KR1020110047797 A KR 1020110047797A KR 20110047797 A KR20110047797 A KR 20110047797A KR 101215128 B1 KR101215128 B1 KR 101215128B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- block
- interpolation
- frames
- preliminary
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
Abstract
프레임 보간 방법이 개시된다. 먼저, 시간적으로 연속된 제1 프레임 및 제2 프레임을 이용하여 블록 위치 기반 프레임 보간 및 움직임 벡터 위치 기반 프레임 보간을 통해 복수의 예비 프레임을 생성하고, 생성된 복수의 예비 프레임을 병합하여 하나의 병합 프레임을 생성한 후, 생성된 병합 프레임에 포함된 폐색 구간을 보간하여 최종 보간 프레임을 생성한다. 따라서, 프레임 보간의 정확도를 향상시킬 수 있고, 보간된 영상의 품질을 향상시킬 수 있다.A frame interpolation method is disclosed. First, a plurality of preliminary frames are generated through block position based frame interpolation and motion vector position based frame interpolation using the first and second frames that are temporally contiguous, and the generated plurality of preliminary frames are merged into one merge. After generating the frame, the final interpolation frame is generated by interpolating the occlusion sections included in the generated merged frame. Therefore, the accuracy of frame interpolation can be improved, and the quality of the interpolated image can be improved.
Description
본 발명은 동영상의 프레임 레이트 상향 변환(FRUC: Frame Rate Up Conversion) 기술에 관한 것으로, 더욱 상세하게는 영상의 품질을 향상시킬 수 있는 프레임 보간 방법에 관한 것이다.The present invention relates to a frame rate up conversion (FRUC) technique of video, and more particularly, to a frame interpolation method capable of improving image quality.
최근 이동통신 기술과 비디오 압축 기술의 발전에 따라 통신과 방송의 융합이 이루어지고 있고, 디스플레이 장치의 급속한 발전으로 다양한 크기의 영상 포맷과 방대한 양의 고해상도 비디오의 수요가 증가하고 있다.Recently, with the development of mobile communication technology and video compression technology, communication and broadcasting have been converged, and with the rapid development of display devices, the demand for video formats of various sizes and large amounts of high resolution video has increased.
그러나 제한된 대역폭에서 고해상도의 데이터를 손실 없이 전송하기는 현실적으로 매우 어렵고, 이와 같은 문제를 해결하기 위해 다양한 프레임 레이트 상향 변환(frame rate up conversion) 기술이 사용되고 있다.However, it is practically difficult to transmit high resolution data without loss in a limited bandwidth, and various frame rate up conversion techniques have been used to solve this problem.
프레임 레이트 상향 변환은 존재하는 프레임을 이용하여 영상이 가지는 프레임 레이트를 증가시키는 기술로, 같은 시간 동안 더 많은 영상을 제공함으로써 프레임 당 픽셀 값을 유지하는 시간을 감소시켜 화면 끌림 현상을 해결할 수 있다.Frame rate up-conversion is a technique of increasing the frame rate of an image by using an existing frame. By providing more images for the same time, a screen drag phenomenon can be solved by reducing the time to maintain pixel values per frame.
프레임 레이트 상향 변환의 대표적인 방법에는 연속적인 프레임을 추가하는 방법과 움직임 보상을 이용하여 영상을 보간하는 방법이 있다.Representative methods of frame rate up-conversion include adding successive frames and interpolating an image using motion compensation.
연속적인 프레임을 추가하는 방법은 물체의 움직임을 고려하지 않기 때문에 복잡도가 낮고 쉽게 보간이 가능하다. 그러나 영상의 포맷이 확장되거나 물체의 움직임이 클 경우에는 영상이 고르지 못하고 영상이 중복되는 고스트 현상(ghost artefact) 및 화면 끌림 현상이 발생한다. 또한 블록 단위로 보간을 수행하기 때문에 블록간의 경계부분에서 블록화 현상(block artefact)이 발생하는 단점이 있다.The method of adding continuous frames does not take into account the motion of the object, so it is low in complexity and easily interpolated. However, when the format of an image is expanded or the movement of an object is large, ghost artefact and screen drag phenomenon may occur in which the image is uneven and the image is overlapped. In addition, since interpolation is performed on a block basis, a block artefact occurs at a boundary between blocks.
한편, 움직임 보상을 이용하여 영상을 보간하는 방법은 이웃하는 프레임에서 물체의 움직임을 예측하여 새로운 영상을 생성하는 방법이다. 이 방법은 연속적인 프레임을 추가하는 방법에 비해 복잡한 연산량이 요구되지만 화면 끌림 현상 등의 문제점을 해결할 수 있는 방법이다. 그러나, 움직임 보상을 이용한 영상 보간 방법은 이전 프레임에서 예측된 움직임 벡터를 이용하여 선택된 블록이 현재 프레임에서는 선형적으로 움직이는 것으로 가정하여 예측을 수행하기 때문에 움직임 벡터의 예측이 정확하지 않을 경우 현재 프레임에서의 움직임 벡터 또한 잘못된 위치를 선택할 수 있고, 이로 인해 보간되는 프레임에 심각한 블록화 현상이 발생할 수 있는 단점이 있다.Meanwhile, a method of interpolating an image by using motion compensation is a method of generating a new image by predicting a motion of an object in a neighboring frame. This method requires more computational complexity than adding continuous frames, but it can solve problems such as screen dragging. However, since the image interpolation method using motion compensation performs prediction on the assumption that the selected block moves linearly in the current frame using the motion vector predicted in the previous frame, if the prediction of the motion vector is not accurate, The motion vector may also select a wrong position, which may cause serious blocking in the interpolated frame.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 프레임 보간의 정확도를 향상시킬 수 있고, 영상의 품질을 향상시킬 수 있는 프레임 보간 방법을 제공하는 것이다.An object of the present invention for solving the above problems is to provide a frame interpolation method that can improve the accuracy of the frame interpolation, and can improve the quality of the image.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 프레임 보간 방법은, 시간적으로 연속된 제1 프레임 및 제2 프레임을 이용하여 블록 위치 기반 프레임 보간 및 움직임 벡터 위치 기반 프레임 보간을 통해 복수의 예비 프레임을 생성하는 단계와, 상기 생성된 복수의 예비 프레임을 병합하여 하나의 병합 프레임을 생성하는 단계 및 상기 생성된 병합 프레임에 포함된 폐색 구간을 보간하여 최종 보간 프레임을 생성하는 단계를 포함한다.Frame interpolation method according to an aspect of the present invention for achieving the above object of the present invention through the block position-based frame interpolation and motion vector position-based frame interpolation using the first frame and the second frame in time Generating a plurality of preliminary frames, merging the generated plurality of preliminary frames to generate a single merge frame, and generating a final interpolated frame by interpolating the occlusion sections included in the generated merged frames. Include.
여기서, 상기 복수의 예비 프레임을 생성하는 단계는 상기 제2 프레임의 현재 블록에 상응하는 참조 블록을 상기 제1 프레임에서 전역 탐색을 통하여 탐색하는 단계와, PSNR(Peak Signal to Noise Ratio)에 기초하여 임계값을 설정하는 단계와, 상기 전역 탐색을 통해 탐색된 참조 블록의 SAD와 상기 임계값을 비교하는 단계 및 상기 후보 블록의 SAD가 상기 임계값 보다 작은 참조 블록 및 상기 참조 블록에 상응하는 현재 블록에 대해 상기 블록 위치 기반 프레임 보간 및 상기 움직임 벡터 기반 프레임 보간을 통해 보간 블록을 생성하여, 상기 복수의 예비 프레임을 생성하는 단계를 포함할 수 있다.The generating of the plurality of preliminary frames may include searching for a reference block corresponding to a current block of the second frame through a global search in the first frame, and based on a peak signal to noise ratio (PSNR). Setting a threshold, comparing a SAD of the reference block found through the global search with the threshold, and a reference block whose SAD of the candidate block is smaller than the threshold and a current block corresponding to the reference block And generating the interpolation block through the block position based frame interpolation and the motion vector based frame interpolation, for generating the plurality of preliminary frames.
여기서, 상기 복수의 예비 프레임을 생성하는 단계는 양방향 상기 블록 위치 기반 프레임 보간을 통해 두 장의 예비 프레임을 생성하고, 양방향 상기 움직임 벡터 기반 프레임 보간을 통해 두 장의 예비 프레임을 생성할 수 있다.The generating of the plurality of preliminary frames may generate two preliminary frames through the bidirectional block position based frame interpolation, and may generate two preliminary frames through the bidirectional motion vector based frame interpolation.
여기서, 상기 복수의 예비 프레임을 생성하는 단계는 상기 임계값의 가중치를 적용하여 상기 블록 위치 기반 프레임 보간이 상기 움직임 벡터 기반 프레임 보간에 비해 더 낮은 임계값을 가지도록 설정할 수 있다.In the generating of the plurality of preliminary frames, the block position based frame interpolation may be set to have a lower threshold value than the motion vector based frame interpolation by applying the weight of the threshold value.
여기서, 상기 PSNR에 기초하여 임계값을 설정하는 단계는PSNR값으로부터 각 블록의 오차를 계산하여 SSD(Sum of Square Difference)를 산출하는 단계 및 상기 SSD와 SAD(Sum of Absolute Difference)의 비교를 위한 보정계수를 상기 SSD에 적용하여 상기 임계값을 설정하는 단계를 포함할 수 있다.The setting of the threshold value based on the PSNR may include calculating a sum of square difference (SSD) by calculating an error of each block from the PSNR value, and comparing the SSD and sum of absolute difference (SAD). And applying the correction coefficient to the SSD to set the threshold value.
여기서, 상기 하나의 병합 프레임을 생성하는 단계는 상기 복수의 예비 프레임 중 적어도 하나의 예비 프레임 각각의 동일한 위치에 존재하는 데이터의 평균값을 취하여 상기 병합 프레임의 해당 위치에 적용함으로써 상기 병합 프레임을 생성하고, 상기 복수의 예비 프레임 모두에 데이터가 존재하지 않는 위치는 상기 병합 프레임의 해당 위치를 폐색 구간으로 설정하는 단계를 포함할 수 있다.The generating of the merge frame may include generating the merge frame by taking an average value of data existing at the same position of each of the at least one preliminary frame among the plurality of preliminary frames, and applying the average value to the corresponding position of the merge frame. The location where no data exists in all of the plurality of preliminary frames may include setting a corresponding location of the merged frame as a closed section.
여기서, 상기 최종 보간 프레임을 생성하는 단계는 상기 병합 프레임에 포함된 폐색 구간의 픽셀 수를 미리 설정된 기준값과 비교하는 단계 및 상기 폐색 구간의 픽셀 수가 상기 기준값 보다 작은 경우에는 화면내 보간을 수행하여 상기 폐색 구간을 보간하는 단계를 포함할 수 있다.The generating of the final interpolation frame may include comparing the number of pixels of the occlusion period included in the merge frame with a preset reference value and performing intra-screen interpolation when the number of pixels of the occlusion period is smaller than the reference value. And interpolating the occlusion section.
여기서, 상기 화면내 보간을 수행하여 상기 폐색 구간을 보간하는 단계는 상기 폐색 구간을 둘러싸고 있는 픽셀의 평균값을 취하여 상기 폐색 구간을 보간할 수 있다.Here, in the interpolation of the occlusion section by performing the interpolation, the occlusion section may be interpolated by taking an average value of pixels surrounding the occlusion section.
여기서, 상기 최종 보간 프레임을 생성하는 단계는 상기 폐색 구간의 픽셀 수가 상기 기준값 이상인 경우에는 상기 폐색 구간을 포함하는 블록과 인접한 화소들 중 특정 개수의 화소 라인을 참조 라인으로 설정하는 단계와, 상기 제1 프레임 및 상기 제2 프레임에서 상기 폐색 구간을 포함하는 블록 및 상기 설정된 참조 라인을 포함하는 영역을 재탐색하는 단계 및 상기 제1 프레임 및 상기 제2 프레임에서 재탐색을 통해 선택된 블록들의 평균을 취해 상기 폐색 구간을 포함하는 블록에 적용함으로써 상기 폐색 구간을 보간하는 단계를 포함할 수 있다.The generating of the final interpolation frame may include setting a specific number of pixel lines among pixels adjacent to the block including the occlusion section as a reference line when the number of pixels in the occlusion section is greater than or equal to the reference value. Rescanning a block including the occlusion section and a region including the set reference line in one frame and the second frame, and taking the average of blocks selected through rescanning in the first frame and the second frame; The interpolation may be performed by applying the block including the occlusion section.
여기서, 상기 제1 프레임 및 상기 제2 프레임에서 상기 폐색 구간을 포함하는 블록 및 상기 설정된 참조 라인을 포함하는 영역을 재탐색하는 단계는, 상기 복수의 예비 프레임을 생성하는 단계에서 예측된 움직임 벡터를 이용할 수 있다.The rescanning of the block including the occlusion section and the region including the set reference line in the first frame and the second frame may include generating a motion vector predicted in the generating of the plurality of preliminary frames. It is available.
여기서, 상기 제1 프레임 및 상기 제2 프레임에서 상기 폐색 구간을 포함하는 블록 및 상기 설정된 참조 라인을 포함하는 영역을 재탐색하는 단계는, 상기 제1 프레임 및 상기 제2 프레임의 탐색 영역내에서 최소 SHAD(Sum of Absolute Histogram Difference)를 가지는 블록을 탐색할 수 있다.Here, the rescanning of the block including the block section and the set reference line in the first frame and the second frame may be performed at least within a search region of the first frame and the second frame. A block having a sum of absolute histogram difference (SHAD) may be searched.
상기와 같은 본 발명에 따른 프레임 보간 방법에 따르면, 시간적으로 연속하는 이전 프레임과 현재 프레임을 대상으로 블록 단위 프레임 보간 및 움직임 벡터 단위 프레임 보간을 수행하여 각각 2장의 예비 프레임을 생성한 후, 생성된 예비 프레임을 병합하여 하나의 병합 프레임을 생성하고, 생성된 병합 프레임에 포함된 폐색 구간의 크기에 따라 화면내 보간 또는 재탐색을 수행하여 최종 보간 프레임을 생성한다.According to the frame interpolation method according to the present invention as described above, two preliminary frames are generated by performing block unit frame interpolation and motion vector unit frame interpolation with respect to a temporally continuous previous frame and a current frame, respectively. One merge frame is generated by merging the preliminary frames, and the final interpolated frame is generated by performing interpolation or rescanning on the screen according to the size of the occlusion section included in the generated merge frame.
따라서, 보간 프레임의 정확도를 향상시킬 수 있고, 이를 통해 보간된 영상의 객관적 및 주관적 화질을 향상시킬 수 있다.Therefore, it is possible to improve the accuracy of the interpolated frame, thereby improving the objective and subjective image quality of the interpolated image.
도 1은 본 발명의 일 실시예에 따른 프레임 보간 방법을 나타내는 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 프레임 보간 방법에서 임계값의 적용 여부에 따라 생성되는 예비 프레임을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 블록 위치 기반 예비 프레임 생성 과정을 설명하기 위한 개념도이다.
도 4는 도 3에 도시한 블록 위치 기반 예비 프레임 생성 과정을 통해 생성된 두 장의 예비 프레임을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 움직임 벡터 위치 기반 예비 프레임 생성 과정을 설명하기 위한 개념도이다.
도 6은 도 5에 도시한 움직임 벡터 위치 기반 예비 프레임 생성 과정을 통해 생성된 두 장의 예비 프레임을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 프레임 병합 과정을 나타내는 개념도이다.
도 8은 도 7에 도시한 프레임 병합 과정을 통해 생성된 병합 프레임을 나타낸다.
도 9는 본 발명의 일 실시예에 따른 프레임 보간 방법에서 병합 프레임의 화면내 보간 방법을 설명하기 위한 개념도이다.
도 10은 본 발명의 일 실시예에 따른 프레임 보간 과정에서 병합 프레임의 폐색 구간을 보간하기 위한 재탐색 대상 블록을 나타낸다.
도 11은 본 발명의 일 실시예에 따른 프레임 보간 과정에서 재탐색에 사용되는 참조 라인을 적응적으로 선택하는 과정을 설명하기 위한 개념도이다.
도 12는 본 발명의 일 실시예에 따른 프레임 보간 과정에서 화면내 보간을 통해 생성된 영상과 원본 영상을 비교하여 나타낸 것이다.
도 13은 본 발명의 일실시예에 따른 프레임 보간 과정에서 블록 재탐색 과정을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 프레임 보간 방법의 객관적 성능 평가 결과를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 프레임 보간 방법의 주관적 성능 평가 결과를 나타낸다.1 is a flowchart illustrating a frame interpolation method according to an embodiment of the present invention.
2 illustrates a preliminary frame generated according to whether a threshold is applied in a frame interpolation method according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a block position based preliminary frame generation process according to an embodiment of the present invention.
FIG. 4 illustrates two spare frames generated through the block position based preliminary frame generation process shown in FIG. 3.
5 is a conceptual diagram illustrating a process of generating a preliminary frame based on motion vector position according to an embodiment of the present invention.
FIG. 6 shows two spare frames generated through the motion vector position based preliminary frame generation process shown in FIG.
7 is a conceptual diagram illustrating a frame merging process according to an embodiment of the present invention.
FIG. 8 illustrates a merge frame generated through the frame merging process shown in FIG. 7.
9 is a conceptual diagram illustrating an intrapolation method of a merge frame in a frame interpolation method according to an embodiment of the present invention.
FIG. 10 illustrates a rescan target block for interpolating a closed section of a merged frame in a frame interpolation process according to an embodiment of the present invention.
FIG. 11 is a conceptual diagram illustrating a process of adaptively selecting a reference line used for rescan in a frame interpolation process according to an embodiment of the present invention.
12 illustrates a comparison between an image generated through intrapolation and an original image in a frame interpolation process according to an embodiment of the present invention.
13 is a conceptual diagram illustrating a block rescan process in a frame interpolation process according to an embodiment of the present invention.
14 shows an objective performance evaluation result of the frame interpolation method according to an embodiment of the present invention.
15 shows a subjective performance evaluation result of the frame interpolation method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used 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.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 프레임 보간 방법을 나타내는 흐름도이다. 도 1에 도시한 프레임 보간 방법은 프레임 보간 장치에서 수행될 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 프레임 보간 방법은 다양한 디스플레이 장치에 하드웨어적으로 구현된 프레임 보간 모듈이나 칩에 의해 수행될 수도 있고, 소프트웨어적으로 수행될 수도 있다.1 is a flowchart illustrating a frame interpolation method according to an embodiment of the present invention. The frame interpolation method shown in FIG. 1 may be performed in a frame interpolation apparatus. For example, the frame interpolation method according to an embodiment of the present invention may be performed by a frame interpolation module or chip implemented in hardware in various display apparatuses or may be performed in software.
이하, 도 1을 참조하여 본 발명의 일 실시예에 따른 프레임 보간 방법의 전체적인 동작을 설명한다.Hereinafter, the overall operation of the frame interpolation method according to an embodiment of the present invention will be described with reference to FIG. 1.
본 발명의 일 실시예에 따른 프레임 보간 방법은 크게 블록 단위 프레임 보간 및 움직임 벡터 단위 프레임 보간을 이용하여 복수의 예비 프레임을 생성하는 과정과(단계 110), 생성된 복수의 예비 프레임을 병합하여 하나의 병합 프레임을 생성하는 과정과(단계 130), 생성된 병합 프레임에 포함된 폐색 구간을 정정하여 최종 보간 프레임을 생성하는 과정(단계 150)을 포함한다.The frame interpolation method according to an embodiment of the present invention comprises the steps of generating a plurality of preliminary frames by using block interpolation and motion vector unit interpolation (step 110) and merging the generated plurality of preliminary frames. And generating a final interpolated frame by correcting the occlusion period included in the generated merged frame (step 150).
먼저, 예비 프레임 생성 과정(단계 110)에서는, 정밀한 움직임 벡터의 추정을 위해 1/4 화소 단위의 보간된 영상을 이용하여 전역 탐색을 수행한다(단계 111). 정수 화소 단위 이하의 부화소 단위를 이용한 움직임 보상은 정수 화소 단위의 움직임 보상 보다 복잡도는 증가하나 더 좋은 압축 효율을 제공한다. 또한, 1/4 화소 단위의 움직임 보상의 정확도는 1/2 화소 단위의 움직임 보상 보다 성능이 더 좋기 때문에 H.264/AVC에서는 1/4 화소 단위의 움직임 보상을 의무적으로 수행하도록 규정하고 있다.First, in the preliminary frame generation process (step 110), a global search is performed using an interpolated image of 1/4 pixel units for accurate estimation of the motion vector (step 111). Motion compensation using subpixel units of integer pixel or less provides better compression efficiency, although the complexity is increased than that of integer pixel units. In addition, since the accuracy of the motion compensation in the unit of 1/4 pixel is better than the motion compensation in the unit of 1/2 pixel, H.264 / AVC stipulates to perform the motion compensation in unit of 1/4 pixel.
상술한 바와 같이 1/4 화소 단위로 보간된 영상을 이용하여 움직임 벡터를 예측한다고 하더라도 카메라 줌인, 줌아웃, 카메라 패닝, 빛의 변화, 노이즈 등의 현상이 영상 내에서 발생할 경우에는 잘못된 움직임 벡터를 예측할 수 있다.As described above, even when the motion vector is predicted using the interpolated image in the unit of 1/4 pixel, when the zooming in, zooming out, panning, light change, noise, etc. occur in the image, the wrong motion vector may be predicted. Can be.
따라서, 본 발명의 일 실시예에 따른 프레임 보간 방법에서는 움직임 보상 예측 과정에서 정확히 예측된 움직임 벡터만을 선택하여 프레임 보간에 이용하기 위해서 임계값(T)을 설정한다(단계 113).Therefore, in the frame interpolation method according to an embodiment of the present invention, a threshold value T is set to select only a motion vector accurately predicted in the motion compensation prediction process and use it for frame interpolation (step 113).
구체적으로, 참조되는 이전 프레임과 현재 프레임은 시간적으로 인접하기 때문에 두 프레임간의 상관도는 높다. 따라서 두 프레임의 예측오차 값들을 각각 제곱하여 그 총합을 산출하는 방법인 SSD(Sum of Square Difference)를 이용하여 임계값을 설정한다. 수학식 1은 SSD를 나타낸다.In detail, since the referenced previous frame and the current frame are adjacent in time, the correlation between the two frames is high. Therefore, a threshold value is set using a sum of square difference (SSD), which is a method of calculating the sum of squared prediction error values of two frames.
수학식 1에서, N은 블록의 크기를 나타내고, ft-1은 이전 프레임을 나타내며, ft+1은 현재 프레임을 나타내고, (i, j)는 화소의 위치를 나타낸다. SSD는 예측되는 각 블록의 크기(NㅧN) 내에 존재하는 화소의 오차값을 통해 참조 블록과 예측 블록의 상관도를 고려하기 때문에 각 블록은 서로 다른 SSD 값을 가지게 된다. 따라서, SSD가 최적이 되는 값을 임계값으로 설정하면 상기한 영상의 변화에 대응할 수 있는 임계값의 설정이 가능하다.In
한편, 영상을 압축부호화할 경우 화질이 어느 정도 열화 되었는가를 측정하는 척도로 PSNR(Peak Signal to Noise Ratio)을 이용한다. PSNR은 부호화기에 입력되는 영상을 기준으로 복호화기에서 복원되는 영상과의 부호화 오차를 측정하는데 사용된다. PSNR이 작은 경우는 화질의 열화가 심하다는 것을 의미하고, PSNR이 큰 경우는 주관적인 화질이 좋음을 의미한다. 상기한 바와 같이 화질의 열화를 측정하는 PSNR을 이용하면 예측 오차의 기준이 되는 임계값을 설정할 수 있다. 수학식 2는 PSNR로부터 SSD를 구하는 과정을 나타낸다.On the other hand, PSNR (Peak Signal to Noise Ratio) is used as a measure of how much image quality deteriorates when compressing an image. The PSNR is used to measure an encoding error with an image reconstructed by the decoder based on an image input to the encoder. If the PSNR is small, the degradation of image quality is severe. If the PSNR is large, the subjective quality is good. As described above, when the PSNR is used to measure the deterioration of the image quality, a threshold value that is a reference for the prediction error may be set. Equation 2 shows a process of obtaining an SSD from the PSNR.
수학식 2에서 MSE(Mean Square Error)는 부호화기의 입력 영상과 복호화기로부터 복원된 영상 사이의 차이값의 평균을 나타낸다. 주관적으로 영상의 열화가 발생하지 않는 PSNR 값으로부터 각 블록의 예측 오차를 계산하여 일반적인 블록이 가지는 SSD 값을 얻을 수 있다. 최종적으로 임계값(T)은 수학식 3과 같이 움직임 보상 과정에서 움직임 벡터를 추정하기 위해 사용되는 SAD(Sum of Absolute Difference)와의 비교를 위해 보정계수(scale factor, 1/)를 곱하여 산출된다. In Equation 2, Mean Square Error (MSE) represents an average of difference values between an input image of an encoder and an image reconstructed from a decoder. An SSD value of a general block may be obtained by calculating a prediction error of each block from a PSNR value in which image degradation does not occur subjectively. Finally, the threshold value T is a
상술한 바와 같이 임계값(T)이 설정되면, 전역 탐색 과정에서 예측 블록과 후보 블록들 사이에 SAD를 계산하여 최소 SAD를 가지는 후보 블록을 참조 블록으로 설정하고(115), 상기 SAD를 단계 113에서 설정된 임계값과 비교한다(단계 117). 여기서, SAD가 임계값(T) 이상인 경우에는 움직임 벡터가 부정확함을 의미하므로, 해당 예측 블록에 대응되는 블록을 예비 프레임에서 제외시킴으로써 폐색 구간으로 설정하고, SAD가 임계값(T) 보다 작은 경우에 대해서만 예비 프레임에서 해당 예측 블록에 대응되는 블록을 보간한다.As described above, when the threshold value T is set, in the global search process, the SAD is calculated between the prediction block and the candidate blocks, the candidate block having the minimum SAD is set as the reference block (115), and the SAD is determined in
예비 프레임은 후술하는 바와 같이 블록 위치 기반 프레임 보간을 통하여 2장의 예비 프레임을 생성하고(단계 119), 움직임 벡터 위치 기반 프레임 보간을 통하여 2장의 예비 프레임을 생성하여(단계 121), 총 4장의 예비 프레임을 생성한다.The preliminary frame generates two preliminary frames through block position based frame interpolation (step 119), and generates two preliminary frames through motion vector position based frame interpolation (step 121). Create a frame.
이후, 예비 프레임 생성 과정에서 생성된 총 4장의 예비 프레임을 병합하여 하나의 병합 프레임을 생성하고(단계 130), 생성된 병합 프레임에 포함된 폐색 구간을 보간하여 최종 보간 프레임을 생성한다(단계 150).Subsequently, one merge frame is generated by merging a total of four preliminary frames generated in the preliminary frame generation process (step 130), and a final interpolated frame is generated by interpolating the occlusion sections included in the generated merge frame (step 150). ).
최종 보간 프레임의 생성 과정(단계 150)은 폐색 구간의 픽셀 수를 미리 설정된 임계값(β)과 비교하여(단계 151), 폐색 구간의 픽셀 수가 상기 임계값(β) 보다 작은 경우에는 화면내 보간을 수행하여 폐색 구간을 보간한다(단계 153).The process of generating the final interpolation frame (step 150) compares the number of pixels in the occlusion section with a preset threshold (β) (step 151), and in-screen interpolation when the number of pixels in the occlusion section is smaller than the threshold (β). To interpolate the occlusion section (step 153).
또는, 폐색 구간의 픽셀 수가 상기 임계값(β) 이상인 경우에는 폐색 구간에 상응하여 적응적으로 참조 라인을 선택한 후, 참조 라인을 포함하는 폐색 구간을 이용하여 재탐색을 수행하여 최소 SHAD를 가지는 블록을 참조 블록으로 선택한 후, 선택된 참조 블록을 이용하여 폐색 구간을 보간함으로써 최종 보간 프레임을 생성한다(단계 155).
Alternatively, when the number of pixels in the occlusion section is greater than or equal to the threshold β, the block is selected to adaptively select a reference line corresponding to the occlusion section and then rescan using the occlusion section including the reference line to have a minimum SHAD. Is selected as a reference block, and then a final interpolation frame is generated by interpolating the occlusion interval using the selected reference block (step 155).
이하, 도 1에 도시한 본 발명의 일 실시예에 따른 프레임 보간 방법을 보다 구체적으로 설명한다.Hereinafter, a frame interpolation method according to an embodiment of the present invention shown in FIG. 1 will be described in more detail.
도 2는 본 발명의 일 실시예에 따른 프레임 보간 방법에서 임계값의 적용 여부에 따라 생성되는 예비 프레임을 나타낸다.2 illustrates a preliminary frame generated according to whether a threshold is applied in a frame interpolation method according to an embodiment of the present invention.
도 2의 (a)는 움직임 벡터를 이용하여 프레임을 생성하는 과정에서 임계값을 적용하지 않은 영상이다. 확대된 영상을 살펴보면 사람의 치아 부분은 정확하지 않은 움직임 벡터로부터 블록이 생성되어 영상이 깨지는 현상이 발생함을 알 수 있다.FIG. 2A illustrates an image in which a threshold is not applied while generating a frame using a motion vector. Looking at the enlarged image, it can be seen that the tooth part of a human is generated from a block generated from an inaccurate motion vector, causing the image to break.
도 2의 (b)는 동일한 영상에 대해 임계값을 적용한 결과를 나타내는 것으로, 도 2의 (a)에서 잘못된 움직임 벡터를 예측한 블록이 도 2의 (b)에서는 폐색 구간으로 나타나게 된다.FIG. 2B shows a result of applying a threshold value to the same image. In FIG. 2B, a block predicting an incorrect motion vector is shown as a blockage section in FIG. 2B.
도 2에 도시한 바와 같이 본 발명의 일 실시예에 따른 프레임 보간 방법에서는 움직임 벡터를 이용하여 예비 프레임을 생성하는 과정에서 임계값을 적용하여 신뢰도가 높은 블록만을 선택한다.
As illustrated in FIG. 2, in the frame interpolation method, only a block having high reliability is selected by applying a threshold in the process of generating a preliminary frame using a motion vector.
상술한 바와 같이 임계값(T)이 결정되면, 1/4화소 단위로 보간된 영상을 이용하여 예비 프레임 생성한다. 여기서, 최소 SAD 값을 가지는 참조 블록을 검출하기 위해 전역탐색 과정을 수행한다. SAD는 참조 블록과 현재 블록에 포함되어 있는 픽셀간의 차분값의 절대치를 계산하여 합하는 방식으로 효율적인 블록 예측을 위해 사용된다.As described above, when the threshold value T is determined, a preliminary frame is generated using an image interpolated in units of 1/4 pixels. Here, the global search process is performed to detect the reference block having the minimum SAD value. SAD is used for efficient block prediction by calculating and summing the absolute values of the difference values between the reference block and the pixels included in the current block.
그러나 최소 SAD를 가지는 블록이라 할지라도 에러를 포함하는 블록이 선택될 수 있다. 이러한 에러를 포함하는 블록을 판별하기 위해 양방향 움직임 추정을 통해 프레임을 생성하는 과정에서 임계값(T)을 적용하여 임계값(T) 미만의 SAD를 가지는 블록만을 선택한다.However, even if the block has the minimum SAD, a block containing an error may be selected. In order to determine a block containing such an error, in the process of generating a frame through bidirectional motion estimation, a threshold value T is applied to select only blocks having a SAD less than the threshold value T.
종래에는 양방향 움직임 추정을 이용하여 보간 프레임을 생성하기 위하여 블록단위 또는 움직임 벡터 위치 기반 프레임 보간 방법을 선택적으로 사용하였다. 그러나, 임계값을 설정하여 한가지 방법만을 이용할 경우에는 각 프레임에 폐색구간이 존재하기 때문에 추가적인 보간 과정에 필요한 데이터량이 부족하게 된다.In the past, a block interpolation or motion vector position based frame interpolation method was selectively used to generate an interpolation frame using bidirectional motion estimation. However, in case of using only one method by setting the threshold value, since the occlusion section exists in each frame, the amount of data required for the additional interpolation process is insufficient.
따라서 본 발명의 일 실시예에 따른 프레임 보간 방법에서는 움직임 보상 과정에서 예측된 움직임 벡터를 이용하여 블록 위치 기반 프레임 보간 방법과 움직임 벡터 위치 기반 프레임 보간 방법을 모두 적용하여 양방향 움직임 추정 과정을 통해 총 4장의 예비 프레임을 생성한다.Therefore, in the frame interpolation method according to an embodiment of the present invention, a block position based frame interpolation method and a motion vector position based frame interpolation method are applied by using the motion vector predicted in the motion compensation process, and then, a total of 4 operations are performed. Create a spare frame for the chapter.
수학식 4는 양방향 움직임 예측 과정에서 SAD 계산을 나타내고, 수학식 5 및 수학식 6은 임계값이 적용된 프레임 보간 과정을 나타낸다.Equation 4 represents the SAD calculation in the bidirectional motion prediction process, and equations 5 and 6 represent the frame interpolation process to which the threshold is applied.
수학식 4 내지 수학식 6에서 mv는 움직임 벡터를 나타내고, MCFIco는 블록위치 기반 프레임 보간 방법을 나타내고, MCFItr은 움직임 벡터 위치 기반 프레임 보간 방법을 나타낸다. 또한, Bx,y는 참조 프레임 ft-1(즉, 이전 프레임)로부터 예측된 움직임 벡터를 나타내고, Fx,y는 참조 프레임 ft+1(즉, 현재 프레임)로부터 예측된 움직임 벡터를 나타낸다. 즉, 두 참조 프레임의 양방향 움직임 보상 과정을 통해 서로 다른 움직임 벡터를 예측한다. 또한, 수학식 5에서 α는 임계값 적용 가중치를 나타낸다. 즉, 블록위치 기반 프레임 보간 방법에서는 움직임 벡터 위치 기반 프레임 보간 방법보다 더 낮은 임계값이 적용된다. In Equations 4 to 6, mv represents a motion vector, MCFI co represents a block position based frame interpolation method, and MCFI tr represents a motion vector position based frame interpolation method. Also, B x, y represents the motion vector predicted from the reference frame f t-1 (ie, the previous frame), and F x, y represents the motion vector predicted from the reference frame f t + 1 (ie, the current frame). Indicates. That is, different motion vectors are predicted through a bidirectional motion compensation process of two reference frames. In Equation 5, α represents a threshold application weight. That is, in the block position based frame interpolation method, a lower threshold is applied than the motion vector position based frame interpolation method.
수학식 5와 같이 각 블록이 가지는 SAD를 임계값(T)와 비교하여 SAD가 임계값(T)보다 적은 블록을 대상으로 블록 위치 기반으로 보간된 두 장의 예비 프레임 과, 수학식 6과 같이 움직임 벡터 위치 기반으로 보간된 두 장의 예비 프레임 을 생성한다.
As shown in Equation 5, by comparing the SAD of each block with the threshold value T, two preliminary frames interpolated based on the block position for the block having the SAD less than the threshold value T. And two spare frames interpolated based on the motion vector position as shown in Equation (6). .
도 3은 본 발명의 일 실시예에 따른 블록 위치 기반 예비 프레임 생성 과정을 설명하기 위한 개념도이고, 도 4는 도 3에 도시한 블록 위치 기반 예비 프레임 생성 과정을 통해 생성된 두 장의 예비 프레임을 나타낸다.3 is a conceptual diagram illustrating a block position based preliminary frame generation process according to an embodiment of the present invention, and FIG. 4 illustrates two preliminary frames generated through the block position based preliminary frame generation process shown in FIG. 3. .
도 3 및 도 4를 참조하면, 블록 위치 기반 예비 프레임 생성 과정은 양방향 블록 위치 기반 보간을 통하여 2장의 예비 프레임(및 )을 생성한다. 3 and 4, the block position based preliminary frame generation process includes two preliminary frames (2) through bidirectional block position based interpolation. And ).
먼저, 도 3의 (a)에 도시한 바와 같이 순방향 움직임 보상을 수행하여 이전 프레임 ft -1에서 예측된 움직임 벡터를 이용하여 예비 프레임 의 동일한 위치 (i, j)에 블록을 보간한다. First, as shown in (a) of FIG. 3, a forward frame is performed using a motion vector predicted in a previous frame f t −1 to perform a forward motion compensation. Interpolate the block at the same position (i, j).
또한, 도 3의 (b)에 도시한 바와 같이 역방향 움직임 보상을 수행하여 현재 프레임 ft +1로부터 예측된 움직임 벡터를 이용하여 예비 프레임 에 블록을 생성한다. In addition, as shown in (b) of FIG. 3, the backward motion compensation is performed to reserve the frame using the motion vector predicted from the current frame f t +1 . Create a block in.
최종적으로 생성되는 예비 프레임 및 는 수학식 7과 같이 나타낼 수 있다.The last frame created And May be expressed as in Equation 7.
수학식 7에서 는 순방향 움직임 보상 과정으로부터 예측된 움직임 벡터 (Bx, By)가 적용된 이전 프레임 ft -1 및 현재 프레임 ft +1에 포함된 각 해당 블록의 평균값을 통해 생성된 프레임을 의미하고, 는 역방향 움직임 보상 과정으로부터 예측된 움직임 벡터 (Fx, Fy)가 적용된 이전 프레임 ft -1 및 현재 프레임 ft +1에 포함된 각 해당 블록의 평균값을 통해 생성된 프레임을 의미한다.In equation (7) Denotes a frame generated through the average value of each corresponding block included in the previous frame f t -1 and the current frame f t +1 to which the motion vector (B x , B y ) predicted from the forward motion compensation process is applied. Denotes a frame generated through an average value of each corresponding block included in the previous frame f t -1 and the current frame f t +1 to which the motion vectors F x and F y predicted from the backward motion compensation process are applied.
도 4에 도시한 바와 같이, 본 발명의 일 실시예에 따른 프레임 보간 방법에서는 양방향 블록 위치 기반 예비 프레임 생성 과정을 통해 두 장의 예비 프레임을 생성한다. As shown in FIG. 4, the frame interpolation method generates two preliminary frames through a bidirectional block position based preliminary frame generation process.
도 4의 (a)는 순방향 움직임 보상 과정을 수행하여 생성한 예비 프레임()을 나타내고, 도 4의 (b)는 역방향 움직임 보상 과정을 수행하여 생성한 예비 프레임()을 나타낸다. 블록 위치 기반 프레임 보간 과정(MCFIco) 에서는 수학식 5에 나타낸 바와 같이 움직임 벡터 위치 기반 프레임 보간 방법(MCFItr은) 보다 높은 임계값을 적용하였기 때문에 도 4에 도시한 바와 같이 생성된 프레임이 많은 폐색 구간을 포함하게 된다. 이는 프레임 병합 과정에서 발생할 수 있는 불필요한 영상의 중복을 방지하고, 최종적으로 생성된 보간 영상의 정확성을 높일 수 있다.
4 (a) shows a preliminary frame generated by performing a forward motion compensation process ( 4, (b) shows a preliminary frame generated by performing a backward motion compensation process ( ). In the block position based frame interpolation process (MCFI co ), as shown in Equation 5, since a higher threshold value is applied than the motion vector position based frame interpolation method (MCFI tr ), as shown in FIG. It will include an occlusion section. This may prevent duplication of unnecessary images that may occur in the frame merging process and increase the accuracy of the finally generated interpolated image.
도 5는 본 발명의 일 실시예에 따른 움직임 벡터 위치 기반 예비 프레임 생성 과정을 설명하기 위한 개념도이고, 도 6은 도 5에 도시한 움직임 벡터 위치 기반 예비 프레임 생성 과정을 통해 생성된 두 장의 예비 프레임을 나타낸다.FIG. 5 is a conceptual diagram illustrating a motion vector position based preliminary frame generation process according to an embodiment of the present invention, and FIG. 6 is two preliminary frames generated through the motion vector position based preliminary frame generation process shown in FIG. 5. Indicates.
도 5 및 도 6을 참조하면, 움직임 벡터 위치 기반 예비 프레임 생성 과정은 양방향 움직임 벡터 기반 보간을 통하여 2장의 예비 프레임( 및 )을 생성한다.5 and 6, the process of generating a motion vector position based preliminary frame includes two preliminary frames (2) through bidirectional motion vector based interpolation. And ).
먼저, 도 5의 (a)에 도시한 바와 같이 이전 프레임 ft-1에서 예측된 움직임 벡터(Bx, By)를 이용하여 현재 프레임 ft+1의 현재 블록 위치(i,j)와 이전 프레임 ft-1의 참조 블록의 위치(i+Bx,j+By)의 중간 위치(i+0.5Bx,j+0.5By)에 하기의 수학식 8을 이용하여 보간 블록을 생성한다.First, as shown in (a) of FIG. 5, the current block position (i, j) of the current frame f t + 1 is obtained using the motion vectors B x and B y predicted in the previous frame f t-1 . An interpolation block is expressed at the intermediate position (i + 0.5B x , j + 0.5B y ) of the reference block (i + B x , j + B y ) of the previous frame f t-1 by using Equation 8 below. Create
또한, 도 5의 (b)에 도시한 바와 같이 현재 프레임 ft+1로부터 예측된 움직임 벡터(Fx, Fy)를 이용하여 이전 프레임 ft-1의 현재 블록 위치(i,j)와 현재 프레임 ft+1의 참조 블록의 위치(i+Fx,j+Fy)의 중간 위치(i+0.5Fx,j+0.5Fy)에 하기의 수학식 9를 이용하여 보간 블록을 생성한다.Also, as shown in (b) of FIG. 5, the current block position (i, j) of the previous frame f t-1 and the current block f t-1 using the motion vectors F x and F y predicted from the current frame f t + 1 An interpolation block is expressed in the intermediate position (i + 0.5F x , j + 0.5F y ) of the reference block (i + F x , j + F y ) of the current frame f t + 1 using Equation 9 below. Create
여기서, 는 순방향 움직임 보상 과정으로부터 예측된 움직임 벡터 (Bx, By)의 중간 위치에 현재 프레임의 블록과 이전 프레임의 블록의 평균을 적용함으로써 생성한 예비 프레임을 나타내고, 는 역방향 움직임 보상 과정으로부터 예측된 움직임 벡터 (Fx, Fy)의 중간 위치에 현재 프레임의 블록과 이전 프레임의 블록의 평균을 적용함으로써 생성한 예비 프레임을 나타낸다. here, Denotes a preliminary frame generated by applying an average of blocks of the current frame and blocks of the previous frame to intermediate positions of the motion vectors (B x , B y ) predicted from the forward motion compensation process, Denotes a preliminary frame generated by applying an average of a block of a current frame and a block of a previous frame to an intermediate position of a motion vector (F x , F y ) predicted from a backward motion compensation process.
도 5에 도시한 바와 같이 예측된 움직임 벡터에 기초하여 예비 프레임을 생성하는 경우, 예비 프레임을 구성하는 각 블록들은 움직임 벡터에 따라 불규칙하게 위치하게 된다. 즉, 도 6에 도시한 바와 같이 생성된 예비 프레임에는 블록간에 중복되는 구간이 발생할 수도 있고, 영상이 생성되지 않는 폐색 구간이 발생할 수도 있다. 여기서, 블록이 중복되는 영역에 대해서는 두 영역의 평균값을 취함으로써 데이터 손실을 방지할 수 있다.When generating the preliminary frame based on the predicted motion vector as shown in FIG. 5, each block constituting the preliminary frame is irregularly positioned according to the motion vector. That is, in the preliminary frame generated as shown in FIG. 6, a section overlapping between blocks may occur, or a blockage section in which an image is not generated may occur. Here, data loss can be prevented by taking an average value of two areas in areas where blocks overlap.
또한, 도 6에 도시한 바와 같이 생성된 두 장의 예비 프레임은 서로 다른 움직임 정보를 고려하기 때문에 동일한 영상인 경우에도 폐색구간의 위치는 서로 다를 수 있다. In addition, since the two preliminary frames generated as shown in FIG. 6 consider different motion information, positions of the occlusion sections may be different even in the same image.
상술한 바와 같이 블록 위치 기반 프레임 보간을 통해 두 장의 예비 프레임을 생성하고, 움직임 벡터 위치 기반 프레임 보간을 통해 두 장의 예비 프레임이 생성되면, 생성된 총 4장의 예비 프레임을 폐색 구간의 처리를 위해 하나의 프레임으로 병합한다. 여기서, 생성된 각 예비 프레임은 보간 과정과 적용된 움직임 벡터가 서로 다르기 때문에 서로 다른 위치의 폐색 구간을 포함할 수 있다.
As described above, when two preliminary frames are generated through block position based frame interpolation, and two preliminary frames are generated through motion vector position based frame interpolation, a total of four preliminary frames generated are one for processing the occlusion interval. Merge into frames. Here, each generated preliminary frame may include occlusion sections at different positions because the interpolation process and the applied motion vector are different.
도 7은 본 발명의 일 실시예에 따른 프레임 병합 과정을 나타내는 개념도이고, 도 8은 각 예비 프레임의 병합을 통해 생성된 병합 프레임을 나타낸다. 7 is a conceptual diagram illustrating a frame merging process according to an embodiment of the present invention, and FIG. 8 illustrates a merge frame generated by merging respective preliminary frames.
도 7및 도 8을 참조하면, 프레임 병합 과정에서는 4장의 모든 예비 프레임의 동일한 위치에 데이터가 존재하는 경우에는 모든 프레임의 동일한 위치의 데이터의 평균값을 취하여 병합 프레임의 해당 위치에 적용하고, 1장 이상의 예비 프레임에 데이터가 존재하지 않는 경우에는 데이터가 존재하지 않는 예비 프레임을 제외한 나머지 프레임들의 동일 위치의 데이터에 대해 평균값을 취하여 병합 프레임의 해당 위치에 적용함으로써 병합 프레임()을 생성한다. 또는, 모든 프레임에 데이터가 존재하지 않는 경우에는 병합 프레임의 해당 위치를 폐색 구간으로 선택한다.7 and 8, in the frame merging process, when data exists at the same position of all four preliminary frames, the average value of the data at the same position of all the frames is taken and applied to the corresponding position of the merged frame. If no data exists in the above spare frame, the average value is taken for the data in the same position of the remaining frames except for the preliminary frame in which no data exists, and then applied to the corresponding position of the merge frame. ). Alternatively, when data does not exist in all frames, the corresponding position of the merge frame is selected as the occlusion section.
상술한 바와 같이 4장의 예비 프레임을 병합하는 과정에서 각 예비 프레임에 포함된 많은 폐색구간이 보간될 수 있다. 그러나, 모든 예비 프레임에 데이터가 존재하지 않는 구간에 대해서는 도 8에 도시한 바와 같이 병합 프레임()의 해당 구간도 역시 폐색 구간으로 남게 되는데, 이와 같은 폐색 구간에 대해서는 화면내 보간 방법 또는 재탐색을 통한 움직임 벡터의 예측을 이용하여 영상을 보간하여 최종 보간 영상을 생성한다.
As described above, in the process of merging four preliminary frames, many occlusion sections included in each preliminary frame may be interpolated. However, for a section in which no data exists in all spare frames, as shown in FIG. 8, the merge frame ( The corresponding section of) also remains as an occlusion section. For this occlusion section, the final interpolation image is generated by interpolating the image using an intra-screen interpolation method or a prediction of a motion vector through rescanning.
도 9는 본 발명의 일 실시예에 따른 프레임 보간 방법에서 병합 프레임의 화면내 보간 방법을 설명하기 위한 개념도이다.9 is a conceptual diagram illustrating an intrapolation method of a merge frame in a frame interpolation method according to an embodiment of the present invention.
도 8의 (a)에 도시한 바와 같이 병합 프레임()에는 화소 형태의 폐색 구간이 존재할 수 있고, 이와 같은 화소 형태의 폐색 구간은 그 영역이 작기 때문에 움직임 보상을 통한 보간 보다 화면내 보간을 수행하는 것이 연산량을 줄이면서 정확도를 향상시킬 수 있다. 수학식 10은 병합 프레임()에 포함된 화소 단위의 폐색 구간의 화면내 보간을 수행하기 위한 수식을 나타낸다.As shown in FIG. 8A, the merge frame ( ), There may be a pixel occlusion section, and since the pixel occlusion section has a small area, performing interpolation on the screen rather than interpolation through motion compensation may improve the accuracy while reducing the amount of computation. Equation 10 is a merge frame ( ) Represents an expression for performing intra-screen interpolation of the occlusion section in units of pixels.
수학식 10에서 β는 화면내 보간을 수행하기 위한 블록을 결정하기 위한 임계값을 의미하고 본 발명의 일 실시예에서는 16으로 예를 들어 설명한다. 또한, S는 선택된 폐색 구간을 둘러싸고 있는 픽셀의 평균값을 나타내고, N은 이웃하는 데이터가 존재하지 않는 픽셀의 수를 나타낸다.In Equation 10, β denotes a threshold value for determining a block for performing intra-screen interpolation, and an embodiment of the present invention will be described with reference to 16. In addition, S represents an average value of pixels surrounding the selected occlusion section, and N represents the number of pixels for which there is no neighboring data.
즉, 도 9의 (a)에 도시한 바와 같이 소정의 블록 내에 존재하지 않는 픽셀의 수가 β(즉 16)보다 작을 경우에는 수학식 10에 나타낸 바와 같이 이웃하는 데이터를 이용하여 해당 구간을 보간한다. That is, as shown in (a) of FIG. 9, when the number of pixels not present in the predetermined block is smaller than β (ie, 16), the interval is interpolated using neighboring data as shown in Equation 10. .
도 9의 (b)는 상술한 방법으로 화면내 보간을 수행한 결과 영상을 나타낸다. 도 9의 (b)에 도시한 바와 같이 화면내 보간을 수행한 병합 프레임에 포함된 폐색구간은 재탐색을 통한 움직임 벡터의 예측을 이용하여 보간을 수행하여 최종 보간 영상을 생성한다.
9B shows an image of the result of performing the interpolation in the screen by the above-described method. As shown in (b) of FIG. 9, the interpolation interval included in the merged frame in which the interpolation is performed may generate the final interpolation image by performing interpolation using prediction of the motion vector through rescan.
도 10은 본 발명의 일 실시예에 따른 프레임 보간 과정에서 병합 프레임의 폐색 구간을 보간하기 위한 재탐색 대상 블록을 나타내고, 도 11은 본 발명의 일 실시예에 따른 프레임 보간 과정에서 재탐색에 사용되는 참조 라인을 적응적으로 선택하는 과정을 설명하기 위한 개념도이다. 또한, 도 12는 본 발명의 일 실시예에 따른 프레임 보간 과정에서 화면내 보간을 통해 생성된 영상과 원본 영상을 비교하여 나타낸 것이고, 도 13은 본 발명의 일실시예에 따른 프레임 보간 과정에서 블록 재탐색 과정을 설명하기 위한 개념도이다.FIG. 10 illustrates a rescan target block for interpolating a closed section of a merged frame in a frame interpolation process according to an embodiment of the present invention, and FIG. 11 is used for rescan in a frame interpolation process according to an embodiment of the present invention. A conceptual diagram illustrating a process of adaptively selecting a reference line to be used. 12 illustrates a comparison of an image generated by interpolation and an original image in a frame interpolation process according to an embodiment of the present invention, and FIG. 13 illustrates a block in a frame interpolation process according to an embodiment of the present invention. A conceptual diagram illustrating the rescan process.
이하, 도 10 내지 도 13을 참조하여, 병합 프레임에 포함된 폐색 구간을 재탐색을 통해 보간하는 과정을 설명한다.Hereinafter, referring to FIGS. 10 to 13, a process of interpolating a closed section included in a merge frame through rescan is described.
도 3내지 도 6에서 설명한 예비 프레임 생성 과정에서는 존재하지 않는 프레임을 생성하기 위해 시간적으로 이웃하는 두 프레임 ft-1 및ft+1을 이용하여 움직임 보상을 수행하였다. 그러나, 4장의 예비 프레임이 통합되어 생성된 병합 프레임()에 포함된 폐색 구간을 보간하는 과정에서는 병합 프레임()을 이용하여 움직임 보상을 수행한다. 즉, 재탐색 과정에서는 폐색 구간이 포함된 블록을 공간적으로 둘러싸고 있는 화소들의 데이터를 이용하여 보다 정확한 움직임 벡터를 예측한다. In the preliminary frame generation process described with reference to FIGS. 3 to 6, motion compensation is performed using two temporally neighboring frames f t-1 and f t + 1 to generate a frame that does not exist. However, merge frames created by merging four spare frames ( ), Interpolating the occlusion sections in ) To perform motion compensation. That is, in the rescan process, a more accurate motion vector is predicted using data of pixels spatially surrounding the block including the occlusion section.
움직임 보상은 블록 단위의 예측이 수행되기 때문에 폐색 구간이라 할지라도 블록 내에는 도 10에 도시한 바와 같이 이용 가능한 화소 데이터들이 존재한다. 따라서, 본 발명의 일 실시예에 따른 프레임 보간 방법에서는 병합 프레임에서 폐색 구간을 포함하는 블록에 존재하는 화소 데이터 함께 상기 블록의 이웃하는 화소 정보를 적응적으로 선택하여 재탐색 과정을 수행한다.Since the motion compensation is performed on a block-by-block basis, there are pixel data available in the block even in the block section as shown in FIG. 10. Accordingly, the frame interpolation method according to an embodiment of the present invention adaptively selects the neighboring pixel information of the block together with the pixel data existing in the block including the occlusion period in the merge frame and performs the rescan process.
이하, 도 11을 참조하여 재탐색에 사용되는 참조 라인을 적응적으로 선택하는 과정을 보다 상세하게 설명한다.Hereinafter, a process of adaptively selecting a reference line used for rescanning will be described in more detail with reference to FIG. 11.
먼저, 도 11의 (a)는 폐색 구간을 포함하는 블록 내에 존재하는 화소 데이터와 함께 상기 소정 블록의 이웃하는 화소 데이터를 모두 이용할 수 있는 경우를 나타낸다. 이와 같은 경우에는 참조되는 라인을 2로 설정한다. 즉, 도 11의 (a)에 도시한 바와 같이 폐색 구간이 하나의 블록 내에만 존재하고 상기 블록과 이웃하는 블록에 폐색 구간이 존재하지 않는 경우에는 폐색 구간을 포함하는 블록에 인접한 화소들 중 두 라인의 화소 라인을 포함시켜 재탐색에 이용한다.First, FIG. 11A illustrates a case in which all of the neighboring pixel data of the predetermined block can be used together with the pixel data existing in the block including the occlusion section. In such a case, the referenced line is set to two. That is, as shown in (a) of FIG. 11, when the occlusion section exists only in one block and there is no occlusion section in a block adjacent to the block, two of the pixels adjacent to the block including the occlusion section are present. Pixel lines of lines are included and used for rescanning.
그러나, 도 11의 (b) 내지 (e)에 도시한 바와 같이 폐색 구간을 포함하는 블록과 이웃하는 블록에도 폐색 구간이 존재하는 경우에는 도 11의 (a)와 비교하여 재탐색에 이용할 수 있는 화소 데이터가 적기 때문에 이를 보완하기 위해 폐색 구간의 증가에 상응하여 참조 라인을 추가한다.However, as shown in (b) to (e) of FIG. 11, when a block section also exists in a block including a block section and a neighboring block, it can be used for rescan compared to FIG. 11 (a). Since the pixel data is small, a reference line is added to correspond to the increase in the occlusion interval to compensate for this.
도 11의 (b)에서는 참조 라인을 3으로 설정하고, 도 11의 (c)에서는 참조 라인을 4로 설정하였으며, 도 11의 (d)에서는 참조 라인을 6으로 설정하고, 도 11의 (e)에서는 참조 라인을 5로 설정한 경우를 예를 들어 도시하였다. 그러나, 폐색 구간의 크기에 따라 설정되는 참조 라인의 수는 도 11에 도시한 값으로 한정되지 않고 반복적인 실험을 통해 폐색 구간의 크기에 최적화된 값으로 설정될 수 있다.In FIG. 11 (b), the reference line is set to 3, in FIG. 11 (c), the reference line is set to 4, in FIG. 11 (d), the reference line is set to 6, and in FIG. ) Shows a case where the reference line is set to 5. However, the number of reference lines set according to the size of the occlusion section is not limited to the value shown in FIG. 11 but may be set to a value optimized for the size of the occlusion section through repeated experiments.
상술한 바와 같이 폐색 구간의 크기에 따라 적응적으로 참조 라인이 선택되면, 선택된 참조 라인과 블록 내에 존재하는 화소 데이터를 이용하여 이전 프레임과 현재 프레임에서 최종적인 재탐색 과정을 수행한다. 재탐색 과정에서는 초기 탐색 과정에서 예측된 움직임 벡터를 이용할 수 있기 때문에 탐색 영역을 축소 시킬 수 있다.As described above, when the reference line is adaptively selected according to the size of the occlusion period, a final rescan process is performed on the previous frame and the current frame by using the pixel data existing in the selected reference line and the block. In the rescan process, since the motion vector predicted in the initial search process can be used, the search area can be reduced.
예비 프레임을 생성하는 과정에서 움직임 벡터를 예측하기 위한 전역 탐색 과정에서는 SAD를 이용하여 두 블록의 오차를 계산하여 최소 SAD를 가지는 블록의 움직임 벡터를 예측하였다. 이 경우에는 실제 존재하는 두 영상을 비교하기 때문에 SAD값을 정확하게 산출할 수가 있었다.In the global search process for predicting the motion vector in generating the preliminary frame, the error vector of the two blocks is calculated using SAD to predict the motion vector of the block having the minimum SAD. In this case, the SAD value could be calculated accurately because two images are actually compared.
그러나, 재탐색 과정에서는 예비 프레임들을 이용하여 생성한 가상의 영상(즉, 병합 프레임)을 이용하여 움직임 벡터를 추정하기 때문에 SAD를 이용할 경우 정확한 블록을 예측할 수 없다. 즉, 도 12에 도시한 바와 같이 화면내 보간을 수행한 영상과 원본 영상은, 전체 영상의 주관적인 화질의 경우 두 영상의 차이점을 발견하기 어렵다. 그러나, 영상의 확대된 특정 영역을 살펴보면 픽셀값의 미세한 차이를 확인할 수 있다. 이러한 결과는 움직임 보상 과정을 통해 생성되는 영상은 주관적으로는 거의 유사한 영상을 생성하더라도 데이터가 완전히 일치되는 영상은 생성할 수 없기 때문이다. 따라서 상기한 바와 같은 미세한 차이를 가지는 영상 정보를 이용하는데 SAD를 계산할 경우에는 오차의 범위가 커지기 때문에 오히려 잘못된 움직임 벡터를 예측하는 문제점이 발생하게 된다.However, in the rescanning process, since the motion vector is estimated using a virtual image (that is, a merged frame) generated using the preliminary frames, an accurate block cannot be predicted using the SAD. That is, as shown in FIG. 12, it is difficult to find a difference between the two images in the case of the subjective image quality of the entire image and the original image. However, when looking at the enlarged specific area of the image, a slight difference in pixel value can be confirmed. This result is because the image generated through the motion compensation process is subjective almost similar image, but the image is not completely matched. Therefore, when the SAD is calculated when the image information having the minute difference as described above is used, a problem of predicting a wrong motion vector occurs rather than increasing the range of the error.
따라서, 본 발명의 일 실시예에 따른 프레임 보간 방법에서는 보간된 프레임이 가지는 미세한 오차를 고려하지 않고 화소 데이터가 가지는 전체 성향을 분석하여 움직임 벡터를 예측할 수 있는 방법인 SAHD(Sum of Absolute Histogram Difference)를 적용한다. Therefore, in the frame interpolation method according to an embodiment of the present invention, a method of predicting a motion vector by analyzing the overall propensity of pixel data without considering the minute error of the interpolated frame is SAHD (Sum of Absolute Histogram Difference). Apply.
SAHD는 수학식 11과 같이 각 화소값에 대해 빈(bin)을 설정한 후, 해당 구간의 누적치를 계산하여 최소의 차분값을 가지는 블록을 선택한다.The SAHD sets a bin for each pixel value as shown in Equation 11, and then selects a block having a minimum difference value by calculating a cumulative value of a corresponding section.
수학식 11에서, b는 설정된 빈(bin)을 나타내고, 및 는 각각 보간 프레임과 참조되는 프레임의 빈 내에 포함되는 히스토그램 누적치를 나타낸다. 탐색 영역 내에서 최소 SHAD를 가지는 블록을 탐색하여 수학식 12를 이용하여 최종 보간 프레임 를 생성한다.In Equation 11, b represents a set bin, And Represents a histogram cumulative value included in bins of the interpolated frame and the referenced frame, respectively. Search for the block with the smallest SHAD in the search area and use the equation (12) to final interpolate frame .
수학식 12에서, Bx,y와 Fx,y는 예비 프레임을 생성하는 초기 전역 탐색 과정으로부터 얻어진 움직임 벡터를 나타내고, 및 는 각각 참조 라인으로 선택된 화소 정보를 이용하여 재탐색 과정을 수행하여 예측된 움직임 벡터를 나타낸다.In Equation 12, B x, y and F x, y represent a motion vector obtained from an initial global search process for generating a preliminary frame, And Represents a predicted motion vector by performing a rescan process using pixel information selected as reference lines, respectively.
도 13에 도시한 바와 움직임 벡터 및 는 순방향 및 역방향의 참조 프레임에 따라 독립적으로 적용되고, 이에 따라 각 참조 프레임에서 선택된 블록에 대한 평균값을 취함으로써 최종적인 보간 프레임 을 생성한다.
Bar and motion vector shown in FIG. And Are independently applied according to the forward and backward reference frames, and thus the final interpolated frame by taking the average value for the selected block in each reference frame. .
도 14는 본 발명의 일 실시예에 따른 프레임 보간 방법의 객관적 성능 평가 결과를 나타낸다.14 shows an objective performance evaluation result of the frame interpolation method according to an embodiment of the present invention.
성능 평가에서는 본 발명의 일 실시예에 따른 프레임 보간 방법과 종래의 움직임 보상 프레임 보간(MCFI: Motion Compensated Frame Interpolation) 방법의 PSNR을 비교 분석하였다.In the performance evaluation, the PSNRs of the frame interpolation method and the conventional Motion Compensated Frame Interpolation (MCFI) method are compared and analyzed according to an embodiment of the present invention.
성능 평가에 사용된 영상들은 Foreman, Bus, Flower, Mobile, Tempete, Akiyo, Children, City, Coastguard로 모두 CIF(352×288) 크기를 가지며, 움직임 보상 예측에 사용되는 블록의 크기는 8×8로 고정하였고, 초기 MCFI선택을 위한 단계에서의 탐색 영역은 16×16으로 1/4화소까지 탐색하였다. Foreman, Bus, Flower, Mobile, Tempete, Akiyo, Children, City, Coastguard are all CIF (352 × 288) size, and the size of block used for motion compensation prediction is 8 × 8. The search area in the step for initial MCFI selection was searched up to 1/4 pixels at 16 × 16.
또한, 이웃하는 블록에 포함된 화소 정보를 이용하여 움직임 벡터를 예측하는 단계에서의 탐색 영역은 이웃하는 블록의 움직임 벡터의 중간값을 고려하기 때문에 2×2로 설정하였다.In addition, the search area in the step of predicting the motion vector using the pixel information included in the neighboring block is set to 2 × 2 because the median value of the motion vector of the neighboring block is considered.
도 14에 도시한 바와 같이, 본 발명의 일 실시예에 따른 프레임 보간 방법의 PSNR이 종래의 방법보다 더 향상된 성능을 가짐을 알 수 있다. 프레임 평균(FA : Frame Averaging) 방법은 이웃하는 두 프레임의 공간적으로 동일한 블록의 평균을 계산하기 때문에 낮은 PSNR 값을 가진다. 또한, MCFI는 움직임 보상 과정을 수행하기 때문에 프레임 평균(FA) 방법 보다는 향상된 결과를 보이지만 주관적인 화질을 비교했을 때 역시 많은 문제점이 존재한다. 반면, 본 발명의 일 실시예에 따른 프레임 보간 방법은 종래의 프레임 보간 방법들과 비교하여 향상된 PSNR 을 가진다. 예를 들어, Mobile 영상의 경우에는 MCFI 와 비교하여 PSNR이 약 2.96dB 향상되었고, Foreman 영상은 약 2.46dB, Flower 영상은 약 1.77dB 의 향상된 PSNR 을 가진다.
As shown in Figure 14, it can be seen that the PSNR of the frame interpolation method according to an embodiment of the present invention has a more improved performance than the conventional method. The frame averaging (FA) method has a low PSNR value because it calculates an average of spatially identical blocks of two neighboring frames. In addition, since MCFI performs a motion compensation process, it shows an improved result than the frame averaging (FA) method, but there are also many problems when comparing subjective picture quality. On the other hand, the frame interpolation method according to an embodiment of the present invention has an improved PSNR compared to conventional frame interpolation methods. For example, in the case of mobile video, PSNR is improved by 2.96dB compared to MCFI, foreman video is about 2.46dB, and flower video is improved by 1.77dB.
도 15는 본 발명의 일 실시예에 따른 프레임 보간 방법의 주관적 성능 평가 결과를 나타낸다.15 shows a subjective performance evaluation result of the frame interpolation method according to an embodiment of the present invention.
주관적 성능 평가는 Foreman 영상에 대해 기존의 프레임 보간 방법(FA, MCFI)과 본 발명의 일 실시예에 따른 프레임 보간 방법의 주관적 화질을 비교하였다.The subjective performance evaluation compared the subjective picture quality of the conventional frame interpolation method (FA, MCFI) and the frame interpolation method according to an embodiment of the present invention for the Foreman image.
도 15의 (a)는 원본 Foreman 영상을 나타내고, 도 15의 (b)는 종래의 프레임 평균(FA) 방법을 이용한 프레임 보간 결과를 나타내는 것으로, 이웃하는 두 프레임의 평균으로 생성된 영상이기 때문에 마치 두 프레임이 겹친 듯한 결과를 보여준다. FIG. 15 (a) shows an original Foreman image, and FIG. 15 (b) shows a frame interpolation result using a conventional frame averaging (FA) method, since it is an image generated by an average of two neighboring frames. The result is that two frames overlap.
도 15의 (c)는 종래의 움직임 보상 프레임 보간(MCFI) 결과를 나타내는 것으로, 움직임이 발생하는 얼굴 부분을 정확하게 보간하지 못하고 있다. FIG. 15C illustrates a conventional Motion Compensation Frame Interpolation (MCFI) result and does not accurately interpolate a face portion where a motion occurs.
그러나 도 15의 (d)에 도시한 바와 같이 본 발명의 일 실시예에 따른 프레임 보간 방법은 상술한 종래의 프레임 보간 방법에 비해 블록화 현상이 감소되어 주관적 화질이 향상되었음을 확인할 수 있다.
However, as shown in (d) of FIG. 15, the frame interpolation method according to the embodiment of the present invention can be confirmed that the blocking effect is reduced compared to the conventional frame interpolation method, thereby improving the subjective picture quality.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that
Claims (11)
상기 생성된 복수의 예비 프레임을 병합하여 하나의 병합 프레임을 생성하는 단계; 및
상기 생성된 병합 프레임에 포함된 폐색 구간을 보간하여 최종 보간 프레임을 생성하는 단계를 포함하는 프레임 보간 방법.Generating a plurality of preliminary frames through block position based frame interpolation and motion vector position based frame interpolation using the temporally successive first and second frames;
Merging the generated plurality of preliminary frames to generate one merge frame; And
And generating a final interpolation frame by interpolating the occluded sections included in the merged frame.
상기 제2 프레임의 현재 블록에 상응하는 참조 블록을 상기 제1 프레임에서 전역 탐색을 통하여 탐색하는 단계;
PSNR(Peak Signal to Noise Ratio)에 기초하여 임계값을 설정하는 단계;
상기 전역 탐색을 통해 탐색된 참조 블록의 SAD와 상기 임계값을 비교하는 단계; 및
상기 탐색된 참조 블록의 SAD가 상기 임계값 보다 작은 참조 블록 및 상기 임계값 보다 작은 참조 블록에 상응하는 현재 블록에 대해 상기 블록 위치 기반 프레임 보간 및 상기 움직임 벡터 기반 프레임 보간을 통해 보간 블록을 생성하여, 상기 복수의 예비 프레임을 생성하는 단계를 포함하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 1, wherein the generating of the plurality of spare frames comprises:
Searching for a reference block corresponding to the current block of the second frame through a global search in the first frame;
Setting a threshold value based on a peak signal to noise ratio (PSNR);
Comparing the threshold and the SAD of the reference block searched through the global search; And
The interpolation block is generated through the block position based frame interpolation and the motion vector based frame interpolation for the current block corresponding to the reference block smaller than the threshold and the reference block smaller than the threshold. And generating the plurality of preliminary frames.
양방향 상기 블록 위치 기반 프레임 보간을 통해 두 장의 예비 프레임을 생성하고, 양방향 상기 움직임 벡터 기반 프레임 보간을 통해 두 장의 예비 프레임을 생성하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 2, wherein the generating of the plurality of spare frames
And generating two preliminary frames through the bidirectional block position based frame interpolation, and generating two preliminary frames through the bidirectional motion vector based frame interpolation.
상기 임계값의 가중치를 적용하여 상기 블록 위치 기반 프레임 보간이 상기 움직임 벡터 기반 프레임 보간에 비해 더 낮은 임계값을 가지도록 설정하는 것을 특징으로 하는 프레임 보간 방법. The method of claim 2, wherein the generating of the plurality of spare frames
And applying the weight of the threshold value to set the block position based frame interpolation to have a lower threshold value than the motion vector based frame interpolation.
PSNR값으로부터 각 블록의 오차를 계산하여 SSD(Sum of Square Difference)를 산출하는 단계; 및
상기 SSD와 SAD(Sum of Absolute Difference)의 비교를 위한 보정계수를 상기 SSD에 적용하여 상기 임계값을 설정하는 단계를 포함하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 2, wherein setting a threshold value based on the PSNR comprises:
Calculating a sum of square difference (SSD) by calculating an error of each block from the PSNR value; And
And applying the correction coefficient to the SSD to compare the SSD with a sum of absolute difference (SAD) to set the threshold value.
상기 복수의 예비 프레임 중 적어도 하나의 예비 프레임 각각의 동일한 위치에 존재하는 데이터의 평균값을 취하여 상기 병합 프레임의 해당 위치에 적용함으로써 상기 병합 프레임을 생성하고, 상기 복수의 예비 프레임 모두에 데이터가 존재하지 않는 위치는 상기 병합 프레임의 해당 위치를 폐색 구간으로 설정하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 1, wherein generating the one merge frame
The merge frame is generated by taking an average value of data existing in the same position of each of the at least one preliminary frame among the plurality of preliminary frames and applying the same to the corresponding position of the merge frame, and no data exists in all of the plurality of preliminary frames. Where not set the frame interpolation method, characterized in that for setting the corresponding position of the merge frame to the occluded section.
상기 병합 프레임에 포함된 폐색 구간의 픽셀 수를 미리 설정된 기준값과 비교하는 단계; 및
상기 폐색 구간의 픽셀 수가 상기 기준값 보다 작은 경우에는 화면내 보간을 수행하여 상기 폐색 구간을 보간하는 단계를 포함하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 1, wherein generating the final interpolation frame,
Comparing the number of pixels of the occlusion period included in the merge frame with a preset reference value; And
And interpolating the occlusion section by performing interpolation on the screen when the number of pixels in the occlusion section is smaller than the reference value.
상기 폐색 구간을 둘러싸고 있는 픽셀의 평균값을 취하여 상기 폐색 구간을 보간하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 7, wherein the interpolating the occlusion section by performing the interpolation of the screen comprises:
And interpolating the occlusion section by taking an average value of pixels surrounding the occlusion section.
상기 폐색 구간의 픽셀 수가 상기 기준값 이상인 경우에는 상기 폐색 구간을 포함하는 블록과 인접한 화소들 중 특정 개수의 화소 라인을 참조 라인으로 설정하는 단계;
상기 제1 프레임 및 상기 제2 프레임에서 상기 폐색 구간을 포함하는 블록 및 상기 설정된 참조 라인을 포함하는 영역을 재탐색하는 단계; 및
상기 제1 프레임 및 상기 제2 프레임에서 재탐색을 통해 선택된 블록들의 평균을 취해 상기 폐색 구간을 포함하는 블록에 적용함으로써 상기 폐색 구간을 보간하는 단계를 포함하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 7, wherein generating the final interpolation frame,
Setting a specific number of pixel lines among pixels adjacent to the block including the occlusion section as a reference line when the number of pixels in the occlusion section is greater than or equal to the reference value;
Rescanning a block including the occlusion section and an area including the set reference line in the first frame and the second frame; And
And interpolating the occlusion section by taking an average of the blocks selected through rescanning in the first frame and the second frame and applying the block to the block including the occlusion section.
상기 복수의 예비 프레임을 생성하는 단계에서 예측된 움직임 벡터를 이용하는 것을 특징으로 하는 프레임 보간 방법.The method of claim 9, wherein the rescanning of the block including the occlusion section and the region including the set reference line in the first frame and the second frame comprises:
And a motion vector predicted in the step of generating the plurality of preliminary frames.
상기 제1 프레임 및 상기 제2 프레임의 탐색 영역내에서 최소 SHAD(Sum of Absolute Histogram Difference)를 가지는 블록을 탐색하는 것을 특징으로 하는 프레임 보간 방법.
The method of claim 9, wherein the rescanning of the block including the occlusion section and the region including the set reference line in the first frame and the second frame comprises:
And searching for a block having a minimum sum of absolute histogram difference (SHAD) in a search region of the first frame and the second frame.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110047797A KR101215128B1 (en) | 2011-05-20 | 2011-05-20 | Method for frame interpolation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110047797A KR101215128B1 (en) | 2011-05-20 | 2011-05-20 | Method for frame interpolation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120129504A KR20120129504A (en) | 2012-11-28 |
KR101215128B1 true KR101215128B1 (en) | 2012-12-24 |
Family
ID=47513991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110047797A KR101215128B1 (en) | 2011-05-20 | 2011-05-20 | Method for frame interpolation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101215128B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10966360B2 (en) | 2018-09-12 | 2021-03-30 | Samsung Electronics Co., Ltd. | Apparatus for combining printed circuit boards |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102196279B1 (en) * | 2014-12-05 | 2020-12-29 | 세종대학교산학협력단 | A method and an apparatus for frame rate conversion |
-
2011
- 2011-05-20 KR KR1020110047797A patent/KR101215128B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10966360B2 (en) | 2018-09-12 | 2021-03-30 | Samsung Electronics Co., Ltd. | Apparatus for combining printed circuit boards |
Also Published As
Publication number | Publication date |
---|---|
KR20120129504A (en) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5580453B2 (en) | Direct mode encoding and decoding apparatus | |
US9538197B2 (en) | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder | |
KR100870115B1 (en) | Method for forming image using block matching and motion compensated interpolation | |
US8204126B2 (en) | Video codec apparatus and method thereof | |
KR20060047590A (en) | Motion vector estimation with improved motion vector selection | |
KR101756842B1 (en) | Method and apparatus for image frame interpolation | |
JPH10304374A (en) | Moving image encoding device | |
JP2009532984A (en) | Motion compensated frame rate conversion with protection against compensation artifacts | |
EP2002650A1 (en) | Preprocessor method and apparatus | |
US8630338B2 (en) | Method and device for image interpolation systems based on motion estimation and compensation | |
JP3166736B2 (en) | Moving picture coding apparatus and moving picture coding method | |
KR102126511B1 (en) | Method and apparatus for image frame interpolation using supplemental information | |
US8565309B2 (en) | System and method for motion vector collection for motion compensated interpolation of digital video | |
EP2875640B1 (en) | Video quality assessment at a bitstream level | |
KR100942887B1 (en) | Motion estimation | |
JP2004096752A (en) | Method of approximating motion vector, computer program for carrying out the same method, data storage medium for storing the same program, apparatus suitable to carry out the same method, and receiver equipped with the same apparatus | |
US20100322313A1 (en) | System and method for estimating sum of absolute differences | |
KR101215128B1 (en) | Method for frame interpolation | |
US8244055B2 (en) | Image processing apparatus and method, and program | |
CN111294545B (en) | Image data interpolation method and device, storage medium and terminal | |
EP1400108A1 (en) | Method and system for displaying a video frame | |
KR101574205B1 (en) | An appratus for estimating a motion vector for frame rate conversion and a method thereof | |
Wang et al. | A fast block-based motion compensation video frame interpolation | |
KR100928045B1 (en) | Coding method and system using image analysis device and image analysis device therefor | |
KR100624304B1 (en) | Apparatus and method for de-interlacing adaptively field image by using motion |
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 | ||
FPAY | Annual fee payment |
Payment date: 20151012 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161004 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |