KR20060004060A - 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체 - Google Patents

다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체 Download PDF

Info

Publication number
KR20060004060A
KR20060004060A KR1020040053037A KR20040053037A KR20060004060A KR 20060004060 A KR20060004060 A KR 20060004060A KR 1020040053037 A KR1020040053037 A KR 1020040053037A KR 20040053037 A KR20040053037 A KR 20040053037A KR 20060004060 A KR20060004060 A KR 20060004060A
Authority
KR
South Korea
Prior art keywords
mode
motion estimation
motion
motion vector
sub
Prior art date
Application number
KR1020040053037A
Other languages
English (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 KR1020040053037A priority Critical patent/KR20060004060A/ko
Priority to US11/175,343 priority patent/US20060008008A1/en
Priority to CNA2005100841116A priority patent/CN1719901A/zh
Publication of KR20060004060A publication Critical patent/KR20060004060A/ko

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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

본 발명은 다 해상도 기반의 움직임 추정 방법에 관한 것으로서, 본 발명에 따른 움직임 추정 방법에서는 현재 프레임의 소정의 블록의 초기 움직임 벡터를 저해상도에서 계산하고, 계산된 초기 움직임 벡터에 기초하여 중간 해상도에서의 탐색 영역을 결정하고, 결정된 탐색 영역에 대해, 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어지고, 각각의 모드는 서로 다른 크기의 서브 매크로 블록을 갖는 복수개의 모드 별로 움직임 추정을 수행하고, 탐색된 움직임 벡터 들 중 적어도 하나 이상의 모드를 선택하고, 선택된 모드 및 선택된 모드에서의 움직임 벡터에 기초하여, 고 해상도에서의 움직임 추정을 수행하도록 함으로써, 움직임 추정 성능의 저하 없이, 움직임 추정을 위한 메모리 대역 폭을 감소시킬 수 있도록 함과 동시에, 전체 처리 시간을 감소시키는 것이 가능하다.

Description

다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기 위한 프로그램이 기록된 기록 매체{Motion estimation method based on multi resolution, and recording medium storing a program to implement thereof}
도 1은 계층적 움직임 벡터 추정 방법에 사용되는 계층적 프레임 구조를 도시하는 도면이다.
도 2는 일반적인 계층적 움직임 벡터 탐색 방법을 설명하기 위한 도면이다.
도 3은 본 발명이 적용되는 동영상 부호화 시스템을 도시하는 블록도이다.
도 4는 본 발명이 적용되는 동영상 부호화 시스템을 도시하는 블록도이다.
도 5는 본 발명에 따른 저 해상도에서의 움직임 벡터 탐색 방법을 설명하기 위한 도면이다.
도 6은 본 발명에 따른 중간 해상도에서의 움직임 벡터 탐색 방법을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 고 해상도에서의 움직임 벡터 탐색 방법을 설명하기 위한 도면이다.
도 8은 본 발명에 적용되는 주변 매크로블록의 움직임 벡터를 도시하는 도면이다.
도 9는 본 발명에 적용되는 매크로블록 분할 방식을 도시하는 도면이다.
도 10은 본 발명에 적용되는 서브-매크로블록 분할 방식을 도시하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 다 해상도 기반의 움직임 추정 방법을 도시하는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 다 해상도 기반의 움직임 추정 방법을 도시하는 흐름도이다.
본 발명은 동영상 부호화에 관한 것으로, 다 해상도 기반하에서의 움직임 추정 방법에 관한 것이다.
일반적으로 동영상 부호기에서 가장 많은 연산량을 차지하는 부분이 움직임 추정부이다. 고속 움직임 추정 방법은 이러한 움직임 추정부의 계산량을 줄이기 위한 움직임 추정 방법이다. 고속 움직임 추정 방법은 전역 탐색 기법(full search block matching algorithm)에 비해 성능이 떨어지지 않으면서도 더 빠른 연산을 수행한다. 전역 탐색 기법은 현재 프레임 및 기준 프레임을 일정한 크기의 블록 단위로 나눈 다음, 현재 프레임의 각 블록을 주어진 정합(matching) 기준에 따라 참조 프레임의 탐색 영역에 있는 모든 블록들과 비교하여 최적의 정합 블록 위치를 찾아서 각 블록의 이차원 움직임 벡터를 추정하는 방법이다. 이와 같은 블록 정합시 사용되는 기준 정보로는 SAD(Sum of Absolute Difference)가 있다. 고 속 움직임 추정 방법 중에서, 다 해상도의 계층적(hierarchical) 탐색 방식이 선호되어 사용되었다.
도 1은 계층적 움직임 벡터 탐색 방법에 사용되는 계층적 프레임 구조를 설명하기 위한 도면이다.
계층 0에서의 하나의 매크로블록은 16×16 픽셀로 구성된다. 또한, 계층 1에서의 하나의 매크로블록은 8×8 픽셀로 구성되며, 계층 1은 계층 0에서 인접 2×2 픽셀의 평균을 계산함으로써 구해진다. 또한, 계층 2에서의 하나의 매크로블록은 4×4 픽셀로 구성되며, 계층 2는 계층 1에서 인접 2×2 픽셀의 평균을 계산함으로써 구해진다. 본 실시예에서는, 계층의 수가 3인 프레임 구조를 사용하였지만, 선택적으로 계층의 수가 2인 프레임 구조 또는 3 이상의 계층을 갖는 프레임 구조를 사용하는 것도 가능하다.
도 2는 일반적인 계층적 움직임 벡터 탐색 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 최저 해상도 계층(계층 2)에서의 탐색과, 중간 해상도 계층(계층 1)에서의 탐색과, 최상 해상도 계층(계층 0)에서의 탐색으로 구성된다.
일반적인 계층적 움직임 추정은
(i) 최저 해상도 계층에서 전역 탐색을 수행하고, 전역 탐색 수행에 의해 얻어진 최소 SAD를 갖는 탐색점들을 중간 해상도 계층에서의 초기 탐색점들로 결정하는 단계(220)와;
(ii) 결정된 탐색점들을 중간 해상도 계층에서의 초기 탐색점들로 결정하고, 결정된 탐색점들을 중심으로 한 좁은 영역에서의 지역 탐색(local search)을 수행 하고, 최소 SAD를 갖는 탐색점들을 최상 해상도 계층에서의 초기 탐색점들로 결정하는 단계(240)와;
(iii) 결정된 탐색점들을 중심으로 최상 해상도 계층에서의 좁은 영역의 지역 탐색들을 통한 최종 움직임 벡터를 선정하는 단계(260)로 구성된다.
하지만, 이러한 계층적 움직임 탐색 방법을 다 참조 프레임 방식 또는 블록 분할 방식에 채용하는 경우, 과도한 연산량을 필요로하는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는, 이러한 문제점을 해소한, 블록 분할 방식 및 다 해상도에 기반한 움직임 벡터 추정 방법 및 이를 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기의 과제를 이루기 위하여 본 발명에 따른 다 해상도 기반의 움직임 추정 방법은 현재 프레임의 소정의 블록의 초기 움직임 벡터를 저해상도에서 계산하는 단계와; 계산된 초기 움직임 벡터에 기초하여 중간 해상도에서의 탐색 영역을 결정하는 단계와; 결정된 탐색 영역에 대해, 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어진 복수개의 모드 별로 움직임 추정을 수행하는 단계와; 탐색된 움직임 벡터 들 중 적어도 하나 이상의 모드를 선택하고, 선택된 모드 및 선택된 모드에서의 움직임 벡터에 기초하여, 고 해상도에서의 움직임 추정을 수행하는 단계를 포함하며, 복수개의 모드는 서로 다른 크기의 서브 매크로 블록으로 이루어진다.
또한, 상기 과제는 현재 프레임의 소정의 블록의 초기 움직임 벡터를 저해상도에서 계산하는 단계와; 계산된 초기 움직임 벡터에 기초하여 중간 해상도에서의 탐색 영역을 결정하는 단계와; 결정된 탐색 영역에 대해, 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어지고, 각각의 모드는 서로 다른 크기의 서브 매크로 블록으로 이루어진 복수개의 모드 별로 움직임 추정을 수행하는 단계와; 탐색된 움직임 벡터 들 중 적어도 하나 이상의 모드를 선택하고, 선택된 모드 및 선택된 모드에서의 움직임 벡터에 기초하여, 고 해상도에서의 움직임 추정을 수행하는 단계를 포함하는 다 해상도 기반의 움직임 추정 방법을 수행하기 위한 프로그램이 기록된 기록 매체에 의해서도 달성된다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 3은 본 발명이 적용되는 동영상 부호화 시스템을 도시한 블록도이다.
도 3에 도시된 동영상 부호화 시스템으로는 MPEG 2 및 MPEG 4 부호기 등이 있다.
먼저, 입력되는 영상 데이터는 GOP(Group of Picture) 단위로 구성된다. DCT부(320)는 영상 데이터의 공간 중복성(spatial redundancy)을 얻기 위해 8×8 블록 단위로 DCT(Discrete Cosine Transform)를 수행한다. 양자화부(Q:330)는 DCT부(320)에서 DCT된 영상 데이터를 양자화한다. 역양자화부(Q-1:350)는 양자화부(330)에서 양자화된 영상 데이터를 역양자화한다. IDCT부(360)는 역양자화부(350)에서 역양자화된 영상 데이터를 역 DCT한다. 프레임 메모리부(370)는 IDCT부(460)에서 역DCT된 영상 데이터를 프레임 단위로 저장한다. ME/MC부(380)는 입력되는 현재 프레임의 영상 데이터와 프레임 메모리부(370)에 저장된 이전 프레임의 영상 데이터를 이용하여 매크로 블록당 움직임 벡터(MV)와 SAD를 추정한다. VLC(Variable Length Coding)(340)부는 ME/MC부(380)에서 추정된 움직임 벡터(MV)에 따라 양자화된 영상 데이터의 통계적 중복성을 제거한다.
도 1 및 도 2를 참조하면, 계층적 움직임 추정 방법을 수행하기 위해서는 저해상도 필터링 및 서브 샘플링(subsampling) 과정을 통해 현재 프레임 및 참조 프레임들이 다 해상도 구조를 갖도록 하는 것이 필요하다. 이를 위해, 전처리부(310)는 현재 프레임 및 참조 프레임에 대해 서브 샘플링을 수행하여 저해상도의 프레임을 생성한다.
도 4는 본 발명이 적용되는 또 다른 동영상 부호화 시스템을 도시하는 블록도이다.
도 4에 도시된 동영상 부호화 시스템의 예로는 다 참조 프레임 기반의 H.264 부호기 등이 있다.
도 4의 동영상 부호화 시스템은 부호화기 제어부(410), 변환부/양자화부(420), 역변화부/역양자화부(430), 디-블럭킹 필터(440), 프레임 메모리(450), 인트라-프레임 예측부(460), 움직임 예측/보상부(470), 엔트로피 부호화부(480), 및 전처리부(490)를 포함한다.
도 4에 도시된 동영상 부호화 시스템 중 변환부/양자화부(420), 역변화부/역 양자화부(430), 프레임 메모리(450), 움직임 예측/보상부(470), 엔트로피 부호화부(480), 및 전처리부(490)는 도 3에 도시된 대응하는 기능부와 동일한 기능을 수행하므로 설명의 간단을 위해 상세한 설명은 생략한다.
부호화기 제어부(410)는 비트율 조절기로서 원하는 시퀀스 전체의 비트율 및 각각의 픽쳐별로 타겟 비트를 만족하도록 각 블록의 양자화 계수를 결정하는 기능을 수행한다.
디-블록킹 필터(de-blocking filter)(440)는 움직임 보상된 영상에서 양자화로 인해 발생한 블록킹 현상을 제거하기 위해 필터링을 수행하고, 그 결과를 프레임 메모리에 저장하는 기능을 수행한다.
인트라 프레임 예측부(460)는 인트라 매크로블록의 경우 공간 영역에서 블록 별 또는 매크로블록 별 예측자(predictor)를 구하고, 인트라 매크로블록에서 예측자를 뺀 후 그 차분을 변환부로 보내는 기능을 수행한다.
도 5는 본 발명에 따른 저 해상도에서의 움직임 벡터 탐색 방법을 설명하기 위한 도면이다. 여기에서, REF1 및 REF2는 현재 매크로블록의 움직임 추정 결과, 최소 SAD를 갖는 참조 프레임이다. 또한, MV(2) ref1은 REF1에서 얻어진 최소 SAD를 의미한다. 여기에서 (2)는 레벨 2, 즉 저해상도 레벨을 의미한다. 마찬 가지로, MV(2) ref2은 REF2에서 얻어진 최소 SAD를 의미한다.
본 실시예에서는 참조 프레임이 2개인 경우를 예를 들어 설명한다. 하지만, 선택적으로 참조 프레임이 2 이상인 경우에도 적용될 수 있다. 또한, 본 실시예에서는 해상도 레벨이 3 개의 레벨, 즉 원해상도인 고해상도 (L0), 중간 해상도(L1), 저 해상도(L2)인 경우를 예를 들어 설명한다. 하지만 해상도 레벨이 2개인 경우, 또는 해상도 레벨이 3개 이상인 경우에도 동일하게 적용될 수 있다.
도 6은 본 발명에 따른 중간 해상도에서의 움직임 벡터 탐색 방법을 설명하기 위한 도면이다. 여기에서, REF1 및 REF2는 현재 매크로블록의 움직임 추정 결과, 최소 SAD를 갖는 참조 프레임이다.
도 7은 본 발명에 따른 고 해상도에서의 움직임 벡터 탐색 방법을 설명하기 위한 도면이다. 여기에서, REF1 및 REF2는 현재 매크로블록의 움직임 추정 결과, 최소 SAD를 갖는 참조 프레임이다.
이하에서는 도 3 및 도 4와 도 5 내지 도 7을 참조하여 본 발명에 따른 다 해상도 기반의 움직임 추정 방법을 설명한다.
도 3 및 도 4의 전 처리부는 현재 프레임과 참조 프레임을 저역통과 필터링 및 서브 샘플링을 통해 도 1에 도시된 바와 같이 계층적 구조로 형성한다.
이어서, 움직임 추정부(motion estimation unit: ME)(380)(470)는 최저 해상도 계층(level 2)에서 현재 매크로블록의 참조 프레임으로 선정된 REF1, REF2 각각에 대해 주어진 탐색 영역 내에서 프레임 단위의 움직임 추정을 위한 전역 탐색(Full Search)을 수행하여 최소 SAD(Sum of Absolute Difference)를 갖는 움직임 벡터를 탐색한다. REF1에서 얻어진 최소 SAD를 갖는 움직임 벡터는 MV(2) ref1, 또한 REF2에서 얻어진 최소 SAD를 갖는 움직임 벡터는 MV(2) ref2 라고 한다.
본 실시예에서는 두 개의 참조 프레임에 대한 움직임 벡터를 구했지만, 선택적으로 두 개이상의 참조 프레임에 대해 전역 탐색을 수행하여 두 개 이상의 움직임 벡터를 구하여 본 발명에 적용하는 것도 가능하다.
이어서, 중간 해상도 계층(level 1)에서는 최저 해상도 계층(level 2)의 초기 움직임 벡터들, 즉 MV(2) ref1 및 MV(2) ref2를 이용하여 REF1 및 REF2에서의 움직임 추정을 위한 탐색 영역을 결정하고, 결정된 탐색 영역에 대해 지역 탐색(local search)을 수행한다.
이때, 각 지역 탐색에서는 도 9에 도시된 바와 같이 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어진 네 개의 모드별로 움직임 추정을 수행한다. 즉, 도 9에 도시된 바와 같이, 16×16 블록 크기의 매크로블록내의 모든 화소들이 하나의 움직임 벡터를 갖는 것이 아니라, 블록은 여러 형태의 다양한 블록 크기를 가질 수 있다. 예를 들어, 도 9(b)의 경우, 서브 블록 '0'와 서브 블록 '1'은 서로 다른 별개의 움직임 벡터 MV1 및 MV2를 가진다.
본 실시예에서는 움직임 추정을 위해 도 9에 도시된 4개의 모드, 즉 움직임 추정의 단위가 도 9(a)에 도시된 16×16 블록 크기의 매크로블록인 16×16 모드, 도 9(b)에 도시된 16×8 블록 크기의 매크로블록인 16×8 모드, 도 9(c)에 도시된 8×16 블록 크기의 매크로블록인 8×16 모드, 도 9(d)에 도시된 8×8 블록 크기의 매크로블록인 8×8 모드에 대해 움직임 추정을 수행한다. 예를 들어, 8×8 모드의 경우, 4개의 서브 매크로블록 각각에 대한 움직임 추정을 수행하고, 각각에 대한 움직임 벡터를 계산한다.
계산된 각각의 모드에 대한 코스트(cost), 즉 SAD, 움직임 벡터 비트량, 및 해당 모드를 표시하는 모드 정보 비트량에 비례하는 값을 고려하여, 최소 코스트를 갖는 두 가지 모드를 선택한다. 그 결과, 16×16 모드와 16×8 모드 또는 16×8 모드와 8×8 모드와 같은 다양한 쌍의 움직임 벡터들이 얻어진다. 이때 중간 해상도 계층(level 1)에서 구해진 움직임 벡터를 기준 움직임 벡터(Based MV)라고 한다.
도 6은 그 결과 얻어진 한쌍의 기준 움직임 벡터 MV(1) c1 및 MV(1) c2를 도시한다. 여기에서, 각각의 기준 움직임 벡터는 16×16 모드이면 하나의 움직임 벡터를, 16×8 모드 또는 8×16 모드이면 두 개의 움직임 벡터를, 8×8 모드이면 네 개의 움직임 벡터를 의미한다.
이어서, 고 해상도 계층(level 0)에서 중간 해상도 계층(level 1)의 기준 움직임 벡터들, 즉 MV(1) c1 및 MV(1) c2를 사용하여 움직임 추정을 수행한다.
즉, 고 해상도 계층(level 0)에서 중간 해상도 계층(level 1)의 기준 움직임 벡터를 이용하여 움직임 추정을 위한 탐색 영역을 결정하고, 결정된 탐색 영역에 대해 지역 탐색을 수행한다. 이때, 각 모드 탐색이 16×16, 16×8, 또는 8×16 모 드이면 해당 탐색 영역에서 움직임 추정을 수행하고, 8×8 모드인 경우에는, 해당 서브-매크로블록을 도 10에 도시된 바와 같이 소정의 수의 서브 블록으로 분할하여, 중간 해상도 계층에서와 동일한 방식으로 각각의 모드, 즉 8×8 모드, 8×4 모드, 4×8 모드, 4×4 모드에 대해 움직임 추정을 수행하여 최소 코스트를 갖는 모드를 선택한다. 8×8 모드에 대해서만 서브 블록으로 분할하여 움직임 추정을 수행하는 것은, 8×8 모드가 최소 코스트를 가지는 경우, 보다 작은 서브 블록 단위의 탐색이 보다 작은 코스트를 가질 가능성이 있기 때문이다.
이러한 방식으로, 최종적으로 2개의 모드 및 대응하는 움직임 벡터들이 계산된다.
이후, 최종적으로 결정된 2개의 모드에 대해 서브-펠(sub-pel) 단위의 움직임 벡터 탐색을 통해 최소의 코스트를 갖는 움직임 벡터 및 모드를 선택하고, 선택된 움직임 벡터에 기초하여 움직임 예측 및 보상을 수행한다.
상기 설명된 본 실시예에서는 중간 해상도 계층에서는 저해상도 계층에서의 초기 움직임벡터들을 이용하여, 각 참조 프레임별로 하나의 지역 탐색을 수행하였다.
하지만, 본 발명의 또 다른 실시예에서는 저해상도 계층에서 현재 매크로블록의 주변 매크로블록으로부터 얻어진 또 다른 초기 움직임 벡터를 이용하여, 각 참조 매크로블록에 대해 최소 두 개의 지역 탐색을 수행하도록 하는 것도 고려할 수 있다.
예를 들어, 도 8에 도시된 바와 같이 주변 세개 매크로블록들의 움직임 벡터 들의 미디언(median) 값을 구함으로써 얻어진 움직임 벡터, 즉 MVspat ref를 또 다른 초기 움직임 벡터 (이하, 부가 움직임 벡터라고함)로 사용하는 것도 가능하다. 이때, 부가 움직임 벡터는 주변 블록들의 움직임 벡터값들에 X-좌표 및 Y-좌표 각각에 미디언값을 취함으로써 얻어질 수 있다. 예를 들어, 주변 블록의 움직임 벡터값이 각각 MV1=(5, 6), MV2=(3, 8), MV3=(7, 7)이라고 한다면, {median(5, 3, 7), median(6, 8, 7)} = (5, 7)이 된다.
이때, 저 해상도 레벨에서의 주변 움직임 벡터를 이용한 경우에는, 얻어진 움직임 벡터를 업 샘플링하여 사용한다. 한편, 고 해상도 레벨에서의 주변 움직임 벡터를 이용한 경우에는, 얻어진 움직임 벡터를 다운 샘플링하여 사용하고, 중간 해상도 레벨에서의 주변 움직임 벡터를 이용한 경우에는, 얻어진 움직임 벡터를 그대로 사용한다. 또한, H.264, MPEG-4, 및 VC9 등에서 현재 움직임 벡터 탐색을 위해 이용되는 움직임 벡터를 사용하는 것도 가능하다.
이 경우, 중간 해상도 계층에서는 저 해상도 계층에서 얻어진 초기 움직임 벡터에 의해 결정되는 탐색 영역에서 뿐만 아니라, 부가 움직임 벡터에 의해 결정되는 탐색 영역에 대해서도 동일한 방식으로 움직임 추정을 수행한다.
각 해상도 레벨에서, 다른 해상도 레벨에서 얻어진 움직임 벡터를 사용할 경우, 해상도에 따라 적절한 스케일링이 필요하다. 예를 들어, 프레임간 움직임 벡터의 경우, 높은 해상도로 옮겨서 사용될 때, 두 배로 스케일링해서 사용한다.
도 11은 본 발명의 일 실시예에 따른 다 해상도 기반의 움직임 벡터 추정 방 법을 도시하는 흐름도이다.
단계 1110에서는 최저 해상도 계층(level 2)에서 현재 매크로블록의 참조 프레임으로 선정된 REF1, REF2 각각에 대해 주어진 탐색 영역 내에서 프레임 단위의 움직임 추정을 위한 전역 탐색(Full Search)을 수행하여 최소 SAD(Sum of Absolute Difference)를 갖는 REF1에서의 움직임 벡터 MV(2) ref1 및 REF2에서의 움직임 벡터 MV(2) ref2 를 구한다.
단계 1120에서는 중간 해상도 계층(level 1)에서 최저 해상도 계층(level 2)의 초기 움직임 벡터들, 즉 MV(2) ref1 및 MV(2) ref2를 이용하여 REF1 및 REF2에서의 움직임 추정을 위한 탐색 영역을 결정한다.
단계 1130에서는 중간 해상도 계층에서, 결정된 탐색 영역에 대해 도 9에 도시된 바와 같이 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어진 네 개의 모드별로 움직임 추정을 수행하고, 각 모드별 코스트를 고려하여 두 가지 모드를 선택한다. 즉, 움직임 추정을 위해 도 9에 도시된 4개의 모드, 즉 움직임 추정의 단위가 도 9(a)에 도시된 16×16 블록 크기의 매크로블록인 16×16 모드, 도 9(b)에 도시된 16×8 블록 크기의 매크로블록인 16×8 모드, 도 9(c)에 도시된 8×16 블록 크기의 매크로블록인 8×16 모드, 도 9(d)에 도시된 8×8 블록 크기의 매크로블록인 8×8 모드에 대해 움직임 추정을 수행한다.
이때, 연산량을 줄이기 위해 SAD 연산시 동일한 탐색 영역에 대해 16×16, 각 16×8, 각 16×8, 각 8×8 블록의 SAD를 독립적으로 계산하여 한번의 지역 탐색으로 모든 모드에 대한 움직임 추정을 수행한다.
단계 1140에서는 단계 1130에서 선택된 모드가 최소 서브 매크로블록으로 이루어진 모드, 즉 8×8 블록 크기의 매크로블록인 8×8 모드인지 여부를 판단하고, 최소 서브 매크로블록으로 이루어진 모드인 경우에는 단계 1160으로 진행하고, 최소 서브 매크로블록으로 이루어진 모드가 아닌 경우에는 단계 1150으로 진행한다.
단계 1150에서는 고 해상도 계층(level 0)에서 중간 해상도 계층(level 1)의 기준 움직임 벡터를 이용하여 움직임 추정을 탐색 영역을 결정하고, 결정된 탐색 영역에 대해 지역 탐색을 수행한다.
단계 1160에서는 해당 서브-매크로블록을 도 10에 도시된 바와 같이 소정의 수의 서브 블록으로 분할하여, 중간 해상도 계층에서와 동일한 방식으로 각각의 모드, 즉 8×8 모드, 8×4 모드, 4×8 모드, 4×4 모드에 대해 움직임 추정을 수행하여 최소 코스트를 갖는 모드를 선택한다. 이때에도, 연산량을 줄이기 위해 SAD 연산시 동일한 탐색 영역에 대해 16×16, 각 16×8, 각 16×8, 각 8×8 블록의 SAD를 독립적으로 계산하여 한번의 지역 탐색으로 모든 모드에 대한 움직임 추정을 수행한다.
최종적으로 결정된 2개의 모드에 대해 서브-펠 단위의 움직임 벡터 탐색을 통해 최소의 코스트를 갖는 움직임 벡터 및 모드를 선택하고, 선택된 움직임 벡터에 기초하여 움직임 예측 및 보상을 수행한다.
이와 같이, 본 발명에 따른 다 해상도 기반의 움직임 추정 방법에서는 움직 임 추정시, 중간 해상도 레벨에서 서브 매크로블록으로 이루어진 모드 별로 움직임 추정을 수행하고, 고 해상도 레벨에서는 중간 해상도 레벨에서의 움직임 추정 결과를 이용함과 동시에, 중간 해상도 레벨에서 최소 크기의 서브 매크로블록이 최소 코스트를 갖는 경우에는 서브 블록 분할한 후, 이에 대해 개개의 모드 별로 움직임 추정을 하도록 함으로써, 성능 저하없이 움직임 추정시 소요되는 메모리 대역폭(bandwidth) 및 전체 처리 시간(processing cycle)을 감소시키는 것이 가능하다는 장점이 있다.
도 12는 본 발명의 또 다른 실시예에 따른 다 해상도 기반의 움직임 벡터 추정 방법을 도시하는 흐름도이다.
단계 1210에서는 최저 해상도 계층(level 2)에서 현재 매크로블록의 참조 프레임으로 선정된 REF1, REF2 각각에 대해 주어진 탐색 영역 내에서 프레임 단위의 움직임 추정을 위한 전역 탐색을 수행하여 최소 SAD를 갖는 REF1에서의 움직임 벡터 MV(2) ref1 및 REF2에서의 움직임 벡터 MV(2) ref2 를 구한다.
단계 1220에서는 저해상도 계층에서 현재 매크로블록의 주변 매크로블록으로부터 또 다른 초기 움직임 벡터, 즉 부가 움직임 벡터를 계산한다. 예를 들어, 도 8에 도시된 바와 같이 주변 세개 매크로블록들의 움직임 벡터들의 미디언(median) 값을 구함으로써 얻어진 움직임 벡터, 즉 MVspat ref를 부가 움직임 벡터로 사용하는 것도 가능하다.
단계 1230에서는 중간 해상도 계층(level 1)에서 최저 해상도 계층(level 2)의 초기 움직임 벡터들, 즉 MV(2) ref1 및 MV(2) ref2 및 부가 움직임 벡터 MVspat ref를 이용하여 REF1 및 REF2에서의 움직임 추정을 위한 탐색 영역을 결정한다.
단계 1240에서는 중간 해상도 계층에서, 결정된 탐색 영역에 대해 도 9에 도시된 바와 같이 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어진 네 개의 모드별로 움직임 추정을 수행하고, 각 모드별 코스트를 고려하여 두 가지 모드를 선택한다. 즉, 움직임 추정을 위해 도 9에 도시된 4개의 모드, 즉 움직임 추정의 단위가 도 9(a)에 도시된 16×16 블록 크기의 매크로블록인 16×16 모드, 도 9(b)에 도시된 16×8 블록 크기의 매크로블록인 16×8 모드, 도 9(c)에 도시된 8×16 블록 크기의 매크로블록인 8×16 모드, 도 9(d)에 도시된 8×8 블록 크기의 매크로블록인 8×8 모드에 대해 움직임 추정을 수행한다.
이때에도, 연산량을 줄이기 위해 SAD 연산시 동일한 탐색 영역에 대해 16×16, 각 16×8, 각 16×8, 각 8×8 블록의 SAD를 독립적으로 계산하여 한번의 지역 탐색으로 모든 모드에 대한 움직임 추정을 수행한다.
단계 1250에서는 단계 1230에서 선택된 모드가 최소 서브 매크로블록으로 이루어진 모드, 즉 8×8 블록 크기의 매크로블록인 8×8 모드인지 여부를 판단하고, 최소 서브 매크로블록으로 이루어진 모드인 경우에는 단계 1270으로 진행하고, 최소 서브 매크로블록으로 이루어진 모드가 아닌 경우에는 단계 1260으로 진행한다.
단계 1260에서는 고 해상도 계층(level 0)에서 중간 해상도 계층(level 1)의 기준 움직임 벡터를 이용하여 움직임 추정을 위한 탐색 영역을 결정하고, 결정된 탐색 영역에 대해 지역 탐색을 수행한다.
단계 1270에서는 해당 서브-매크로블록을 도 10에 도시된 바와 같이 소정의 수의 서브 블록으로 분할하여, 중간 해상도 계층에서와 동일한 방식으로 각각의 모드, 즉 8×8 모드, 8×4 모드, 4×8 모드, 4×4 모드에 대해 움직임 추정을 수행하여 최소 코스트를 갖는 모드를 선택한다. 이때에도, 연산량을 줄이기 위해 SAD 연산시 동일한 탐색 영역에 대해 16×16, 각 16×8, 각 16×8, 각 8×8 블록의 SAD를 독립적으로 계산하여 한번의 지역 탐색으로 모든 모드에 대한 움직임 추정을 수행한다. 최종적으로 결정된 2개의 모드에 대해 서브-펠 단위의 움직임 벡터 탐색을 통해 최소의 코스트를 갖는 움직임 벡터 및 모드를 선택하고, 선택된 움직임 벡터에 기초하여 움직임 예측 및 보상을 수행한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이, 본 발명에 따른 다 해상도 기반의 움직임 추정 방법을 채용함으로써, 움직임 추정 성능의 저하 없이 움직임 추정을 위한 메모리 대역 폭을 감소시킬 수 있도록 함과 동시에 전체 처리 시간을 감소시키는 효과가 있다.

Claims (13)

  1. 다 해상도 기반의 움직임 추정 방법에 있어서,
    현재 프레임의 소정의 블록의 초기 움직임 벡터를 저해상도에서 계산하는 단계와;
    상기 계산된 초기 움직임 벡터에 기초하여 중간 해상도에서의 탐색 영역을 결정하는 단계와;
    상기 결정된 탐색 영역에 대해, 매크로블록을 분할하여 얻어진 소정수의 서브 매크로블록으로 이루어진 복수개의 모드 별로 움직임 추정을 수행하는 단계와;
    상기 탐색된 움직임 벡터 들 중 적어도 하나 이상의 모드를 선택하고, 상기 선택된 모드 및 상기 선택된 모드에서의 움직임 벡터에 기초하여, 고 해상도에서의 움직임 추정을 수행하는 단계를 포함하며,
    상기 복수개의 모드는 서로 다른 크기의 서브 매크로 블록으로 이루어진 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 적어도 하나 이상의 모드를 선택하는 단계는 상기 모드 별로 수행된 움직임 추정 결과에 기초하여 수행되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 선택된 모드가 상기 복수개의 모드들 중 최소 크기의 서브 매크로 블록으로 이루어진 경우, 상기 고해상도에서의 움직임 추정 단계는 상기 최소 크기의 서브 매크로 블록을 분할하여 얻어진 소정수의 서브 블록으로 이루어진 복수개의 모드 별로 움직임 추정을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 적어도 하나의 모드는 상기 매크로블록을 하나의 16 ×16 블록 크기의 서브 매크로블록, 두개의 16 ×8 블록 크기의 서브 매크로블록, 두 개의 8 ×16 블록 크기의 서브 매크로블록, 또는 4개의 8 ×8 블록 크기의 서브 매크로블록으로 분할 함으로써 얻어지며, 각각의 모드에서는 상기 서브 매크로블록 별로 움직임 추정을 수행하며, 상기 움직임 추정에 따라 얻어지는 움직임 벡터의 수는 상기 분할된 서브 매크로블록의 수와 동일한 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 적어도 하나 이상의 모드를 선택하는 단계는 상기 모드별로 수행된 움직임 추정 결과, 최소 코스트(cost)를 갖는 모드를 선택함으로써 이루어지며, 상기 코스트는 SAD(sum of absolute difference) 크기, 움직임 벡터 비트량, 및 모드 정보 비트량 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 초기 움직임 벡터는 현재 프레임의 인접 프레임들 중 적어도 하나 이상의 프레임을 참조하여 계산되는 것을 특징으로 하는 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 소정의 블록의 주변 블록의 움직임 벡터로부터 부가 움직임 벡터를 계산하는 단계를 더 포함하며,
    상기 중간 해상도에서의 탐색 영역을 결정하는 단계는 상기 부가 움직임 벡터에 기초하여 탐색 영역을 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 부가 움직임 벡터는 상기 주변 블록들의 움직임 벡터의 미디언(median) 값인 것을 특징으로 하는 방법.
  9. 제4항에 있어서, 상기 선택된 모드가 8×8 블록 크기의 서브 매크로 블록에 대해 움직임 추정을 수행하는 모드인 경우, 상기 고해상도에서의 움직임 추정 단계는 8×8 블록 크기의 서브 매크로 블록을 분할하여 얻어진 소정수의 서브 블록으로 이루어진 복수개의 모드 별로 움직임 추정을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 움직임 추정 방법은 H.264 부호화기에 적용되는 것을 특징으로 하는 방법.
  11. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 중간 해상도 계층에서의 모드 별 움직임 추정을 수행하는 단계는 SAD(sum of absolute difference) 연산시 주어진 탐색 영역에 대해 각 모드에 대응하는 서브 매크로블록 단위로 SAD를 독립적으로 계산함으로써 수행되는 것을 특징으로 하는 방법.
  12. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 고 해상도 계층에서의 모드 별 움직임 추정을 수행하는 단계는 SAD 연산시 주어진 탐색 영역에 대해 각 모드에 대응하는 서브 블록 단위로 SAD를 독립적으로 계산함으로써 수행되는 것을 특징으로 하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 기재된 방법을 실행하기 위한 프로그램 을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020040053037A 2004-07-08 2004-07-08 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체 KR20060004060A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040053037A KR20060004060A (ko) 2004-07-08 2004-07-08 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체
US11/175,343 US20060008008A1 (en) 2004-07-08 2005-07-07 Method of multi-resolution based motion estimation and recording medium storing program to implement the method
CNA2005100841116A CN1719901A (zh) 2004-07-08 2005-07-08 基于运动估计多分辨率方法及存储执行其程序的记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040053037A KR20060004060A (ko) 2004-07-08 2004-07-08 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체

Publications (1)

Publication Number Publication Date
KR20060004060A true KR20060004060A (ko) 2006-01-12

Family

ID=35541341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040053037A KR20060004060A (ko) 2004-07-08 2004-07-08 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체

Country Status (3)

Country Link
US (1) US20060008008A1 (ko)
KR (1) KR20060004060A (ko)
CN (1) CN1719901A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100742772B1 (ko) * 2005-04-08 2007-07-26 고려대학교 산학협력단 가변 블록 움직임 추정장치 및 그 방법
WO2011111954A2 (ko) * 2010-03-08 2011-09-15 에스케이텔레콤 주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2012053796A2 (ko) * 2010-10-18 2012-04-26 에스케이텔레콤 주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333436A (ja) * 2005-01-07 2006-12-07 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
TWI280803B (en) * 2005-07-20 2007-05-01 Novatek Microelectronics Corp Method and apparatus for motion estimation
JP2008011158A (ja) * 2006-06-29 2008-01-17 Matsushita Electric Ind Co Ltd 動きベクトル探索方法及び動きベクトル探索装置
KR101228109B1 (ko) * 2006-07-24 2013-01-31 삼성전자주식회사 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법
US8218636B2 (en) * 2006-11-21 2012-07-10 Vixs Systems, Inc. Motion refinement engine with a plurality of cost calculation methods for use in video encoding and methods for use therewith
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
US8929448B2 (en) * 2006-12-22 2015-01-06 Sony Corporation Inter sub-mode decision process in a transcoding operation
JP2009089332A (ja) * 2007-10-03 2009-04-23 Sony Corp 動き予測方法及び動き予測装置
KR101085963B1 (ko) * 2008-08-11 2011-11-22 에스케이플래닛 주식회사 동영상 부호화 장치 및 방법
US20100074336A1 (en) * 2008-09-25 2010-03-25 Mina Goor Fractional motion estimation engine
CN102075760B (zh) * 2010-10-27 2012-11-21 无锡中星微电子有限公司 快速运动估计方法及装置
US20140307798A1 (en) * 2011-09-09 2014-10-16 Newsouth Innovations Pty Limited Method and apparatus for communicating and recovering motion information
TWI493977B (zh) * 2011-09-20 2015-07-21 Hannstar Display Corp 影像搜尋模組及其方法
US20130148732A1 (en) * 2011-12-13 2013-06-13 Jason D. Tanner Variable block sized hierarchical motion estimation
CN102819751A (zh) * 2012-08-21 2012-12-12 长沙纳特微视网络科技有限公司 一种基于动作识别的人机互动方法及装置
CN104601993A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 一种视频编码方法及装置
US10187655B2 (en) 2015-09-30 2019-01-22 Apple Inc. Memory-to-memory low resolution motion estimation systems and methods
CN112291561B (zh) * 2020-06-18 2024-03-19 珠海市杰理科技股份有限公司 Hevc最大编码块运动向量计算方法、装置、芯片及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671319B1 (en) * 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
TW535440B (en) * 2001-10-09 2003-06-01 Vivotek Inc Motion estimation method of video encoding

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100742772B1 (ko) * 2005-04-08 2007-07-26 고려대학교 산학협력단 가변 블록 움직임 추정장치 및 그 방법
WO2011111954A2 (ko) * 2010-03-08 2011-09-15 에스케이텔레콤 주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2011111954A3 (ko) * 2010-03-08 2012-01-05 에스케이텔레콤 주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9491480B2 (en) 2010-03-08 2016-11-08 Sk Telecom Co., Ltd. Motion vector encoding/decoding method and apparatus using a motion vector resolution combination, and image encoding/decoding method and apparatus using same
WO2012053796A2 (ko) * 2010-10-18 2012-04-26 에스케이텔레콤 주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
WO2012053796A3 (ko) * 2010-10-18 2012-06-21 에스케이텔레콤 주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101479130B1 (ko) * 2010-10-18 2015-01-07 에스케이 텔레콤주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Also Published As

Publication number Publication date
US20060008008A1 (en) 2006-01-12
CN1719901A (zh) 2006-01-11

Similar Documents

Publication Publication Date Title
RU2740783C1 (ru) Кодирование и декодирование видео
KR20060004060A (ko) 다 해상도 기반의 움직임 벡터 추정 방법과 이를 구현하기위한 프로그램이 기록된 기록 매체
KR101228651B1 (ko) 모션 추정을 수행하기 위한 방법 및 장치
US8457198B2 (en) Method of and apparatus for deciding encoding mode for variable block size motion estimation
US7840096B2 (en) Directional interpolation method and video encoding/decoding apparatus and method using the directional interpolation method
US20050201633A1 (en) Method, medium, and filter removing a blocking effect
KR100510137B1 (ko) 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치
US8189667B2 (en) Moving picture encoding apparatus
KR20110112240A (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20070171970A1 (en) Method and apparatus for video encoding/decoding based on orthogonal transform and vector quantization
KR20050045746A (ko) 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
KR100944333B1 (ko) 스케일러블 비디오 부호화에서 계층간 예측모드 고속결정방법
KR20110039516A (ko) 움직임 추정을 위한 방법, 시스템 및 애플리케이션
KR100994768B1 (ko) 동영상 부호화를 위한 움직임 추정 방법 및 이를 구현하기위한 프로그램이 기록된 기록 매체
KR20050119422A (ko) 움직임 보상에 기반한 입력 영상의 노이즈 예측 및 그장치와, 이를 사용한 노이즈 제거 및 동영상 부호화 방법,이를 수행하기 위한 프로그램이 기록된 기록 매체
KR20110036886A (ko) 움직임 추정 반복 탐색의 개선 방법 및 시스템, 다음 탐색 영역의 중심점 결정 방법 및 시스템, 지역적 최소값의 회피 방법 및 시스템
US7433407B2 (en) Method for hierarchical motion estimation
KR101623064B1 (ko) 영상 부호화 장치, 영상 부호화 방법 및 영상 부호화 프로그램
CN113079376B (zh) 对静止区域的视频编码方法和装置
Zhao et al. Fast inter-layer mode decision in scalable video coding
CN101150722A (zh) 视频编码中快速的模式确定方法和装置
JP2009260421A (ja) 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム
KR100982514B1 (ko) 영상의 인트라 예측 부호화 방법 및 그 장치
KR100657277B1 (ko) 매크로블록 타입 결정 방법
WO2015015404A2 (en) A method and system for determining intra mode decision in h.264 video coding

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid