KR100870554B1 - Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof - Google Patents

Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof Download PDF

Info

Publication number
KR100870554B1
KR100870554B1 KR1020070001957A KR20070001957A KR100870554B1 KR 100870554 B1 KR100870554 B1 KR 100870554B1 KR 1020070001957 A KR1020070001957 A KR 1020070001957A KR 20070001957 A KR20070001957 A KR 20070001957A KR 100870554 B1 KR100870554 B1 KR 100870554B1
Authority
KR
South Korea
Prior art keywords
search
point
blocks
block
current block
Prior art date
Application number
KR1020070001957A
Other languages
Korean (ko)
Other versions
KR20080065057A (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 KR1020070001957A priority Critical patent/KR100870554B1/en
Publication of KR20080065057A publication Critical patent/KR20080065057A/en
Application granted granted Critical
Publication of KR100870554B1 publication Critical patent/KR100870554B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Abstract

웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체가 개시된다. 웨이블릿 기반의 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법은, 현재프레임 내 임의의 현재 블록의 움직임 벡터를 산출하기 위한 참조프레임 내의 탐색점들에 대한 탐색 후보를 PMVFAST를 이용하여 결정하는 단계; 현재 블록과 탐색 후보에 따른 탐색점들에 의한 참조프레임의 비교블록과의 블록 정합 오차값(Sum Absolute Difference : SAD)을 산출하여 탐색점들 중 최소 SAD를 갖는 지점을 탐색하여 최적 지점으로서 선택하는 단계; 및 탐색된 최적 지점을 이용하여 현재 블록의 움직임 벡터를 산출하는 단계를 포함한다. 본 발명에 따르면, 움직임 벡터가 가급적 서로 중복되지 않도록 움직임 벡터 필드를 평탄화함으로써 다중 연결 화소의 수를 최소화할 수 있다.Disclosed are a motion compensation temporal filtering method for wavelet based efficient scalable video encoding, and a recording medium on which a program for executing the method is recorded. A motion compensation temporal filtering method for wavelet based scalable video encoding includes determining a search candidate for search points in a reference frame for calculating a motion vector of an arbitrary current block in a current frame using PMVFAST; Computing a block matching error (SAD) between the current block and the comparison block of the reference frame by the search points according to the search candidates, searching for a point having the least SAD among the search points and selecting the optimal point. step; And calculating a motion vector of the current block by using the found optimal point. According to the present invention, the number of multiple connection pixels can be minimized by flattening the motion vector field so that the motion vectors do not overlap each other.

움직임 벡터, 웨이블릿, PMVFAST, 가변크기 블록, 움직임 보상 Motion vector, wavelet, PMVFAST, variable size block, motion compensation

Description

웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체{Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof}Motion compensated temporal filtering method for efficient scalable video coding based on wavelet and recording medium recording a program for executing the method for efficient wavelet-based scalable video coding and record-medium for executing method }

도 1은 종래의 웨이블릿 기반의 스케일러블 비디오 코딩을 설명하기 위한 도면.1 is a diagram for explaining conventional wavelet based scalable video coding.

도 2는 관련 기술에 따른 MCTF(Motion Compensated Temporal Filtering)에 의한 참조프레임 및 현재프레임에서의 연결 화소 또는 비연결 화소 간의 움직임 추정을 위한 움직임 벡터 설정을 예시한 도면.FIG. 2 is a diagram illustrating a motion vector setting for motion estimation between a reference frame and a non-connection pixel in a reference frame and a current frame by MCTF (Motion Compensated Temporal Filtering) according to the related art. FIG.

도 3은 본 발명의 각 실시예에 따른 웨이블릿 기반의 MCTF을 수행하는 코덱의 개략적인 구성을 나타낸 기능 블록도.3 is a functional block diagram showing a schematic configuration of a codec for performing a wavelet-based MCTF according to each embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 PMVFAST(Predictive Motion Vector Field Adaptive Search Technique) 및 가변 크기 블록을 이용한 움직임 보상 시간적 필터링 방법에 따른 참조프레임 및 현재프레임의 예시를 나타낸 도면.4 is a diagram illustrating an example of a reference frame and a current frame according to a motion compensation temporal filtering method using a predictive motion vector field adaptive search technique (PMVFAST) and a variable size block according to an embodiment of the present invention.

도 5는 종래의 전역 탐색법에 따른 움직임 벡터 산출 방법을 나타낸 도면.5 is a diagram illustrating a motion vector calculation method according to a conventional global search method.

도 6은 본 발명의 일 실시예에 따른 PMVFAST를 이용한 움직임 벡터 산출 방 법을 나타낸 도면.6 is a diagram illustrating a motion vector calculation method using PMVFAST according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 가변적으로 크기를 갖는 가변 크기 블록의 예시를 나타낸 예시도.7 is an exemplary view showing an example of a variable size block having a variable size in accordance with an embodiment of the present invention.

도 8은 본 발명의 일 실시예에 따른 웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 과정을 나타낸 흐름도.8 is a flowchart illustrating a motion compensation temporal filtering process for efficient scalable video encoding based on wavelet according to an embodiment of the present invention.

본 발명은 움직임 추정에 관한 것으로서, 좀 더 상세하게는 웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체에 관한 것이다.The present invention relates to motion estimation, and more particularly, to a motion compensation temporal filtering method for wavelet based efficient scalable video encoding, and a recording medium on which a program for executing the method is recorded.

인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송 시에 넓은 대역폭을 필요로 한다. 예를 들면 640*480의 해상도를 갖는 24 bit 트루컬러의 이미지는 한 프레임당 640*480*24 bit의 용량 다시 말해서 약 7.37Mbit의 데이터가 필요하다. 이를 초당 30 프레임으로 전송하는 경우에는 221Mbit/sec의 대역폭을 필요로 하며, 90분 동안 상영되는 영화를 저장하려면 약 1200G bit의 저장공간을 필요로 한다.As information and communication technology including the Internet is developed, not only text and voice but also video communication are increasing. Conventional text-based communication methods are not enough to satisfy various needs of consumers, and accordingly, multimedia services that can accommodate various types of information such as text, video, and music are increasing. The multimedia data has a huge amount and requires a large storage medium and a wide bandwidth in transmission. For example, a 24-bit true-color image with a resolution of 640 * 480 would require a capacity of 640 * 480 * 24 bits per frame, or about 7.37 Mbits of data. When transmitting it at 30 frames per second, a bandwidth of 221 Mbit / sec is required, and about 1200 G bits of storage space is required to store a 90-minute movie.

따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다. 데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy)을 없애는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적으로 공간적 중복을 제거하기 위해서는 프레임 내 압축이 이용되며 시간적 중복을 제거하기 위해서는 프레임간 압축이 이용된다.Therefore, in order to transmit multimedia data including text, video, and audio, it is essential to use a compression coding technique. The basic principle of compressing data is the process of eliminating redundancy. Spatial overlap, such as the same color or object repeating in an image, temporal overlap, such as when there is almost no change in adjacent frames in a movie frame, or the same note over and over in audio, or high frequency of human vision and perception Data can be compressed by removing the psychological duplication taking into account the insensitive to. In general, intraframe compression is used to remove spatial redundancy and interframe compression is used to remove temporal redundancy.

MPEG-1, MPEG-2, H.263 또는 H.264와 같은 종전의 비디오 코딩은 모션 보상 예측법에 기초하여 시간적 중복은 모션 보상에 의해 제거하고 공간적 중복은 변환 코딩에 의해 제거한다. 이러한 방법들은 좋은 압축률을 갖고 있지만 주 알고리즘에서 재귀적 접근법을 사용하고 있어 진정한 스케일러블 비트스트림(true scalable bitstream)을 위한 유연성을 갖지 못한다. 이에 따라 최근에는 웨이블릿(wavelet) 기반의 스케일러블 비디오 코딩에 대한 연구가 활발하다. 스케일러블 비디오 코딩은 스케일러빌리티를 갖는 비디오 코딩을 의미한다. 스케일러빌리티란 압축된 하나의 비트스트림으로부터 부분 디코딩, 즉, 다양한 비디오를 재생할 수 있는 특성을 의미한다. 스케일러빌리티는 비디오의 해상도를 조절할 수 있는 성질을 의미하는 공간적 스케일러빌리티와 비디오의 화질을 조절할 수 있는 성질을 의미하는 SNR(Signal-to-Noise Ratio) 스케일러빌리티와, 프레임 레이트를 조절할 수 있는 시간적 스케일러빌리티와, 이들 각각을 조합한 것을 포함하는 개념이다.Conventional video coding, such as MPEG-1, MPEG-2, H.263 or H.264, removes temporal redundancy by motion compensation and spatial redundancy by transform coding based on motion compensation prediction. These methods have good compression ratios, but the recursive approach in the main algorithm does not provide the flexibility for true scalable bitstreams. Accordingly, research on wavelet-based scalable video coding has been actively conducted in recent years. Scalable video coding means video coding with scalability. Scalability refers to a feature capable of partially decoding from one compressed bitstream, that is, playing various videos. Scalability means spatial scalability, which means that the resolution of the video can be adjusted, and signal-to-noise ratio (SNR), which means that the quality of the video can be adjusted, and temporal scale that can adjust the frame rate. It is a concept including the capability and the combination of each of them.

웨이블릿 기반의 스케일러블 비디오 코딩에 사용되고 있는 많은 기술들 중에서, 움직임 보상 시간적 필터링(Motion Compensated Temporal Filtering; 이하, MCTF라 함)은 시간적 중복성을 제거하고 시간적으로 유연한 스케일러블 비디오 코딩을 위한 핵심 기술이다. MCTF에서는 GOP(Group Of Picture) 단위로 코딩작업을 수행하는데 현재 프레임과 기준 프레임의 쌍은 움직임 방향으로 시간적 필터링 된다.Among many techniques used for wavelet-based scalable video coding, Motion Compensated Temporal Filtering (hereinafter referred to as MCTF) is a key technique for removing temporal redundancy and temporally flexible scalable video coding. In the MCTF, coding is performed in units of group of pictures (GOP), and the pair of the current frame and the reference frame is temporally filtered in the direction of movement.

도 1 종래의 웨이블릿 기반의 스케일러블 비디오 코딩을 설명하기 위한 도면이고, 도 2는 관련 기술에 따른 MCTF에 의한 참조프레임 및 현재프레임에서의 연결 화소 또는 비연결 화소 간의 움직임 추정을 위한 움직임 벡터 설정을 예시한 도면이다.1 is a diagram for describing conventional wavelet based scalable video coding, and FIG. 2 is a diagram illustrating a motion vector setting for motion estimation between a reference frame and an unconnected pixel in a current frame by an MCTF according to the related art. The illustrated figure.

우선 도 2를 먼저 참조하여 MCTF에 대해 간략히 설명하면, 비디오 시퀀스는 복수의 시간 레벨에 따른 분해 과정을 거친다. 이러한 시간 레벨에 따라서 시간적 스케일러빌리티가 구현될 수 있다. 도면에 도시되지는 않았으나 시간 레벨 1에서, 비디오 시퀀스는 저주파 프레임과 고주파 프레임으로 분해된다. 먼저, 고주파 프레임은 인접한 3개의 입력 프레임에 대하여 시간적 예측(temporal prediction)을 수행하여 생성된다. 이 때 시간적 예측은 순방향 예측과 역방향 예측을 모두 사용하게 된다. 다음으로, 저주파 프레임은 생성된 고주파 프레임을 이용하여 입력 프레임을 시간적 업데이트(temporal update)함으로써 생성된다. 이 경우, 인접한 2개의 고주파 프레임을 이용하여 입력 프레임을 업데이트 한다. 시간 레벨 2에서는 업데이트된 저주파 프레임으로부터 다시 시간적 예측 및 시간적 업데이트 과정을 수행한다. 이러한 복수의 시간 레벨에 따른 분해 과정을 반복함으로써 최상위 시간 레벨에서의 저주파 프레임 1개와 고주파 프레임 1개를 구할 수 있다.First, the MCTF will be briefly described with reference to FIG. 2, and the video sequence is decomposed according to a plurality of time levels. According to this temporal level, temporal scalability can be implemented. Although not shown in the figure, at time level 1, the video sequence is decomposed into low frequency frames and high frequency frames. First, a high frequency frame is generated by performing temporal prediction on three adjacent input frames. At this time, the temporal prediction uses both forward prediction and backward prediction. Next, the low frequency frame is generated by temporally updating the input frame using the generated high frequency frame. In this case, the input frame is updated using two adjacent high frequency frames. At temporal level 2, temporal prediction and temporal update are performed again from the updated low frequency frame. By repeating the decomposition process according to the plurality of time levels, one low frequency frame and one high frequency frame at the highest time level can be obtained.

인코더 단에서는 최상위 시간 레벨에 존재하는 저주파 프레임 1개와 생성된 모든 고주파 프레임 15개를 디코더 단으로 보내면, 이를 수신한 디코더 단에서는 시간 레벨을 역으로 복원함으로써 전체적으로 16개의 디코딩된 프레임을 구할 수 있는 것이다.The encoder stage sends one low frequency frame and 15 generated high frequency frames to the decoder stage that exist at the highest temporal level, and the decoder stage that receives it can obtain 16 decoded frames as a whole by reversing the time level. .

연결 화소는 현재프레임의 임의의 화소가 참조프레임의 화소와 연결된 경우의 해당 화소를 의미하며, 비연결 화소는 현재프레임 및 참조프레임간의 연결되지 못한 화소를 의미한다. 물론, 비연결 화소가 많을수록 화질의 저하 등에 따른 여러 문제점들이 발생될 수 있음은 당연하다.The connection pixel refers to a corresponding pixel when any pixel of the current frame is connected to the pixel of the reference frame, and the non-connection pixel refers to a pixel that is not connected between the current frame and the reference frame. Of course, as the number of non-connected pixels increases, various problems may occur due to deterioration of image quality.

다수 비연결 화소의 발생에 따른 종래의 MCTF의 문제점을 도 1을 참조하면 다음과 같다. 기존의 움직임 보상 시간적 필터링에서 사용되는 전역 탐색법에 따르면 참조프레임 내의 탐색 영역을 모두 검사하여 현재 블록과의 블록 정합 오차값(SAD : Sum Absolute Difference)가 최소가 되는 블록이 탐색된다. 이 경우 참조프레임 내의 다른 블록에 의하여 연결된 블록의 일부 또는 전부가 최소 SAD를 갖는 블록으로 선택되어 임의의 화소에 대한 중복이 발생하는 경우가 있게 된다. 이렇게 중복되어 선택된 화소는 다중 연결 화소라고 불리며, 참조프레임의 하나의 화소에 대한 여러 다중 연결 중에서 최소 DFD(Displayed Frame Difference : 참조프레임과 현재프레임의 해당 픽셀간의 오차값)를 갖는 현재프레임의 화소만이 그 연결을 유지하며, 나머지 다중 연결들은 모두 비연결 화소로 처리된다. 이 때, 참조프레임 내의 다른 블록의 화소들이 한 번도 연결되지 못한 채 비연결 화소로 남아있을 수 있고, 또한 이들 비연결 화소들과 연결될 수 있는 가능성이 배제된 채 다중 연결이 해제된 현재프레임의 화소는 모두 비연결 화소로 처리된다. 결과적으로, 중복되어 연결되는 다중 연결 화소가 많아질수록 더 많은 비연결 화소가 발생하게 됨을 알 수 있다.Referring to FIG. 1, a problem of a conventional MCTF caused by generation of a plurality of unconnected pixels is as follows. According to the global search method used in the conventional motion compensation temporal filtering, a block whose minimum block matching error value (SAD) with the current block is minimum is searched by examining all search areas in the reference frame. In this case, some or all of the blocks connected by other blocks in the reference frame are selected as the blocks having the smallest SAD, so that duplication of arbitrary pixels may occur. Such overlapping selected pixels are called multiple connection pixels, and among the multiple connections to one pixel of the reference frame, only pixels of the current frame having a minimum Displayed Frame Difference (DFD) between the reference frame and the corresponding pixel of the current frame This connection is maintained and all remaining multiple connections are treated as unconnected pixels. At this time, the pixels of the other frame in the reference frame may remain as unconnected pixels without being connected at all, and the pixels of the current frame with multiple disconnects are excluded without the possibility of being connected with these unconnected pixels. Are all treated as unconnected pixels. As a result, it can be seen that the more unconnected pixels are generated as the number of multiple connected pixels connected in duplicate.

따라서, 종래 기술에 따르면 다수의 비연결 화소가 발생할 수 있게 되며, 이로 인해 화질의 저하 등에 따른 여러 문제점들이 발생될 수 있다. Therefore, according to the prior art, a plurality of unconnected pixels may be generated, which may cause various problems due to deterioration of image quality.

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 움직임 벡터가 가급적 서로 중복되지 않도록 움직임 벡터 필드를 평탄화함으로써 다중 연결 화소의 수를 최소화할 수 있는 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체를 제공하기 위한 것이다. Accordingly, the present invention has been made to solve the above-described problem, and the motion compensation temporal for efficient scalable video coding that can minimize the number of multiple-connected pixels by flattening the motion vector field so that the motion vectors do not overlap each other. A filtering method and a program for executing the method are provided to provide a recording medium.

또한, 본 발명은 움직임 벡터 필드의 평탄화와 함께 가변 크기 블록을 움직임 예측에 사용함으로써 움직임 보상 시간적 필터링의 정확도를 높일 수 있는 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체를 제공하기 위한 것이다. In addition, the present invention provides a motion compensation temporal filtering method and a method for performing the method for efficient scalable video coding that can increase the accuracy of motion compensation temporal filtering by using a variable size block for motion prediction along with the smoothing of the motion vector field To provide a recording medium on which the program is recorded.

또한, 본 발명은 효율적인 움직임 보상 시간적 필터링의 결과, 같은 화질을 유지하면서도 더 작은 비트율을 갖는 영상 부호화가 가능해 지며, 움직임 예측의 정확도를 높이기 위하여 가변 크기의 블록을 사용함으로써 움직임 보상 시간적 필터링의 성능을 높이고 필터링 수행 후의 영상의 주관적 화질을 개선하기 위한 것이다.In addition, according to the present invention, as a result of efficient motion-compensated temporal filtering, it is possible to encode an image having a smaller bit rate while maintaining the same image quality, and improve the performance of motion-compensated temporal filtering by using a variable sized block to increase the accuracy of motion prediction. This is to improve the subjective image quality of the image after performing filtering.

본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects of the present invention will become more apparent through the preferred embodiments described below.

상술한 목적을 달성하기 위한 본 발명의 일측면에 따르면, 웨이블릿 기반의 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법에 있어서, (a) 현재프레임 내 임의의 현재 블록의 움직임 벡터를 산출하기 위한 참조프레임 내의 탐색점들에 대한 탐색 후보를 PMVFAST(Predictive Motion Vector Field Adaptive Search Technique)를 이용하여 결정하는 단계; (b) 상기 현재 블록과 상기 탐색 후보에 따른 탐색점들에 의한 상기 참조프레임의 비교 블록과의 블록 정합 오차값(Sum Absolute Difference : SAD)을 산출하여 상기 탐색점들 중 최소 SAD를 갖는 지점을 탐색하여 최적 지점으로서 선택하는 단계; 및 (c) 상기 탐색된 최적 지점을 이용하여 상기 현재 블록의 움직임 벡터를 산출하는 단계를 포함하는 움직임 보상 시간적 필터링 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체가 제 공된다.According to an aspect of the present invention for achieving the above object, in the motion compensation temporal filtering method for wavelet-based scalable video encoding, (a) a reference for calculating a motion vector of any current block in the current frame Determining search candidates for search points in the frame by using Predictive Motion Vector Field Adaptive Search Technique (PMVFAST); (b) calculating a Sum Absolute Difference (SAD) between the current block and the comparison block of the reference frame by the search points according to the search candidates to determine a point having the minimum SAD among the search points. Searching and selecting as an optimal point; And (c) calculating a motion vector of the current block by using the searched optimal point, and a recording medium on which a motion compensation temporal filtering method and a program for performing the method are recorded.

여기서, 상기 현재 블록은 상이한 크기(size)를 갖는 복수의 블록으로 설정 가능하며, 상기 단계 (b)는 상기 복수의 각 현재 블록으로 각각 최소 SAD를 갖는 지점을 탐색하고, 각 탐색된 지점의 SAD를 서로 비교하여 최소의 SAD를 갖는 지점을 상기 최적 지점으로서 선택할 수 있다.Here, the current block may be set to a plurality of blocks having different sizes, and the step (b) searches for a point having a minimum SAD for each of the plurality of current blocks, and SAD of each found point. Can be compared with each other to select the point having the smallest SAD as the optimum point.

상기 현재 블록은 32*32, 32*36, 16*32, 16*16의 크기를 갖는 4개의 메인 블록으로 설정 가능하다.The current block may be set to four main blocks having sizes of 32 * 32, 32 * 36, 16 * 32, and 16 * 16.

또한, 가용한 상기 현재 블록의 크기 중, 상기 16*16의 크기를 갖는 메인 블록에 의해 탐색된 지점이 최소 SAD를 가질 경우, 상기 단계 (b)는 16*16, 16*8, 8*16, 8*8의 크기를 갖는 4개의 서브 블록으로 상기 최적 지점의 선택을 위한 최소 SAD를 갖는 지점을 탐색할 수 있다.Further, if the point searched by the main block having the size of 16 * 16 among the available size of the current block has the minimum SAD, the step (b) is 16 * 16, 16 * 8, 8 * 16. , 4 subblocks having a size of 8 * 8 may search for a point having a minimum SAD for the selection of the optimal point.

또한, 상기 현재 블록은 32*32, 32*36, 16*32, 16*16, 16*8, 8*16, 8*8의 크기를 갖는 7개의 블록으로 설정 가능하다.In addition, the current block may be set to seven blocks having sizes of 32 * 32, 32 * 36, 16 * 32, 16 * 16, 16 * 8, 8 * 16, and 8 * 8.

또한, 상기 메인 블록들이 탐색에 이용되는 순서는 상기 탐색 후보의 개수에 상응하도록 설정될 수 있다.In addition, the order in which the main blocks are used for searching may be set to correspond to the number of search candidates.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것 으로 이해되어야 한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not 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 the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related 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 a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component 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, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in describing the present invention with reference to the accompanying drawings, the same or corresponding elements are denoted by the same reference numerals regardless of the reference numerals, and duplicates thereof. The description will be omitted.

도 3은 본 발명의 각 실시예에 따른 웨이블릿 기반의 MCTF을 수행하는 코덱의 개략적인 구성을 나타낸 기능 블록도이다.3 is a functional block diagram showing a schematic configuration of a codec for performing a wavelet-based MCTF according to each embodiment of the present invention.

도 3을 참조하면, 본 실시예에 따른 코덱은 MCTF 및 움직임 추정을 수행하는 움직임 처리부(310), 스페이셜 분석부(320), 엔트로피 코딩부(330), 패킷타이저부(340) 및 모션벡터필드 코딩부(350)를 포함한다. 물론, 상기한 코덱의 각 구성부는 반드시 하드웨어적으로 구현될 필요는 없으며, 프로그램과 같이 소프트웨어적으로 구현될 수 있음은 당업자에게는 자명할 것이다.Referring to FIG. 3, the codec according to the present embodiment includes a motion processor 310, a spatial analyzer 320, an entropy coding unit 330, a packetizer 340, and a motion vector that perform MCTF and motion estimation. The field coding unit 350 is included. Of course, it will be apparent to those skilled in the art that each component of the codec does not necessarily need to be implemented in hardware, but may be implemented in software such as a program.

코덱 각 구성부의 개략적인 기능을 설명하자면, 움직임 처리부(310)의 MCTF(312)는 움직임을 추정하여, 추정된 두 블록(block)을 연결블록으로 하고, 두 블록간에 화소 대 화소 필터링을 수행한다.To describe the schematic functions of each component of the codec, the MCTF 312 of the motion processor 310 estimates motion, sets the two estimated blocks as the connection block, and performs pixel-to-pixel filtering between the two blocks. .

움직임 처리부(310)의 Motion Estimation(314)는 MCTF(312)에서 움직임 추정을 수행하면, 참조프레임 및 현재프레임의 해당 두 블록을 짝지어 주는 기능을 수행한다.When the motion estimation unit 314 performs motion estimation in the MCTF 312, the motion estimation unit 314 performs a function of pairing the corresponding two blocks of the reference frame and the current frame.

스페이셜 분석부(320, Spatial Analysis)는 MCTF(312)를 통해서 시간적 스케일러빌리티가 구현되면, 각 Temporal Level(원하는 수준의)을 공간적 분석(spatial analysis : Daubechies(사람이름을 딴 필터이름) wavelet filter)을 통해, 공간 해상도를 줄이도록 기능한다.When the spatial scalability is implemented through the MCTF 312, the spatial analysis unit 320 spatially analyzes each temporal level (desired level) wavelet filter. ) To reduce the spatial resolution.

엔트로피 코딩부(330, Entropy Coder)는 시간적 해상도와 공간적 해상도를 조절한 뒤, 각 화소값의 분포에 따라서 엔트로피 코딩을 수행한다. 엔트로피 코딩의 특성상 분포가 하나의 값에 밀집되어 있을수록(통계적으로 분산이 작을수록) 코딩 효율이 높아진다. 시간적 저주파 프레임은 원래 영상이 나타나므로 분산을 원하는 대로 낮추기 어렵지만, 시간적 고주파 프레임은 비슷한 색(원래는 0), 즉, 검은 색에 가까우며 두 프레임의 차와 비슷한 개념이므로 0을 중심으로 양수, 음수 값들이 분포하게 된다(예를 들어, {0,-1,1,0,2,-1,0,0,0,0,-1,2,1,……} 등). The entropy coder 330 adjusts temporal resolution and spatial resolution and then performs entropy coding according to the distribution of each pixel value. Due to the nature of entropy coding, the more dense the distribution is in one value (the smaller the variance is), the higher the coding efficiency. Temporal low frequency frames are difficult to reduce variance as desired since the original image appears, but since temporal high frequency frames are similar in color (originally 0), that is, close to black and similar to the difference between two frames, positive and negative values around zero Are distributed (for example, {0, -1,1,0,2, -1,0,0,0,0, -1,2,1,..., Etc.)).

따라서, 움직임 추정을 최적화되면 분산을 더욱 낮출 수 있고, 분산을 낮추면 엔트로피 코딩의 효율을 높일 수 있다. 이는, 곧 같은 비트수를 가지고 더 높은 화질을 이끌어 낼 수 있음을 의미한다. 또한, 같은 화질에서는 더 적은 비트수를 사용한다는 것과 동일한 의미를 갖는다. (엔트로피 코딩의 대표적인 예가 허프만 코딩(Huffman Coding)임)Therefore, if the motion estimation is optimized, the variance can be further lowered, and the lower variance can increase the efficiency of entropy coding. This means that higher image quality can be obtained with the same number of bits. It also has the same meaning as using fewer bits in the same picture quality. (A typical example of entropy coding is Huffman Coding)

모션벡터필트 코딩부(350, Motion Vector field coding)는 움직임 추정을 통하여 화소값을 코딩(부호화)하였으므로, 움직임 추정에 사용된 움직임 벡터(MV : Motion Vector)도 함께 부호화 하여 부호화 비트열에 포함시키도록 기능한다.The motion vector field coding unit 350 encodes (encodes) a pixel value through motion estimation, so that the motion vector (MV: motion vector) used for motion estimation is also encoded and included in the coded bit string. Function.

패킷타이저부(340, Packetizer)는 화상의 각 픽셀값을 부호화하도록 기능하며, 즉, 상술한 바와 같이 움직임 벡터를 부호화한다. 그리고 패킷타이저부(340)는 그 외에 이러한 부호화에 쓰이는 모드(mode) 등의 부가 정보를 부호화 하는 것들을 모두 모아, 전송 또는 저장을 위한 패킷화 작업을 수행한다.The packetizer 340 functions to encode each pixel value of an image, that is, encodes a motion vector as described above. In addition, the packetizer unit 340 collects all the pieces of additional information such as a mode used for the encoding, and performs a packetization operation for transmission or storage.

코덱의 각 구성부의 기능을 개략적으로 살펴보았으나, 웨이블릿 기반의 MCTF에 따른 코덱 구성부의 각 기능은 당업자에게는 자명하다 할 것이므로 더욱 상세한 설명은 생략한다.Although the function of each component of the codec has been briefly described, each function of the codec component of the wavelet-based MCTF will be apparent to those skilled in the art, and thus a detailed description thereof will be omitted.

특히, 본 발명은 상기한 코덱의 각 구성부 중 움직임 처리부(310)의 기능에 관한 것이다.In particular, the present invention relates to the function of the motion processor 310 among the components of the codec described above.

이하, 본 실시예에 따른 움직임 처리부(310)에서의 움직임 예측에 따른 처리 방법을 설명하기로 한다.Hereinafter, the processing method according to the motion prediction in the motion processing unit 310 according to the present embodiment will be described.

도 4는 본 발명의 일 실시예에 따른 PMVFAST(Predictive Motion Vector Field Adaptive Search Technique) 및 가변 크기 블록을 이용한 움직임 보상 시간적 필터링 방법에 따른 참조프레임 및 현재프레임의 예시를 나타낸 도면이고, 도 5는 종래의 전역 탐색법에 따른 움직임 벡터 산출 방법을 나타낸 도면이고, 도 6은 본 발명의 일 실시예에 따른 PMVFAST를 이용한 움직임 벡터 산출 방법을 나타낸 도면이다.4 is a diagram illustrating an example of a reference frame and a current frame according to a motion compensation temporal filtering method using a predictive motion vector field adaptive search technique (PMVFAST) and a variable size block according to an embodiment of the present invention, and FIG. 6 is a diagram illustrating a motion vector calculation method according to a global search method, and FIG. 6 is a diagram illustrating a motion vector calculation method using PMVFAST according to an embodiment of the present invention.

도 4를 참조하면, 본 실시예에 따르면 기존의 H.264, MPEG-4와 같은 DCT(Discrete Cosine Transform) 기반의 비디오 부호화기에서 고속 움직임 예측 방법으로 사용되는 알고리즘 중 하나인 PMVFAST을 이용함으로써, 종래 기술의 도 1과 비교하여 현재프레임의 움직임 벡터들이 보다 평탄화됨을 알 수 있다. Referring to FIG. 4, according to the present embodiment, by using PMVFAST, which is one of algorithms used as a fast motion prediction method in a DCT (Discrete Cosine Transform) based video encoder such as H.264 and MPEG-4, It can be seen that the motion vectors of the current frame are more flattened compared to FIG. 1 of the technique.

PMVFAST는 시간적, 공간적 상관성을 가지고 있는 블록들의 움직임 벡터들, 즉 참조프레임에서 동일한 위치에 있는 블록의 움직임 벡터와 현재프레임에서 현재 블록의 이웃(neighbor)에 있는 블록들의 움직임 벡터들을 이용하여 현재 블록에 대한 탐색 후보를 결정하여 탐색함으로써, 지역성을 살릴 수 있다.PMVFAST uses motion vectors of blocks having temporal and spatial correlation, that is, motion vectors of blocks at the same position in a reference frame and motion vectors of blocks in a neighbor of the current block in the current frame. Locality can be saved by determining and searching for candidates.

도 5를 참조하면, 종래의 전역 탐색법은 참조프레임(510)의 대응된 블록을 원점으로 하여 최소 SAD를 갖는 탐색점을 탐색하기 위한 보다 많은 탐색 범위를 가짐으로써, 현재프레임(520)의 각 블록들에 대한 움직임 벡터가 중복될 가능성이 높다.Referring to FIG. 5, the conventional global search method has more search ranges for searching for a search point having a minimum SAD by using the corresponding block of the reference frame 510 as an origin, and thus, each of the current frames 520. The motion vector for the blocks is likely to overlap.

이에 비해, 도 6를 참조하면, 본 실시예에 따른 PMVFAST를 이용하여 참조프레임(610) 내의 탐색 후보를 결정하고, 탐색 후보에 대해서만 최소 SAD를 탐색하여 움직임 벡터를 결정하므로 움직임 벡터 필드를 보다 평탄화시킬 수 있다.In contrast, referring to FIG. 6, the motion vector field is further flattened by determining a search candidate in the reference frame 610 using PMVFAST according to the present embodiment, and determining a motion vector by searching for a minimum SAD for only the search candidate. You can.

따라서, 본 실시예에 따르면 종래의 전역 탐색법과 비교하여 보다 평탄화된 움직임 벡터들을 산출할 수 있다. Therefore, according to the present embodiment, more smooth motion vectors can be calculated as compared with the conventional global search method.

다시 도 4을 참조하면, 본 실시예에 따르면 가변 크기 블록을 사용함으로써 보다 적은 다중 연결 화소를 갖도록 할 수 있다. 즉, 움직임이 크거나 복잡한 부분에서는 보다 작은 크기(size)의 블록을 이용한 움직임 예측을, 움직임이 없거나 평탄한 부분에서는 보다 큰 크기의 블록을 이용한 움직임 예측을 수행하여, 움직임 예측의 정확도를 높여 시간적 필터링 시의 화소 연결성을 높일 수 있다.Referring back to FIG. 4, according to the present embodiment, it is possible to have fewer multiple connection pixels by using a variable size block. In other words, motion prediction using blocks of smaller size is performed in large or complex motions, and motion prediction using blocks of larger size in motionless or flat parts is performed to increase the accuracy of motion prediction, thereby temporal filtering. The pixel connectivity of the city can be improved.

도 7은 본 발명의 일 실시예에 따른 가변적으로 크기를 갖는 가변 크기 블록의 예시를 나타낸 예시도이다.7 is an exemplary diagram illustrating an example of a variable size block having a variable size according to an embodiment of the present invention.

도 7을 참조하면, 움익임 예측을 수행함에 있어서, 32*32를 기본 매크로블록으로 설정하고, 32*32, 32*36, 16*32, 16*16의 4가지 메인 블록모드 및 16*16 크기에 대한 16*16, 16*8, 8*16, 8*8의 4가지 서브 블록모드로 나뉠 수 있다. 물론, 메인 블록모드 및 서브 블록모드의 각 크기는 일 실시예일 뿐이며, 이와 달리 다르게 설정되어 적용될 수 있음은 당연하다. 상기한 바와 같은 경우는 기존 DCT 기반의 하이브리드 부호화 방법에서 사용되는 기본 매크로 블록 크기인 16*16 보다 큰 기본 매크로블록을 사용하는 것이다. 따라서, 실제 공간해상도가 큰 영상 또는 배경과 같은 움직임이 거의 없는 부분에서는 기존의 매크로블록이 병합되는 것과 같은 효과가 있으며(즉, 16*16 크기의 블록 두 개를 합친 효과를 제공), 해상도가 작은 영상 또는 움직임이 있거나 복잡한 부분에서는 기존의 매크로블록이 분할되는 것과 같은 효과(즉, 16*16 크기의 블록이 복수의 서브 블록모드에 의해 나뉘어 지는 효과)가 있다.Referring to FIG. 7, in performing the prediction, 4 * main block modes of 32 * 32, 32 * 36, 16 * 32, and 16 * 16 and 16 * 16 are set to 32 * 32 as a basic macroblock. It can be divided into four subblock modes: 16 * 16, 16 * 8, 8 * 16, and 8 * 8. Of course, each size of the main block mode and the sub block mode is only one embodiment, it is natural that it can be set differently and applied differently. In the case described above, a basic macroblock larger than 16 * 16, which is a basic macroblock size used in a conventional DCT-based hybrid encoding method, is used. Therefore, in the case where there is almost no movement such as an image or a background having a large real spatial resolution, the effect of merging existing macroblocks is merged (that is, combining two blocks of 16 * 16 size). In small images or motions or complex parts, there is an effect of dividing existing macroblocks (i.e., a 16 * 16 block is divided by a plurality of subblock modes).

즉, 본 실시예에 따르면 움직임이 거의 없거나 하는 부분은 움직임 벡터가 거의 존재하지 않으므로 보다 큰 사이즈의 블록이 사용되고, 움직임 등이 많아 보다 큰 움직임 벡터의 존재하는 곳에서는 작은 사이즈의 블록이 사용되어 보다 세밀한 움직임 추정이 가능해진다.That is, according to the present embodiment, since a motion vector is almost absent in a portion having little or no motion, a block of a larger size is used, and a block of a smaller size is used in a place where a larger motion vector exists due to a lot of motion. Detailed motion estimation is possible.

도 8은 본 발명의 일 실시예에 따른 웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 과정을 나타낸 흐름도이다.8 is a flowchart illustrating a motion compensation temporal filtering process for efficient scalable video encoding based on wavelet according to an embodiment of the present invention.

도 8을 참조하여 본 실시예에 따른 움직임 보상 시간적 필터링 과정을 설명함에 있어 그 수행 주체는 도 1에 도시된 코덱일 수 있으며, 이하 설명의 편의상 주체는 생략하기로 한다.In describing the motion compensation temporal filtering process according to the present embodiment with reference to FIG. 8, the performing agent may be the codec shown in FIG. 1, and the following description will be omitted for convenience of description.

도 8을 참조하면, 단계 810에서 PMVFAST에 의한 탐색 후보를 결정한다. 즉, 참조프레임의 대응된 블록(비교 블록)의 움직임 벡터, 현재프레임의 해당 블록(현재 블록)의 이웃된 블록들의 움직임 벡터를 이용하여 탐색 후보가 설정된다.Referring to FIG. 8, a search candidate by PMVFAST is determined in step 810. That is, the search candidate is set using the motion vector of the corresponding block (comparison block) of the reference frame and the motion vector of neighboring blocks of the corresponding block (current block) of the current frame.

단계 820에서, 메인 블록모드의 각 모드에 따른 블록(즉, 32*32, 32*36, 16*32, 16*16 크기의 각 블록)을 이용하여 각각 탐색 후보의 탐색점들을 탐색하여 최적의 지점(즉, 최소 SAD를 갖는 지점)을 선택한다. 메인 블록모드의 탐색에 사용되는 각 블록의 순서는 랜덤하게 선택되거나 미리 설정될 수 있다. 또는 탐색 후보의 개수에 따라 결정될 수 있으며, 하나의 예를 들면, 탐색 후보에 따른 지점이 미리 지정된 개수 이하인 경우 32*32에 따른 블록부터 작은 크기의 블록순으로, 탐색 후보가 미리 지정된 개수 이상인 경우 16*16 크기의 블록부터 큰 크기의 블록순으로 사용될 수 있다.In operation 820, the search points of the search candidates may be searched by using blocks corresponding to each mode of the main block mode (that is, blocks of 32 * 32, 32 * 36, 16 * 32, and 16 * 16 size). Select a point (ie, the point with the least SAD). The order of each block used for the search of the main block mode may be randomly selected or preset. Or, it may be determined according to the number of search candidates. For example, when the number of points according to the search candidates is less than or equal to the predetermined number, the number of search candidates is greater than or equal to the predetermined number of blocks from 32 * 32 blocks. It can be used from 16 * 16 block to the largest block.

여기서, 모든 탐색 후보가 탐색될 수도 있으나, 다이아몬드 탐색 기법, 십자형 탐색 기법 등의 고속 움직임 추정 기법을 이용하여 일부만을 탐색할 수도 있다. 다이아몬드 탐색 기법, 십자형 탐색 기법 등의 고속 움직임 추정 기법은 현재에도 사용되고 있는 기술이므로 상세한 설명은 생략한다.Here, all the search candidates may be searched, but only a part of the search candidates may be searched using a fast motion estimation method such as a diamond search method or a cross search method. Fast motion estimation techniques, such as diamond search and cross search, are still in use and will not be described in detail.

단계 830에서 메인 블록모드의 각 모드에 따라 탐색된 최적 SAD들 중 최소 SAD를 탐색한 모드가 16*16 크기 블록인지 여부를 판단한다.In operation 830, it is determined whether the mode in which the minimum SAD is searched among the optimal SADs searched according to each mode of the main block mode is a 16 * 16 block.

만일 단계 830에서의 판단 결과 16*16 크기 블록인 경우, 단계 840에서 서브 블록모드의 각 모드에 따른 블록(즉, 16*16, 16*8, 8*16, 8*8 크기의 각 블록)을 이용하여 다시 최소 SAD의 탐색을 수행한다. 물론, 서브 블록모드에 따른 각 크기의 블록에 의해 탐색된 지점의 각 SAD를 서로 비교하여 최소값을 갖는 SAD가 선택된다. 또한, 서브 블록모드에 따른 탐색에서 16*16 크기 블록에 의한 탐색은 단계 820에서 수행되었으므로 생략될 수 있다.If the result of the determination in step 830 is a 16 * 16 block, the block according to each mode of the sub-block mode (that is, each block of 16 * 16, 16 * 8, 8 * 16, 8 * 8 size) in step 840 Search for the minimum SAD again. Of course, the SAD having the minimum value is selected by comparing each SAD of the points searched by blocks of each size according to the sub-block mode. In addition, since the search by the 16 * 16 block is performed in step 820, the search according to the sub-block mode may be omitted.

이와 달리, 단계 830에서의 판단 결과 16*16 크기 블록이 아닌 경우, 단계 840을 수행하지 않고 단계 850으로 진행할 수 있다.In contrast, if the determination result in step 830 is not a 16 * 16 block, the process proceeds to step 850 without performing step 840.

여기서, 다른 실시예에 따르면 단계 830을 수행할 필요 없이, 단계 820에서 메인 블록모드 및 서브 블록모드에 따른 모든 크기의 블록으로 최소 SAD를 갖는 지점을 각각 탐색하고 그 결과에 따른 하나의 최소 SAD를 갖는 지점을 선택할 수도 있다.Here, according to another embodiment, without having to perform step 830, in step 820, each block having a minimum SAD is searched for blocks of all sizes according to the main block mode and the sub block mode, and one minimum SAD is determined according to the result. You can also choose a point to have.

단계 850에서 선택된 최소 SAD를 갖는 지점을 탐색한 해당 블록모드(즉, 메인 블록모드 및 서브 블록모드에 따른 8개 중 어느 하나)를 이용하여 참조프레임과 현재프레임의 해당 블록에 따른 각 화소를 연결한다. 즉, 현재프레임의 해당 블록(또는 화소)와 참조프레임의 선택된 최소 SAD를 갖는 지점에 따른 블록(또는 화소) 간의 움직임 벡터를 산출한다.Link each pixel according to the corresponding block of the current frame with the reference frame using the corresponding block mode (that is, one of eight according to the main block mode and the sub block mode) in which the point having the minimum SAD selected in step 850 is searched. do. That is, a motion vector is calculated between the corresponding block (or pixel) of the current frame and the block (or pixel) corresponding to the point having the selected minimum SAD of the reference frame.

따라서, 본 실시예에 따르면, 기존의 움직임 보상 시간적 필터링에서 사용되었던 전역 탐색법이 아닌 PMVFAST 움직임 예측 알고리즘을 도입함으로서 원래 PMVFAST의 목적인 움직임 예측에 걸리는 시간을 크게 줄일 수 있을 뿐만 아니라, PMVFAST의 초기 설정치로 인하여, 얻어진 움직임 벡터의 분포가 비교적 평탄하여, 참조블록으로서 중복되어 선택되는 경우를 줄일 수 있다. 이는 곧, 움직임 보상 시간적 필터링에 있어서 비연결 화소를 줄이는 것으로, 이는 움직임 보상 시간적 필터링에 적용되는 화소의 수를 늘림으로서 에너지의 저/고주파 부대역으로의 분해가 더욱 효율적이도록 만든다. 고주파 부대역에 남은 에너지의 양은 곧 엔트로피와 비례하며, 또한 엔트로피 부호화 단에서의 비트율과 직결되므로, 효율적인 움직임 보상 시간적 필터링의 결과, 같은 화질을 유지하면서도, 더 작은 비트율을 갖는 영상 부호화가 가능해 지는 것이다. 또한 움직임 예측의 정확도를 높이기 위하여 가변 크기의 블록을 사용함으로써 움직임 보상 시간적 필터링의 성능을 높이고, 필터링 수행 후의 영상의 주관적 화질이 개선된다.Therefore, according to the present embodiment, by introducing the PMVFAST motion prediction algorithm rather than the global search method used in the conventional motion compensation temporal filtering, the time required for the motion prediction, which is the purpose of the original PMVFAST, can be greatly reduced, and the initial setting value of the PMVFAST is reduced. Due to this, the distribution of the obtained motion vector is relatively flat, thereby reducing the case of overlapping selection as a reference block. This, in turn, reduces the number of unconnected pixels in the motion compensation temporal filtering, which makes the decomposition of energy into the low / high frequency subband more efficient by increasing the number of pixels applied to the motion compensation temporal filtering. Since the amount of energy remaining in the high frequency subband is directly proportional to entropy and directly related to the bit rate in the entropy encoding stage, efficient motion compensation temporal filtering results in a video encoding having a smaller bit rate while maintaining the same image quality. . In addition, by using a variable sized block to increase the accuracy of motion prediction, the performance of motion compensation temporal filtering is improved, and the subjective picture quality of the image after filtering is improved.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented in a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).

본 발명은 상기한 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.

이상에서 상술한 바와 같이 본 발명에 따르면, 움직임 벡터가 가급적 서로 중복되지 않도록 움직임 벡터 필드를 평탄화함으로써 다중 연결 화소의 수를 최소화할 수 있는 효율적인 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체를 제공할 수 있다. As described above, according to the present invention, the motion compensation temporal filtering method and the method for an efficient scalable video coding that can minimize the number of multi-linked pixels by flattening the motion vector field so that the motion vectors do not overlap each other as possible It is possible to provide a recording medium on which a program for executing the recording is recorded.

또한, 본 발명은 움직임 벡터 필드의 평탄화와 함께 가변 크기 블록을 움직임 예측에 사용함으로써 움직임 보상 시간적 필터링의 정확도를 높일 수 있다.In addition, the present invention can increase the accuracy of motion compensation temporal filtering by using a variable size block for motion prediction together with the flattening of the motion vector field.

또한, 본 발명은 효율적인 움직임 보상 시간적 필터링의 결과, 같은 화질을 유지하면서도 더 작은 비트율을 갖는 영상 부호화가 가능해 지며, 움직임 예측의 정확도를 높이기 위하여 가변 크기의 블록을 사용함으로써 움직임 보상 시간적 필터링의 성능을 높이고 필터링 수행 후의 영상의 주관적 화질을 개선할 수 있다.In addition, according to the present invention, as a result of efficient motion-compensated temporal filtering, it is possible to encode an image having a smaller bit rate while maintaining the same image quality, and improve the performance of motion-compensated temporal filtering by using a variable sized block to increase the accuracy of motion prediction. It is possible to improve the subjective image quality of the image after performing filtering.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art that various modifications of the present invention without departing from the spirit and scope of the invention described in the claims below And can be changed.

Claims (12)

웨이블릿 기반의 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법에 있어서,A motion compensated temporal filtering method for wavelet based scalable video encoding, (a) 현재프레임 내 임의의 현재 블록의 움직임 벡터를 산출하기 위한 참조프레임 내의 탐색점들에 대한 탐색 후보를 PMVFAST(Predictive Motion Vector Field Adaptive Search Technique)를 이용하여 결정하는 단계;(a) determining search candidates for search points in a reference frame for calculating a motion vector of any current block in the current frame using a predictive motion vector field adaptive search technique (PMVFAST); (b) 상기 현재 블록과 상기 탐색 후보에 따른 탐색점들에 의한 상기 참조프레임의 비교 블록과의 블록 정합 오차값(Sum Absolute Difference : SAD)을 산출하여 상기 탐색점들 중 최소 SAD를 갖는 지점을 탐색하여 최적 지점으로서 선택하는 단계; 및(b) calculating a Sum Absolute Difference (SAD) between the current block and the comparison block of the reference frame by the search points according to the search candidates to determine a point having the minimum SAD among the search points. Searching and selecting as an optimal point; And (c) 상기 탐색된 최적 지점을 이용하여 상기 현재 블록의 움직임 벡터를 산출하는 단계를 포함하되,(c) calculating a motion vector of the current block by using the found optimal point; 상기 현재 블록은 상이한 크기(size)를 갖는 복수의 블록으로 설정 가능하며, 상기 단계 (b)는 상기 복수의 각 현재 블록으로 각각 최소 SAD를 갖는 지점을 탐색하고, 각 탐색된 지점의 SAD를 서로 비교하여 최소의 SAD를 갖는 지점을 상기 최적 지점으로서 선택하는 것을 특징으로 하는 움직임 보상 시간적 필터링 방법.The current block may be set to a plurality of blocks having different sizes, and step (b) may search for a point having a minimum SAD with each of the plurality of current blocks, and search each other for the SAD of each found point. And comparing the point having the least SAD as the optimum point. 삭제delete 제 1항에 있어서,The method of claim 1, 상기 현재 블록은 32*32, 32*36, 16*32, 16*16의 크기를 갖는 4개의 메인 블록으로 설정 가능한 것을 특징으로 하는 움직임 보상 시간적 필터링 방법.The current block may be set to four main blocks having sizes of 32 * 32, 32 * 36, 16 * 32, and 16 * 16. 제 3항에 있어서, The method of claim 3, wherein 가용한 상기 현재 블록의 크기 중, 상기 16*16의 크기를 갖는 메인 블록에 의해 탐색된 지점이 최소 SAD를 가질 경우, 상기 단계 (b)는 16*16, 16*8, 8*16, 8*8의 크기를 갖는 4개의 서브 블록으로 상기 최적 지점의 선택을 위한 최소 SAD를 갖는 지점을 탐색하는 것을 특징으로 하는 움직임 보상 시간적 필터링 방법.If the point searched by the main block having the size of 16 * 16 among the available size of the current block has the minimum SAD, the step (b) is 16 * 16, 16 * 8, 8 * 16, 8 A motion compensation temporal filtering method characterized by searching for a point having a minimum SAD for selecting the optimum point with four sub-blocks having a size of * 8. 제 1항에 있어서,The method of claim 1, 상기 현재 블록은 32*32, 32*36, 16*32, 16*16, 16*8, 8*16, 8*8의 크기를 갖는 7개의 블록으로 설정 가능한 것을 특징으로 하는 움직임 보상 시간적 필터링 방법.The current block can be set to 7 blocks having sizes of 32 * 32, 32 * 36, 16 * 32, 16 * 16, 16 * 8, 8 * 16, and 8 * 8. . 제 3항 또는 제 5항에 있어서, The method according to claim 3 or 5, 상기 현재 블록들이 탐색에 이용되는 순서는 상기 탐색 후보의 개수에 상응하도록 설정되는 것을 특징으로 하는 움직임 보상 시간적 필터링 방법.The order in which the current blocks are used for searching is set to correspond to the number of search candidates. 웨이블릿 기반의 스케일러블 비디오 부호화를 위한 움직임 보상 시간적 필터링 방법을 수행하기 위해 디지털 처리 장치에서 실행될 수 있는 명령어들의 프로그램이 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서,In order to perform a motion compensation temporal filtering method for wavelet-based scalable video encoding, a program of instructions that can be executed in a digital processing apparatus is implemented, and in a recording medium on which a program that can be read by a digital processing apparatus is recorded. , (a) 현재프레임 내 임의의 현재 블록의 움직임 벡터를 산출하기 위한 참조프레임 내의 탐색점들에 대한 탐색 후보를 PMVFAST(Predictive Motion Vector Field Adaptive Search Technique)를 이용하여 결정하는 단계;(a) determining search candidates for search points in a reference frame for calculating a motion vector of any current block in the current frame using a predictive motion vector field adaptive search technique (PMVFAST); (b) 상기 현재 블록과 상기 탐색 후보에 따른 탐색점들에 의한 상기 참조프레임의 비교블록과의 블록 정합 오차값(Sum Absolute Difference : SAD)을 산출하여 상기 탐색점들 중 최소 SAD를 갖는 지점을 탐색하여 최적 지점으로서 선택하는 단계; 및(b) calculating a Sum Absolute Difference (SAD) between the current block and the comparison block of the reference frame by the search points according to the search candidates to determine a point having the minimum SAD among the search points. Searching and selecting as an optimal point; And (c) 상기 탐색된 최적 지점을 이용하여 상기 현재 블록의 움직임 벡터를 산출하는 단계를 실행하되,(c) calculating a motion vector of the current block by using the found optimal point; 상기 현재 블록은 상이한 크기(size)를 갖는 복수의 블록으로 설정 가능하며, 상기 단계 (b)는 상기 복수의 각 현재 블록으로 각각 최소 SAD를 갖는 지점을 탐색하고, 각 탐색된 지점의 SAD를 서로 비교하여 최소의 SAD를 갖는 지점을 상기 최적 지점으로서 선택하는 것을 특징으로 하는 프로그램이 기록된 기록매체.The current block may be set to a plurality of blocks having different sizes, and step (b) may search for a point having a minimum SAD with each of the plurality of current blocks, and search each other for the SAD of each found point. And a point having a minimum SAD in comparison as the optimum point. 삭제delete 제 7항에 있어서,The method of claim 7, wherein 상기 현재 블록은 32*32, 32*36, 16*32, 16*16의 크기를 갖는 4개의 메인 블록으로 설정 가능한 것을 특징으로 하는 프로그램이 기록된 기록매체.And the current block may be set to four main blocks having sizes of 32 * 32, 32 * 36, 16 * 32, and 16 * 16. 제 9항에 있어서, The method of claim 9, 가용한 상기 현재 블록의 크기 중, 상기 16*16의 크기를 갖는 메인 블록에 의해 탐색된 지점이 최소 SAD를 가질 경우, 상기 단계 (b)는 16*16, 16*8, 8*16, 8*8의 크기를 갖는 4개의 서브 블록으로 상기 최적 지점의 선택을 위한 최소 SAD를 갖는 지점을 탐색하는 것을 특징으로 하는 프로그램이 기록된 기록매체.If the point searched by the main block having the size of 16 * 16 among the available size of the current block has the minimum SAD, the step (b) is 16 * 16, 16 * 8, 8 * 16, 8 A recording medium having a program recorded therein, wherein four sub-blocks having a size of 8 are searched for a point having a minimum SAD for selecting the optimum point. 제 7항에 있어서,The method of claim 7, wherein 상기 현재 블록은 32*32, 32*36, 16*32, 16*16, 16*8, 8*16, 8*8의 크기를 갖는 7개의 블록으로 설정 가능한 것을 특징으로 하는 프로그램이 기록된 기록매체.The current block can be set to seven blocks having sizes of 32 * 32, 32 * 36, 16 * 32, 16 * 16, 16 * 8, 8 * 16, and 8 * 8. media. 제 9항 또는 제 11항에 있어서, The method according to claim 9 or 11, 상기 현재 블록들이 탐색에 이용되는 순서는 상기 탐색 후보의 개수에 상응하도록 설정되는 것을 특징으로 하는 프로그램이 기록된 기록매체.And the order in which the current blocks are used for searching is set to correspond to the number of the search candidates.
KR1020070001957A 2007-01-08 2007-01-08 Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof KR100870554B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070001957A KR100870554B1 (en) 2007-01-08 2007-01-08 Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070001957A KR100870554B1 (en) 2007-01-08 2007-01-08 Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof

Publications (2)

Publication Number Publication Date
KR20080065057A KR20080065057A (en) 2008-07-11
KR100870554B1 true KR100870554B1 (en) 2008-11-27

Family

ID=39816049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070001957A KR100870554B1 (en) 2007-01-08 2007-01-08 Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof

Country Status (1)

Country Link
KR (1) KR100870554B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071458B (en) * 2010-12-14 2020-01-03 M&K控股株式会社 Apparatus for encoding moving picture
US9473789B2 (en) 2010-12-14 2016-10-18 M&K Holdings Inc. Apparatus for decoding a moving picture
CN113259662B (en) * 2021-04-16 2022-07-05 西安邮电大学 Code rate control method based on three-dimensional wavelet video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000057040A (en) * 1999-02-22 2000-09-15 이형도 Fast motion estimating method using adaptive scan based on image complexity
KR20000055899A (en) * 1999-02-11 2000-09-15 이형도 Fast motion estimating method for real-time video coding
KR20050056956A (en) * 2002-08-06 2005-06-16 모토로라 인코포레이티드 Method and apparatus for determining block match quality
KR20060021733A (en) * 2004-09-04 2006-03-08 한양대학교 산학협력단 Method and device for providing selective motion estimation for fast video encoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000055899A (en) * 1999-02-11 2000-09-15 이형도 Fast motion estimating method for real-time video coding
KR20000057040A (en) * 1999-02-22 2000-09-15 이형도 Fast motion estimating method using adaptive scan based on image complexity
KR20050056956A (en) * 2002-08-06 2005-06-16 모토로라 인코포레이티드 Method and apparatus for determining block match quality
KR20060021733A (en) * 2004-09-04 2006-03-08 한양대학교 산학협력단 Method and device for providing selective motion estimation for fast video encoding

Also Published As

Publication number Publication date
KR20080065057A (en) 2008-07-11

Similar Documents

Publication Publication Date Title
KR101932735B1 (en) Method for predicting motion vectors in a video codec that allows multiple referencing, motion vector encoding/decoding apparatus using the same
KR100703760B1 (en) Video encoding/decoding method using motion prediction between temporal levels and apparatus thereof
KR100679011B1 (en) Scalable video coding method using base-layer and apparatus thereof
KR100597402B1 (en) Method for scalable video coding and decoding, and apparatus for the same
KR100654436B1 (en) Method for video encoding and decoding, and video encoder and decoder
JP4991699B2 (en) Scalable encoding and decoding methods for video signals
KR100763181B1 (en) Method and apparatus for improving coding rate by coding prediction information from base layer and enhancement layer
US7627040B2 (en) Method for processing I-blocks used with motion compensated temporal filtering
EP1737243A2 (en) Video coding method and apparatus using multi-layer based weighted prediction
US20050129125A1 (en) Method and apparatus for pitcure compression using variable block of arbitrary size
KR100597397B1 (en) Method For Encording Moving Picture Using Fast Motion Estimation Algorithm, And Apparatus For The Same
WO2005069629A1 (en) Video coding/decoding method and apparatus
KR100856392B1 (en) Video Encoding and Decoding Apparatus and Method referencing Reconstructed Blocks of a Current Frame
KR100870554B1 (en) Motion compensated temporal filtering method for efficient wavelet-based scalable video coding and record-medium for executing method thereof
Ukrit et al. Motion estimation and motion compensated medical image sequence compression using SPIHT
KR101610028B1 (en) Method and apparatus for fast motion estimation and video encoding apparatus using the same
Padmanabhan et al. A proficient wavelet–based video encoder through the motion estimation algorithm
KR100577364B1 (en) Adaptive Interframe Video Coding Method, Computer Readable Medium and Device for the Same
KR101285841B1 (en) Motion vector encoder and decoder, and method for encoding and decoding thereof
WO2006104357A1 (en) Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
Padmanabhan et al. A Wavelet-Based Video Compression using Adaptive Rood Search with Spatio-Temporal Correlation and LSK
WO2006098586A1 (en) Video encoding/decoding method and apparatus using motion prediction between temporal levels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20111010

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee