KR100343780B1 - 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법 - Google Patents
압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법 Download PDFInfo
- Publication number
- KR100343780B1 KR100343780B1 KR1020000044407A KR20000044407A KR100343780B1 KR 100343780 B1 KR100343780 B1 KR 100343780B1 KR 1020000044407 A KR1020000044407 A KR 1020000044407A KR 20000044407 A KR20000044407 A KR 20000044407A KR 100343780 B1 KR100343780 B1 KR 100343780B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion
- camera
- motion vector
- frame
- video
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 움직임은 비디오의 내용기반 색인에 있어서 샷(shot)의 특징을 잘 나타내며, 상위의 의미정보를 유추할 수 있는 중요한 비쥬얼 특징 중의 하나이다. 샷은 여러 가지의 연속한 카메라 움직임으로 구성된다.
이러한 본 발명의 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법은, 블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터 카메라 움직임을 자동으로 검출하고, 동일한 카메라 움직임을 갖는 구간으로 분할한다. 이러한 본 발명은 압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와; 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계; 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계; 및 상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계를 포함한다.
이러한 본 발명에 의하면, 압축된 비디오를 완전 복호화하지 않고 부분 복호화함으로써, 미세분할된 카메라 움직임을 검출할 수 있기 때문에 계산량은 감소하고 잡음에 강인한 안정적인 성능을 얻을 수 있다. 이러한 카메라 움직임 검출 및 분할 정보는 내용기반 비디오 색인에 활용할 수 있으며, 카메라 움직임 정보는 하이라이트 검출을 통한 비디오 요약, 카메라 움직임을 쿼리로 한 비디오 검색 및 브라우징, 편집 등에 활용할 수 있는 효과가 있다.
Description
본 발명은 압축 비디오의 내용기반 색인을 위한 압축 영역에서의 카메라 움직임 검출 및 분할방법에 관한 것으로서, 보다 상세하게 설명하면 블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터의 카메라 움직임을 자동 검출하고 카메라 움직임 단위로 비디오를 미세 분할하는 방법에 관한 것이다.
종래의 대부분의 카메라 분석 및 카메라 움직임 추출방법은, 비디오 시퀀스의 연속한 프레임 사이의 광류(optical flow)를 분석한 결과를 이용하였다. 이러한 종래의 방법들은 광류 추정을 위한 과도한 계산량을 요한다.
광류를 활용한 카메라 움직임 분석기법은 크게 다음의 두 가지로 분류된다. 한 가지는 카메라 움직임을 표현하는 움직임 모델을 정의하고 그 움직임 모델의 파라미터를 광류로부터 추정하는 것이다. 다른 한 가지는 특별한 움직임 모델없이 광류의 각도 분포 또는 크기 등을 통한 광류의 패턴 분석을 하여 카메라 움직임을 분석한다.
한편, 점점 더 많은 비디오 데이터들이 블록 단위의 움직임 보상방식으로 압축된 형태로 활용되므로 압축 비디오 시퀀스를 완전 복호화 하지않고 카메라 움직임을 분석하는 기법이 요구된다. 지금까지 제안된 몇 가지 카메라 움직임 분석기법들 중 압축 영역에서 카메라 움직임을 분석하는 기법이 제시된 바 있다. 이러한 기법들은 압축 비트열을 완전 복호화 하지않고 비트열을 부분 복호화하여 비트열에 포함된 움직임 벡터(motion vector)를 광류의 대용으로 사용함으로써 복호화와 광류 추정의 두 단계의 계산량을 생략할 수 있다. 그러나, 종래의 이러한 기법들은 움직임 벡터의 패턴 분석을 통한 제한된 종류의 카메라 움직임만을 검출할 뿐이다.
또한, 압축 비디오의 카메라 움직임 분석을 위해서는 다음과 같은 측면이 고려되어야 하는데, 종래의 기법들은 이러한 측면을 잘 고려한 내용기반 색인을 위한카메라 움직임 검출기법을 제공하지 못하고 있다. 우선, 광류를 계산하지 않고 비트열의 모션 벡터를 사용하기 위해서는 각 프레임간의 광류에 해당하는 움직임 벡터장를 구성하고 이들이 포함하고 있는 잡음을 제거하는 전처리가 수행되어야 한다. 또한, 큰 크기의 이동 객체는 광류로부터 카메라 움직임을 검출하는 과정에서 잡음을 야기시키는데 이러한 이동 객체로부터 기인한 잡음에 강인하여야 한다. 또한, 비디오를 내용기반으로 색인화하기에 충분한 종류의 카메라 움직임 검출이 가능하여야 한다.
따라서, 상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은, 압축-1 또는 압축-2와 같이 블록 단위의 움직임 보상을 하는 압축방식으로 압축된 비디오로부터 압축 영역에서 적은 계산량으로 내용기반 비디오 색인에 충분한 종류의 카메라 움직임을 포함하고 이동 객체나 압축 움직임 벡터로부터 기인한 잡음에 강인한 카메라 움직임 검출방법을 제공하기 위한 것이다.
또한 본 발명의 다른 목적은, 상기의 카메라 움직임 검출 결과를 활용하여 동일한 카메라 움직임을 유지하는 비디오 구간, 즉 카메라 움직임 단위로 비디오를 미세 분할하는 방법을 제공하기 위한 것이기도 하다.
도 1은 본 발명의 한 실시예에 따른 압축 영역에서의 카메라 움직임 검출 및 분할방법의 동작 흐름도,
도 2는 본 발명의 한 실시예에 따른 움직임 벡터장 구성과정의 동작 흐름도,
도 3은 본 발명의 한 실시예에 따른 카메라 움직임 검출 및 분할과정의 동작 흐름도,
도 4는 본 발명에서 분류한 6종류의 카메라 움직임 검출을 위한 상세 흐름도이다.
상기한 목적을 달성하기 위한 본 발명에 따른 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법은, 블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터 카메라 움직임을 자동으로 검출하고, 동일한 카메라 움직임을 갖는 구간으로 분할하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법에 있어서,
상기 압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와;
상기 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계;
상기 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계; 및
상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계를 포함한 것을 특징으로 한다.
양호하게는, 상기 검출된 카메라 움직임을 이용하여 동일한 카메라 움직임을 갖는 비디오 구간으로 분할하는 비디오 분할단계를 더 포함한 것을 특징으로 한다.
또한, 본 발명에 따르면 상술하였던 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
이하, 첨부된 도면을 참조하면서 본 발명의 한 실시예에 따른 "압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법"을 보다 상세하게 설명하기로한다.
도 1은 본 발명의 한 실시예에 따른 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법의 전체 동작 흐름도이다.
도 1을 참조하면, 이는 압축 비트열 부분 복호화단계(S101)와, 움직임 벡터장 처리단계(S102), 어파인(affine) 움직임 모델 파라미터 추정단계(S103), 카메라 움직임 검출 및 분할단계(S104)로 이루어진다.
압축 비트열 부분 복호화단계(S101)는 압축된 비디오 비트열을 입력받아 부분 복호화하여, 각 매크로블록(macroblock: MB)마다 움직임 벡터를 추출하여 출력한다. 압축의 움직임 벡터는 움직임 벡터 부호화에 필요한 비트수를 줄이기 위하여 이전 매크로블록(MB)의 움직임 벡터와의 차값을 부호화한다. 따라서, 움직임 벡터를 복호화하기 위해서는 이전 매크로블록(MB)의 움직임 벡터를 예측자(predictor)로 가지고 있어야 한다. 즉, 현재 매크로블록(MB)의 복호화된 움직임 벡터값은 다음 프레임의 예측자(predictor)로 저장한다.
본 발명에서는 각 매크로블록(MB)의 움직임 벡터값을 복호화하고, 다음 매크로블록(MB)의 예측자값 즉, 해당 매크로블록(MB)의 복호화한 값을 출력한다. 다음 매크로블록의 움직임 벡터 예측자값은 PMV[r][s][t] 형태로 출력한다. 여기서 r, s, t는 각각 0과 1의 값을 갖는데, 'r'값은 0이면 첫 번째 움직임 벡터(first motion vector in MB)를 나타내며 1이면 두 번째 움직임 벡터(second motion vector in MB)를 나타내고, 's'값은 0이면 전방향 움직임 벡터(forward motion vector)를 나타내며 1은 후방향 움직임 벡터(backward motion vector)를 나타내고,'t'값은 0이면 수평 성분(horizontal component)을 나타내며 1은 수직 성분(vertical component)를 나타낸다.
이때 다음과 같은 관련 정보도 함께 추출하여 출력한다. 즉, 각 픽쳐(picture)의 픽쳐 부호화 형태(picture coding type)를 나타내는 picture_coding_type, 각 매크로블록(MB)의 형태(MB type)를 나타내는 macroblock_type, 각 매크로블록(MB)의 모션 형태(motion type)가 필드기반예측(field_based_prediction)에 의한 field_motion_vector인지 프레임기반예측(frame_based_prediction)에 의한 frame_motion_vector인지를 나타내는 motion_type, 그리고 각 필드의 모션 추정 기준 필드가 top field인지 bottom field인지를 나타내는 motion_vector_field_select[r][s]를 함께 출력한다.
여기서, r, s는 움직임 벡터 예측자값(motion vector predictor)에서와 마찬가지로 첫 번째/두 번째 움직임 벡터(first/second motion vector in MB), 전방향/후방향 움직임 벡터(forward/backward motion vector)를 각각 나타낸다. 그리고 motion_type의 field_motion_vector은 움직임 추정을 기준 프레임의 한 필드에서만 수행하는 field_based_prediction에 의한 움직임 벡터를, frame_motion_vector는 움직임 추정이 기준 프레임의 두 필드를 다 포함한 프레임을 움직임 추정의 기준 영역으로 사용하는 경우의 움직임 벡터를 나타낸다.
다음, 움직임 벡터장 처리단계(S102)는 압축 비트열 부분 복호화단계에서 출력되는 움직임 벡터 및 관련 정보들을 입력받아 각 프레임마다 움직임 벡터장을 구성한다. 움직임 벡터장은 각 프레임을 구성하는 각 매크로블록(MB)마다 한 프레임 간격의 예측 거리에서 순방향 예측(forward prediction)에 해당하는 움직임 벡터를 하나 포함한다. 즉, 픽쳐 코딩타입(picture coding type)에 따라서 최대 3 프레임까지의 다양한 프레임 간격 예측거리를 갖고, 필드 또는 프레임에 해당하는 최대 4까지 존재하는 움직임 벡터 예측자값 PMV[r][s][t]를 입력하여 함께 입력한 관련 정보, 즉, picture_coding_type, motion_type, macroblock_type, motion_vector_field_select[r][s]를 이용하여 각 매크로블록(MB)마다 한 프레임 간격의 예측 거리를 갖고(with prediction distance of one frame), 순방향 예측을 하고(forward-predicted), 프레임 기반 예측에 의한 프레임 움직임 벡터(frame_motion_vector) 하나를 포함하도록 초기 움직임 벡터장을 구성한다. 구성된 움직임 벡터장에 대하여 잡음을 제거하여 최종 움직임 벡터장을 출력한다. 움직임 벡터장을 구성하기 위한 흐름도는 도 2에 도시되어 있으며, 이는 후술하기로 한다.
어파인 움직임 모델(affine motion model) 파라미터 추정단계(S103)는 각 프레임에 해당하는 움직임 벡터장으로부터, 아래의 수학식 1에 기술된 어파인 파라미터를 수학식 2에 정의된 오차 함수를 이용하여 최소 제곱(Least Square) 추정으로 구한다.
위의 수학식 1에서 (u,v)는 (x,y) 화소 좌표에서의 움직임 벡터의 가로 세로 성분을 나타낸다. (x,y) 화소 좌표의 매크로블록의 움직임 벡터는 어파인 움직임 파라미터에 의하여 위의 수학식 1과 같이 표현된다. 최소 자승 추정은 수학식 2와 같은 오차 함수를 정의하고, 이 정의된 오차 함수가 최소가 되도록 6개의 파라미터를 구한다. 여기서, N은 해당 프레임의 매크로블록 중 인트라 매크로블록(Intra MB)인 경우를 제외한 매크로블록(MB)의 수이다.
카메라 검출의 대상이 되는 전 비디오 시퀀스의 각 프레임에 대한 어파인 파라미터 검출이 완료되면, 전 비디오 시퀀스를 구성하는 각 프레임에 해당하는 어파인 파라미터 시퀀스가 얻어진다.
카메라 움직임 검출 및 분할단계(S104)는 위의 과정을 통해서 얻어진 어파인 파라미터 시퀀스를 입력하여 미리 정해진 특정 카메라 움직임에 해당하는 비디오 구간 검출을 수행하고, 이 결과를 바탕으로 전 비디오 시퀀스를 특정 카메라 움직임의 구간들로 분할한다.
이 단계에서는 내용기반 비디오 색인의 관점에서 중요한 카메라 움직임을 다음의 6가지로 분류하고 이들을 검출하며, 비디오를 이들 움직임으로 구성된 구간들로 분할한다. 본 발명에서 검출하는 카메라 움직임의 종류는 줌(zoom or forward/backward tracking), 회전(rotation), 팬(pan or horizontal tracking), 틸트(tilt or vertical tracking), 이동객체구간(object motion), 정지구간(static) 등과 같은 6가지이다. 이중 이동객체구간은 이동객체의 움직임이 우세(dominant)하거나 특별히 구분되지 않는 모호한 움직임이 존재하는(즉, 이동객체와 카메라 움직임이 혼재하는 경우, 또는 잡음이 과다하게 존재하는) 구간으로 정의한다. 정지구간은 카메라 움직임이나 이동객체 움직임 등 전체적으로 움직임이 미미한 경우로 정의한다. 전체적인 카메라 움직임 검출 및 분할을 위한 전체적인 동작은 도 3에 도시된 바와 같으며, 이는 후술하기로 한다.
도 2는 압축 비트열 부분 복호화 단계의 출력인 움직임 벡터 예측자값(PMV[r][s][t])과, 관련정보(picture_coding_type, macroblock_type, motion_type, , motion_vector_field_select[r][s])를 입력하여 움직임 벡터장을 구성하는 과정을 도시한 동작 흐름도이다.
먼저, 하나의 매크로블록(MB)에 대한 상기의 정보를 입력하여 macroblock_type이 인트라(Intra)/no_MC(no_Motion Compensation) 매크로블록(MB)인지를 알아내어(S201), 인트라(Intra) 또는 no_MC 매크로블록이면 움직임 벡터의 가로, 세로 성분 즉, mv_x와 mv_y를 각각 0으로 설정한다(S208). 여기서, 인트라 매크로블록(Intra MB)은 예측 부호화를 하지 않은 블록으로서, 비트열에서 움직임 벡터가 제공되지 않으므로 움직임 벡터를 0으로 설정한 것이다. 또한, no_MC MB은 예측 기준 프레임의 동일한 위치로 예측이 되어 움직임 벡터가 0인 경우로 mv_x, mv_y를 0으로 설정한 것이다.
단계 S201에서, 매크로블록이 인트라(Intra) 또는 no_MC 매크로블록이 아니면, 원 화소 단위 변환단계(S202)로 진행한다. 이 원 화소 단위 변환단계에서는 비트열의 움직임 벡터가 반 화소 단위에 기준한 값이므로 예측자값 PMV[r][s][t]의 반으로 크기를 스케일링(scaling)하여 화소 단위의 값을 갖도록 한다.
다음, 단계 S203으로 진행하여 motion_type이 field_motion_vector인지 판단한다. 본 발명에서는 압축-1과 압축-2로 압축된 비트열을 모두 처리할 수 있는데, 압축-2의 경우 필드 예측(field prediction)과 프레임 예측(frame prediction)을 적응적으로 선택할 수 있다. 따라서 압축-2의 경우 Field_based_prediction에 의한 field_motion_vector인 경우는 frame_motion_vector의 변환을 수행하고(S204), 그렇지 않은 경우에는 단계 S204를 생략한다. 압축-1에서는 프레임 예측만 하므로 단계 S204는 생략된다.
frame_motion_vector 변환단계(S204)는 두 필드 각각의 field_motion_vector를 하나의 frame_motion_vector로 변환하는데, 그 변환방법은 아래의 수학식 3을 이용한다.
위의 수학식 3과 같이 필드 움직임 벡터(field_motion_vector)(mv)는 프레임 움직임 벡터(frame_motion_vector)(mv_fr)로 변환되는데, 여기서 'grid'는 지금 변환하고자 하는 움직임 벡터가 가로 성분인지 세로 성분인지에 따라서 1과 2의 값을 갖는다. 세로 성분일 경우 필드 움직임 벡터에서의 값은 프레임 화소로 변환할 때 2 배에 해당하며 이를 고려해 주기 위함이다. 'parity'는 현재 복호화하는 필드가 예측으로 사용한 기준 필드와의 종류 관계에 따라서 위의 수학식 3에서 기술한 값을 설정한다. 이 'parity'의 정보는 입력한 motion_vector_field_select[r][s]로부터 구할 수 있다. 'dist'는 필드 간격 단위의 예측 거리를 프레임 간격 단위의 예측 거리로 변환하기 위한 것으로 위의 수학식 3과 같이 구한다.
수학식 3에 따라서 각 필드의 field_motion_vector는 frame_motion_vector로변환되고, 이때 변환된 두 개의 frame_motion_vector를 산술 평균하여 최종 변환된 frame_motion_vector로 한다.
다음, macroblock_type 정보로부터 예측 방향이 순방향인지 역방향인지를 파악하여(S205), 순방향이 아닐 경우 즉, 역방향일 경우에 순방향 전환단계(S206)를 수행한다. 즉, 순방향 전환단계는 움직임 벡터가 순방향 예측이 되도록 하는 단계로서, 역방향일 경우에는 부호를 반대로 하고 양방향일 경우 순방향의 움직임 벡터만을 취한다.
다음, 예측 거리가 한 프레임 간격이 되도록 정형화 한다(S207). picture_coding_type에 따라서 예측 거리는 1~3 프레임 간격을 갖는데 이를 스케일링(scaling)하여 1 프레임 간격으로 정형화한다.
다음, 현재 매크로블록이 현재 프레임의 마지막 매크로블록인 지를 판정하여(S209), 마지막 매크로블록(MB)인 경우 즉, 한 프레임에 대한 모든 매크로블록(MB)에 대한 수행이 끝났으면 그 프레임의 초기 움직임 벡터장이 구성 완료되어 미디언 필터링단계(S210)로 진행하고, 그렇지 않으면 그 프레임의 다음 매크로블록에 대해 단계 S201부터 수행한다.
미디언 필터링단계(S210)는 초기 움직임 벡터장의 잡음 제거 처리를 하여 최종 움직임 벡터장을 출력한다. 압축 비트열에서 제공되는 움직임 벡터는 부호화의 관점에서 예측 오차를 최소화하는 움직임 벡터일 뿐이며 카메라 움직임에 의한 광류와는 항상 일치하지 않고, 특히 평탄한 영역의 경우 랜덤 잡음 형태의 움직임 벡터를 갖는다. 따라서 이러한 잡음을 제거하기 위하여 미디언 필터링을 수행한다.본 발명의 미디언 필터링단계는 움직임 벡터의 가로 성분과 세로 성분의 크기에 대한 필터링을 수행한다.
도 3은 카메라 움직임 검출 및 분할단계의 세부 동작 흐름도이다. 이 단계는 어파인 파라미터 시퀀스를 입력받아서 최종 출력으로 비디오를 미세분할한 결과와 카메라 움직임 검출결과를 출력한다.
먼저, 어파인 파라미터 변환단계(S301)는 각 프레임에 해당하는 어파인 파라미터 시퀀스를 입력받아 각 프레임의 어파인 파라미터를 수학식 4와 같이 변환한다. 즉, 위의 수학식 2를 이용하여 최소 자승 추정으로 구한 어파인 움직임 모델 파라미터는 수학식 4와 같이 카메라 움직임 검출을 위하여 물리적인 카메라 움직임을 더 잘 표현하는 파라미터로 변환할 수 있다.
위의 수학식 4에서 변형된 파라미터 pan, tilt, div, rot 는 각각 카메라 움직임의 팬(pan or horizontal tracking), 틸트(tilt or vertical tracting), 줌(zoom or forward/backward tracking), 회전에 의해서 야기되는 움직임 벡터장을나타낸다. hyp1과 hyp2는 정상적인 카메라 움직임에 의해서 발생할 수 없는 움직임 벡터장을 나타낸다. 즉, 이동개체의 움직임이 포함된 경우의 움직임 벡터장을 기술할 수 있다. 앞으로의 카메라 움직임 검출은 상기의 변환된 파라미터의 임계화에 기반한다. hyp1과 hyp2는 hyp(hyp=|hyp1|+|hyp2|) 형태로 변환하여 사용한다. 결국 본 발명의 어파인 파라미터 변환단계에서는 어파인 파라미터가로 변환된다. 여기서, div, rot, hyp는 선형변수로 정의하고, pan과 tilt는 이동변수로 정의한다.
다음, 임계값들을 설정하는데(S302), 위에서 구한 선형변수(div, rot, hyp)에 대한 임계값으로 선형변수 임계값 Tlin과, 이동변수(pan, tilt)에 대한 임계값으로 이동변수 임계값 Ttr, 그리고 시간구간 레벨 검출을 위한 시간구간 임계값 Ttemp을 설정한다. 이들 임계값들은 검출 대상 비디오 시퀀스의 특성에 무관하게 안정적인 값을 설정할 수 있다. 변환된 어파인 변수들은 전술한 바와 같이 물리적인 카메라 움직임에 의해서 발생되는 움직임 벡터장을 표현한다. 따라서 이들 임계값의 변화에 따라 발생하는 움직임 벡터장을 눈으로 관찰하여 사람이 인식할 수 있는 최소의 값을 임계값으로 설정하면 이들 파라미터가 임계값 이상의 값을 가질 경우 결국 사람이 인식할 수 있는 카메라 움직임이 존재함을 나타내고 원하는 카메라 움직임 검출 결과를 얻을 수 있다. 물론 이들 임계값들은 사용자가 대상 비디오 시퀀스에 따라서 미세한 조정을 하면 더 좋은 결과를 얻을 수도 있다. 본 발명에서는Tlin=0.015, Ttr=1.00을 기본 임계값으로 설정한다.
시간구간 임계값 Ttemp은 일반적으로 카메라 움직임이 어느 구간 이상 지속된다는 사실에 기반하여 프레임 레벨의 검출 결과가 어느 시간 구간 이상 지속되면 그 카메라 움직임이 존재하는 것으로 검출한다. 시간구간 임계값 Ttemp는 이를 위한 임계값이며 이 임계값 역시 비디오 시퀀스에 의존하지 않고 안정적인 값으로 설정할 수 있는데, 단 상당히 빠른 카메라 움직임을 갖는 축구 등의 스포츠와 카메라 움직임이 비교적 느린 드라마 등으로 크게 두 부류 정도 구분한다. 본 발명에서는 전자인 경우에는 Ttemp=15 프레임으로 설정하고, 후자인 경우에는 Ttemp=30 프레임으로 설정하는데, 이럴 경우 안정적인 검출 성능을 얻을 수 있다.
다음, 줌 검출단계(S303)에서는 비디오 시퀀스를 구성하는 각 프레임에 해당하는 변환된 어파인 파라미터 중 div 시퀀스와 어파인 파라미터 중 a2와 a6 시퀀스를 입력받아 줌 카메라 움직임을 갖는 비디오 구간을 검출하여 줌 구간으로 출력한다. 즉, 변환된 어파인 파라미터 div를 앞에서 설정된 선형구간 임계값과 비교함으로써, 해당 프레임의 카메라 움직임을 검출한다. 각 프레임의 카메라 움직임을 검출하고 이로부터 비디오 구간을 검출하는 과정은 도 4에 도시되어 있는 바, 이는 후술하기로 한다.
줌 검출이 끝나면 전체 비디오 시퀀스 중에서 줌 검출이 되지 않은 나머지 잔여 비디오 구간에 대하여 회전 검출단계(S304)를 수행하여 회전 카메라 움직임에 해당하는 회전 구간을 검출한다. 또한, 줌 검출단계와 회전 검출단계에서 줌과 회전 카메라 움직임으로 검출되지 않은 잔여 비디오 구간에 대하여 팬 검출단계(S305)에서 팬 카메라 움직임 검출을 수행한다. 마찬가지 방법으로 틸트 검출단계(S306)에서 틸트 카메라 움직임을, 이동객체구간 검출단계(S307)에서 이동객체로 정의된 카메라 움직임을, 정지구간 검출단계(S308)에서 정지구간으로 정의된 카메라 움직임을 각각 검출한다. 줌 검출단계 등 상기의 6가지 카메라 움직임 검출에 대한 상세 흐름도는 도 4에 도시되어 있는 바, 상세한 과정은 후술하기로 한다.
상기의 6가지 카메라 움직임 검출이 완료되면 나머지 잔여구간에 대해서 미세분할단계(S309)가 수행된다. 즉, 위의 과정에서 어느 카메라의 움직임으로도 검출되지 않은 나머지 잔여구간에 대해서, 상기의 검출된 카메라 움직임 구간 정보를 활용하여 잔여구간에 이웃한 카메라 움직임 구간으로 적절히 분류하여 최종적으로 전체 비디오 시퀀스를 카메라 움직임에 따라서 분할한다. 즉, 전체 비디오 시퀀스가 동일한 카메라 움직임을 갖는 비디오 구간으로 분할된다.
미세분할단계(S309)에서 잔여구간을 처리하는 과정은 다음과 같다. 모든 카메라 움직임 검출이 완료된 후 잔여구간이 생기는 이유는 크게 다음과 같은 경우이다. 임의의 카메라 움직임은 미미한 크기의 움직임으로 시작하고 끝나는 경우가 일반적인데, 이 경우 검출을 위하여 설정한 임계치보다 작은 미미한 크기의 카메라 움직임을 갖는다. 따라서, 카메라 움직임의 시작과 끝 부분에 해당하는 구간이 검출되지 않고 잔여구간으로 남는다. 또 다른 경우는 임의의 카메라 움직임이 진행되는 동안 카메라 움직임의 크기가 가변적이어서 중간 구간에 잠시 카메라 움직임을 잠시 멈추거나 크기가 미미해져서 검출되지 않은 경우이다. 또는 시간구간 임계치보다 작은 아주 짧은 시간구간의 카메라 움직임이 발생하는 경우이다. 이와 같은 경우를 고려하여 미세분할을 위한 다음과 같은 잔여구간 처리과정을 진행한다.
먼저, 잔여구간에 이웃한 앞뒤의 구간이 동일한 카메라 움직임으로 검출된 경우 그 잔여구간은 이웃한 카메라 움직임으로 분류한다. 즉, 이웃한 구간에 포함된다. 다음, 잔여구간에 이웃한 앞 구간이 정지구간이고 뒤 구간이 임의의 카메라 움직임으로 분류된 경우이거나 앞 구간이 임의의 카메라 움직임 구간이고 뒤 구간이 정지구간일 경우, 이웃한 카메라 움직임 구간에 포함시킨다.
다음, 잔여구간이 앞 뒤 서로 다른 종류의 카메라 움직임 구간과 이웃한 경우 잔여구간을 앞 뒤 두 구간으로 나누고, 나누어진 앞의 잔여구간은 이웃한 앞 구간의 카메라 움직임으로 분류하고 뒤의 잔여구간은 이웃한 뒤의 카메라 움직임으로 분류한다.
도 4는 본 발명의 한 실시예에 따른 각 종류의 카메라 움직임 검출과정의 상세 동작 흐름도이다. 도 4의 각 종류의 카메라 움직임 검출과정에서는, 각 종류의 카메라 움직임에 해당하는 변환된 어파인 움직임 파라미터 시퀀스와 어파인 파라미터 시퀀스를 입력받아 각 해당 움직임을 검출한 후 해당 움직임을 갖는 카메라 움직임 검출구간을 출력한다.
먼저, 검출대상 구간 설정단계(S401)에서는 검출하고자 하는 카메라 움직임의 검출을 수행할 대상 비디오 구간을 설정한다. 가장 먼저 검출을 수행하는 줌 검출의 경우 검출 대상은 입력 비디오 시퀀스의 전 구간이 검출 대상이 된다. 다음에 수행하는 회전 검출의 검출 대상 비디오 구간은 줌으로 검출된 구간을 제외한 나머지 구간이 된다. 동일한 방법으로 연이은 팬, 틸트, 이동객체구간, 정지구간 검출의 검출대상 구간을 설정한다.
다음, 어파인 파라미터 유효성 판정단계(S402)에서는 줌 검출과 회전 검출 시에만 수행한다. 수학식 4에서, 줌 검출에 사용되는 변환된 어파인 파라미터 div는 1/2(a2+a6)로 주어지는데, 이때 a2과 a6의 부호가 다르면 줌이 아닌 hyp1으로 표현되는 정상적인 카메라 움직임이 야기할 수 없는 움직임 벡터장을 표현한다. 따라서, 임계화 이전에의 부호를 확인하여 서로 다른 부호를 갖는 프레임은 줌 검출에서 제외되도록 div 값을 0으로 한다. 회전 검출의 경우, 수학식 4에서 회전 검출에 사용되는 변환 어파인 파라미터 rot는 1/2(a5-a3)로 주어지는데, 부호가 같은 경우는 hyp2에 해당함으로 a3와 a5의 부호가 같은 프레임은 rot를 0으로 하여 검출되지 않도록 한다.
다음, 변환 파라미터 임계화단계(S403)에서는 검출하고자 하는 카메라 움직임에 해당하는 변환된 어파인 파라미터를 임계화하여 각 프레임에 대한 검출을 수행한다. 줌 검출과 회전 검출은 각각 div와 rot의 절대값을 선형변수 임계값 Tlin와 비교하여, 크면 그 프레임이 각각 줌과 회전의 카메라 움직임을 포함하는 것으로 판정하고, 작으면 해당 움직임이 없는 것으로 판정하고 div 값을 0으로 설정한다.
팬 검출과 틸트 검출은 위에서와 마찬가지 방법으로 각각 pan과 tilt의 절대값을 이동변수 임계값 Ttr로 임계화한다. 이동객체구간 검출은 hyp의 절대값을 선형변수 임계치 Tlin로 임계화한다. 즉, hyp의 절대값이 임계치보다 큰 경우 그 프레임을 이동객체 구간으로 판정한다. 정지구간 검출은 선형변수에 해당하는 div, rot, hyp의 각각의 절대값의 합이 2배의 Tlin보다 작고, 이동변수에 해당하는 pan과 tilt의 각각의 절대값의 합이 Ttr보다 작을 경우 정지구간으로 판정한다.
위의 단계 S401 내지 단계 S403에서, 프레임 레벨의 검출이 완료되면 그 출력은 하나의 움직임 검출에 대하여 각 프레임의 검출 결과가 포함된 시퀀스로 그 움직임으로 검출된 프레임은 해당 변환 어파인 파라미터의 값을 그대로 가지고, 검출되지 않은 프레임은 0의 값을 가지게 된다.
다음 시간방향 평탄화단계(S404)는 검출하고자 하는 특정 카메라 움직임에 대한 상기의 각 프레임 레벨의 움직임 검출이 완료되면 그 결과 시퀀스를 시간 방향으로 평탄화한다. 즉, 시간방향 평탄화는 각 카메라 움직임 종류별로 각각 수행한다. 시간방향 평탄화는 시간 방향의 저역통과필터링의 효과를 갖는 것으로 11 프레임 크기의 창을 두고 슬라이딩하면서 그 창내에 0의 값을 갖는 프레임들의 수가 창 크기의 반보다 큰 경우 그 창의 중심에 해당하는 프레임의 값을 0으로 교체하고, 그렇지 않으면 그 값을 그대로 유지한다. 이와 같은 시간방향 평탄화단계는 실제의 카메라 움직임이 시간적으로 높은 상관성을 갖는다는 사실을 이용하여 검출 결과의 프레임간의 급격한 변화를 줄여줌으로써 프레임 레벨에서의 오 검출 및 검출 실패의 오류를 보상한다.
다음, 시간구간 임계화단계(S405)는 실제의 카메라 움직임이 최소한 임의의 구간 이상 유지된다는 사실을 활용하여 특정 카메라 움직임을 포함하는 비디오 구간을 검출하고자 하는 단계이다. 시간방향 평탄화의 결과에서 특정 카메라 움직임으로 검출된 연속한 프레임 구간을 시간구간 임계값 Ttemp와 비교하여 임계값보다 큰 경우 그 구간을 특정 카메라 움직임 구간으로 검출한다(S406).
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, 압축된 비디오를 완전 복호화하지 않고 부분 복호화함으로써, 미세분할된 카메라 움직임을 검출할 수 있기 때문에 계산량은 감소하고 잡음에 강인한 안정적인 성능을 얻을 수 있다.
이러한 카메라 움직임 검출 및 분할 정보는 내용기반 비디오 색인에 활용할수 있으며, 카메라 움직임 정보는 하이라이트 검출을 통한 비디오 요약, 카메라 움직임을 쿼리로 한 비디오 검색 및 브라우징, 편집 등에 활용할 수 있는 효과가 있다.
Claims (21)
- 블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터 카메라 움직임을 자동으로 검출하고, 동일한 카메라 움직임을 갖는 구간으로 분할하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법에 있어서,상기 압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와;상기 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계;상기 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계;상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 1 항에 있어서,상기 검출된 카메라 움직임을 이용하여 동일한 카메라 움직임을 갖는 비디오 구간으로 분할하는 비디오 분할단계를 더 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 1 항 또는 제 2 항에 있어서,상기 압축 비트열 부분 복호화단계는,상기 블록 단위의 움직임 보상을 하는 압축방식으로 압축된 비디오 비트열을 입력받아 부분 복호화하여, 각 매크로블록마다 움직임 벡터 및 움직임 벡터장 구성에 사용하는 관련정보를 추출하여 출력하는 단계이며,상기 관련정보에는, 각 픽쳐의 픽쳐 부호화 형태(picture coding type)를 나타내는 픽쳐부호화형태(picture_coding_type)와, 각 매크로블록의 부호화 형태(MB type)를 나타내는 매크로블록형태(macroblock_type)와, 각 매크로블록의 움직임 형태가 필드기반예측(field_based_prediction)에 의한 필드움직임벡터 (field_motion_vector)인지 혹은 프레임기반예측(frame_based_prediction)에 의한 프레임움직임벡터(frame_motion_vector)인지를 나타내는 움직임형태(motion_type), 그리고 각 필드의 움직임 추정 기준필드가 top field 인지 bottom field 인지를 나타내는 움직임벡터필드형태(motion_vector_field_select[r][s])가 포함된 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 3 항에 있어서,상기 움직임 벡터장 구성단계는,상기 압축 비트열 부분 복호화단계에서 출력되는 움직임 벡터와, 픽쳐부호화형태, 매크로블록형태, 움직임형태, 및 움직임벡터필드형태와 같은 관련정보를 입력받아, 임의의 프레임의 각 매크로블록마다 예측방향이 순방향이고 예측거리가 한 프레임 간격에 해당하는 프레임기반예측의 프레임움직임벡터를 구하여, 상기 프레임의 움직임 벡터장을 구하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 4 항에 있어서,상기 움직임 벡터장 구성단계는,상기 임의의 프레임 내의 임의의 매크로블록이 인트라 매크로블록 또는 no_MC 매크로블록이면 상기 매크로블록의 움직임 벡터를 0벡터로 설정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 4 항에 있어서,상기 움직임 벡터장 구성단계는,상기 임의의 프레임 내의 임의의 매크로블록이 인트라 매크로블록 또는 no_MC 매크로블록이 아니면, 상기 압축 비트열의 움직임 벡터를 화소 단위로 변환하는 제 1 단계와,상기 움직임 벡터의 상기 움직임형태를 파악하여 프레임기반예측에 의한 프레임움직임벡터로 변환하는 제 2 단계,상기 움직임 벡터의 예측 방향을 파악하여 순방향 예측 움직임 벡터로 변환하는 제 3 단계, 및상기 움직임 벡터의 예측 거리를 한 프레임간격으로 정형화하여 움직임 벡터를 구하는 제 4 단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 6 항에 있어서,상기 제 2 단계의 필드움직임벡터를 프레임움직임벡터로 변환하는 과정은,두 필드의 필드움직임벡터를 각각 아래의 수식에 적용하여 프레임움직임벡터로 변환하는 제 1 소단계와,상기 제 1 소단계에서 각각 구해진 두 개의 프레임움직임벡터를 산술평균하여 최종 프레임움직임벡터를 구하는 제 2 소단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.〈수식〉
- 제 6 항에 있어서,상기 제 3 단계의 역방향 예측 움직임 벡터를 순방향 예측 움직임 벡터로 변환하는 과정은,상기 매크로블록형태 정보로부터 상기 움직임 벡터의 예측방향을 파악하고, 역방향일 경우에는 부호만 반대로 하고, 양방향일 경우에는 순방향의 움직임 벡터를 취하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,상기 프레임을 구성하는 모든 매크로블록에 대하여 상기 제 1 단계 내지 제 4 단계를 수행하여 움직임 벡터를 구하여 상기 프레임의 초기 움직임 벡터장을 구하고, 상기 구해진 움직임 벡터의 가로 및 세로 성분의 크기를 미디언 필터링하여 잡음을 제거하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 1 항 또는 제 2 항에 있어서,상기 어파인 움직임 모델 파라미터 추정단계는,상기 각 프레임의 움직임 벡터장으로부터 추정한 어파인 파라미터를 물리적인 카메라 움직임을 표현하기 위한 파라미터(pan, tilt, div, rot, hyp1, hyp2)로 변환하는 어파인 파라미터 변환단계와;상기 변환된 어파인 파라미터 중 선형변수(div, rot, hyp)에 대한 임계값과 이동변수(pan, tilt)에 대한 임계값, 그리고 시간구간 레벨 검출을 위한 시간구간 임계값을 설정하는 임계값 설정단계; 및상기 어파인 파라미터와 변환된 어파인 파라미터를 입력하여 줌 카메라 움직임, 회전 카메라 움직임, 팬 카메라 움직임, 틸트 카메라 움직임, 이동객체구간, 정지구간을 갖는 비디오 구간을 각각 검출하여, 줌 구간, 회전 구간, 팬 구간, 틸트 구간, 이동객체구간, 정지구간으로 출력하는 비디오 구간 검출단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 10 항에 있어서,상기 비디오 구간 검출단계 후 나머지 잔여구간이 존재하면, 임의의 잔여구간을 해당 잔여구간에 이웃한 구간으로 적절하게 분류하여 전체 비디오를 카메라 움직임에 따라 미세분할하는 미세분할단계를 더 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 11 항에 있어서,상기 미세분할단계는,상기 잔여구간에 이웃한 두 구간이 동일한 카메라 움직임으로 검출된 경우에는 상기 잔여구간을 상기 이웃한 구간의 카메라 움직임으로 분류하고,상기 잔여구간에 이웃한 한 구간이 정지구간이고 다른 구간이 임의의 카메라 움직임으로 검출된 경우에는 상기 잔여구간을 상기 이웃한 다른 구간의 임의의 카메라 움직임으로 분류하고,상기 잔여구간에 이웃한 두 구간이 정지구간이 아닌 서로 다른 종류의 카메라 움직임 구간으로 검출된 경우에는 상기 잔여구간을 두 구간으로 나누고 각각 이웃한 구간의 카메라 움직임으로 분류하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 10 항에 있어서,상기 임계값 설정 단계는,상기 선형변수 임계값과 이동변수 임계값은 각 카메라 움직임에 의하여 야기되는 움직임 벡터장을 눈으로 관찰하여 사람이 인지할 수 있는 최소의 값을 설정하고,상기 시간구간 레벨 검출을 위한 시간구간 임계값으로는 카메라 움직임이 급격한 영상과 카메라 움직임이 완만한 영상에 따라 각각 다른 값으로 설정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 10 항에 있어서,상기 어파인 파라미터 변환단계는,상기 각 프레임의 어파인 파라미터를 아래의 수식에 적용하여 변환하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.〈수식〉여기서, 변형된 파라미터 pan, tilt, div, rot 는 각각 카메라 움직임의 팬(pan or horizontal tracking), 틸트(tilt or vertical tracking), 줌(zoom or forward/backward tracking), 회전에 의해서 야기되는 움직임 벡터장을 나타내고, hyp1과 hyp2는 정상적인 카메라 움직임에 의해서 발생할 수 없는 움직임 벡터장을 나타낸다.
- 제 14 항에 있어서,상기 비디오 구간 검출단계는,전체 비디오 중 카메라 움직임의 검출을 수행할 비디오 구간을 설정하는 검출대상구간 설정단계와,상기 어파인 파라미터를 이용하여 정상적인 카메라 움직임이 야기할 수 없는 경우를 검출하여 어파인 파라미터의 유효성을 판정하는 단계,상기 검출하고자 하는 카메라 움직임에 해당하는 변환된 어파인 파라미터를 임계값과 비교하여 각 프레임에 해당하는 카메라 움직임을 검출하는 변환 파라미터 임계화단계,상기 프레임에 검출된 카메라 움직임의 오검출 및 검출실패를 보상하기 위한 시간방향 평탄화단계,상기 프레임에 검출된 카메라 움직임이 상기 시간구간 임계값 이상의 시간동안 지속되는 지를 확인하는 시간구간 임계화단계, 및상기 카메라 움직임이 지속된 구간을 해당 카메라 움직임 구간으로 검출하는 움직임 검출단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 15 항에 있어서,상기 검출대상구간 설정단계는,첫 번째 카메라 움직임 구간을 검출할 경우에는 전체 비디오 구간을 검출대상구간으로 설정하고, 그 후부터는 앞에서 이미 검출된 카메라 움직임 구간을 제외한 나머지 구간을 검출대상구간으로 설정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 15 항에 있어서,상기 어파인 파라미터 유효성 판정단계는,상기 프레임의 변환된 어파인 파라미터 div를 결정하는 어파인 파라미터 a2, a6의 부호가 서로 다르면 상기 div를 0으로 세팅하여 줌 검출에서 제외되도록 하고,상기 프레임의 변환된 어파인 파라미터 rot를 결정하는 어파인 파라미터 a5,a3의 부호가 서로 같으면 상기 rot를 0으로 세팅하여 회전 검출에서 제외되도록 하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 15 항에 있어서,상기 변환 파라미터 임계화단계는,상기 변환된 어파인 파라미터 div와 rot의 절대값을 선형변수 임계값과 각각 비교하여 상기 변환된 어파인 파라미터의 절대값이 크면 상기 프레임이 줌 카메라 움직임 또는 회전 카메라 움직임을 포함한 것으로 판정하고,상기 변환된 어파인 파라미터 pan과 tilt의 절대값을 이동변수 임계값과 비교하여 상기 변환된 어파인 파라미터의 절대값이 크면 상기 프레임이 팬 카메라 움직임 또는 틸트 카메라 움직임을 포함한 것으로 판정하고,상기 변환된 어파인 파라미터 hyp의 절대값을 선형변수 임계값과 비교하여 hyp의 절대값이 크면 상기 프레임을 이동객체구간으로 판정하고,상기 변환된 어파인 파라미터 중 선형변수(div, rot, hyp)의 각각의 절대값의 합이 2배의 선형변수 임계값보다 작고 이동변수(pan, tilt)의 각각의 절대값의 합이 이동변수 임계값보다 작으면 상기 프레임을 정지구간으로 판정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 15 항에 있어서,상기 시간방향 평탄화단계는,각 프레임에 대한 카메라 움직임 검출이 완료되면, 임의의 프레임 크기의 창으로 시간방향으로 슬라이딩하면서 상기 창 내에 0의 값을 갖는 프레임들의 수가 창 크기의 반보다 크면 상기 창의 중심에 해당하는 프레임의 값을 0으로 교체함으로써, 시간방향으로 저역통과 필터링하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 제 15 항에 있어서,상기 시간구간 임계화단계는,상기 프레임에 검출된 카메라 움직임이 지속되는 시간을 상기 시간구간 임계값과 비교하여 임계값보다 큰 경우 그 구간을 해당 카메라 움직임의 구간으로 검출하여, 카메라 움직임의 시간적인 연속성을 고려한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.
- 컴퓨터에,압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와;상기 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계;상기 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계;상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계; 및상기 검출된 카메라 움직임을 이용하여 동일한 카메라 움직임을 갖는 비디오 구간으로 분할하는 비디오 분할단계를 더 포함한 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000044407A KR100343780B1 (ko) | 2000-07-31 | 2000-07-31 | 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000044407A KR100343780B1 (ko) | 2000-07-31 | 2000-07-31 | 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020010847A KR20020010847A (ko) | 2002-02-06 |
KR100343780B1 true KR100343780B1 (ko) | 2002-07-20 |
Family
ID=19681097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000044407A KR100343780B1 (ko) | 2000-07-31 | 2000-07-31 | 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100343780B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101949676B1 (ko) * | 2017-12-20 | 2019-02-19 | 이노뎁 주식회사 | 압축영상에 대한 신택스 기반의 객체 침입 감지 방법 |
KR102042397B1 (ko) * | 2018-07-30 | 2019-11-08 | 이노뎁 주식회사 | 압축영상에 대한 신택스 기반의 히트맵 생성 방법 |
US12094134B2 (en) | 2021-08-04 | 2024-09-17 | Hyundai Motor Company | Electronic device and method for tracking object thereof |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2497507B (en) * | 2011-10-14 | 2014-10-22 | Skype | Received video stabilisation |
KR102187376B1 (ko) * | 2018-12-06 | 2020-12-04 | 이노뎁 주식회사 | 딥러닝 이미지 분석과 연동하는 신택스 기반의 선별 관제 제공 방법 |
-
2000
- 2000-07-31 KR KR1020000044407A patent/KR100343780B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101949676B1 (ko) * | 2017-12-20 | 2019-02-19 | 이노뎁 주식회사 | 압축영상에 대한 신택스 기반의 객체 침입 감지 방법 |
WO2019124635A1 (ko) * | 2017-12-20 | 2019-06-27 | 이노뎁 주식회사 | 압축영상에 대한 신택스 기반의 객체 침입 감지 방법 |
KR102042397B1 (ko) * | 2018-07-30 | 2019-11-08 | 이노뎁 주식회사 | 압축영상에 대한 신택스 기반의 히트맵 생성 방법 |
WO2020027511A1 (ko) * | 2018-07-30 | 2020-02-06 | 이노뎁 주식회사 | 압축영상에 대한 신택스 기반의 히트맵 생성 방법 |
US12094134B2 (en) | 2021-08-04 | 2024-09-17 | Hyundai Motor Company | Electronic device and method for tracking object thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20020010847A (ko) | 2002-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8064522B2 (en) | Motion-vector detecting device, motion-vector detecting method, and computer program | |
Kim et al. | Efficient camera motion characterization for MPEG video indexing | |
US8605786B2 (en) | Hierarchical motion vector processing method, software and devices | |
US7046731B2 (en) | Extracting key frames from a video sequence | |
US5911008A (en) | Scheme for detecting shot boundaries in compressed video data using inter-frame/inter-field prediction coding and intra-frame/intra-field coding | |
US7469010B2 (en) | Extracting key frames from a video sequence | |
US20070041445A1 (en) | Method and apparatus for calculating interatively for a picture or a picture sequence a set of global motion parameters from motion vectors assigned to blocks into which each picture is divided | |
JP2008518331A (ja) | リアルタイムビデオ動き解析を通じたビデオコンテンツ理解 | |
KR100634671B1 (ko) | 고정밀도의 실시간 점진적 장면경계 검출기 및 그 방법 | |
KR19990015907A (ko) | 움직임 벡터 부호화 방법 및 그 장치 | |
WO2003102871A2 (en) | Unit for and method of estimating a motion vector | |
US20070104382A1 (en) | Detection of local visual space-time details in a video signal | |
KR100343780B1 (ko) | 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및분할방법 | |
US8804830B2 (en) | Method for performing motion estimation | |
US5612745A (en) | Method and apparatus for detecting occlusion | |
US8582882B2 (en) | Unit for and method of segmentation using average homogeneity | |
CN101001380A (zh) | 视频编码的移动估计方法 | |
JPH10224741A (ja) | 動画像のカット点検出方法 | |
JPH118854A (ja) | カット点検出方法及び装置 | |
JP4408330B2 (ja) | 動画像内のロールテロップ検出装置および記録媒体 | |
KR20030024354A (ko) | 능동 카메라 환경에서의 고속 움직임 검출을 위한 배경보상 장치 및 방법 | |
CN116614631B (zh) | 视频处理方法、装置、设备及介质 | |
KR101787004B1 (ko) | 표본 픽셀 기반 움직임 추정장치 및 방법 | |
Ozcelik et al. | Detection and encoding of occluded areas in very low bit rate video coding | |
EP1755345A2 (en) | Iterative global motion estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130527 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |